Phase Field Requirements Traceability Matrix

This template follows INL template TEM-214, "IT System Requirements Traceability Matrix."

commentnote

This document serves as an addendum to Framework Requirements Traceability Matrix and captures information for RTM specific to the Phase Field module.

Introduction

Minimum System Requirements

In general, the following is required for MOOSE-based development:

  • GCC/Clang C++17 compliant compiler (GCC @ 7.5.0, Clang @ 10.0.1 or greater)

    • Note: Intel compilers are not supported.

  • Memory: 8 GBs of RAM for optimized compilation (16 GBs for debug compilation), 2 GB per core execution

  • Processor: 64-bit x86 or ARM64 (specifically, Apple Silicon)

  • Disk: 30GB

  • A POSIX compliant Unix-like operating system, including the two most recent versions of MacOS and most current versions of Linux.

  • Git version control system

  • Python @ 3.7 or greater

System Purpose

The purpose of the MOOSE Phase Field module is to provide the foundational capabilities for phase field modeling of microstructure evolution. It implements common single- and multi-phase phase field formalisms and enables the modeling of multicomponent systems. It is intended to both provide a basic set of capabilities and also be readily extensible by applications based on it to represent specialized material behavior.

System Scope

The MOOSE Phase Field module provides an extensible set of capabilities for solving for microstructural evolution of multi-phase and multi-component systems using conserved and non-conserved order parameters. It provides a set of C++ classes that define interfaces for MOOSE Kernel objects that implement various common phase field formulations including polycrystalline grain growth models. These models support one-, two-, and three-dimensional simulation domains.

For modeling nucleation events the module includes a discrete nucleation system that supports nucleation based on order parameter pinning and artificial driving force insertion which enable nucleation events in conserved and non-conserved order parameter fields. Support is provided for physics informed timestepping and mesh refinement.

Utilities for free energy extraction from thermodynamic databases are provided, as well as a phase field model that supports sublattice concentration models found in thermodynamic databases.

The module also comprises a set of initial conditions to set up common microstructures used in phase field modeling.

Assumptions and Dependencies

The Phase Field module is developed using MOOSE and can itself be based on various MOOSE modules, as such the RTM for the Phase Field module is dependent upon the files listed at the beginning of this document.

Pre-test Instructions/Environment/Setup

Ideally all testing should be performed on a clean test machine following one of the supported configurations setup by the test system engineer. Testing may be performed on local workstations and cluster systems containing supported operating systems.

The repository should be clean prior to building and testing. When using "git" this can be done by doing a force clean in the main repository and each one of the submodules:


git clean -xfd
git submodule foreach 'git clean -xfd'

All tests must pass in accordance with the type of test being performed. This list can be found in the Software Test Plan.

Changelog Issue Revisions

Errors in changelog references can sometimes occur as a result of typos or conversion errors. If any need to be noted by the development team, they will be noted here.

The changelog for all code residing in the MOOSE repository is located in the MOOSE RTM.

System Requirements Traceability

Functional Requirements

  • phase_field: Chsplitchemicalpotential
  • 12.3.1

    Specification(s): simple_diffusion

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Deformedgrain
  • 12.4.1

    Specification(s): DeformedGrain

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Ebsdmeshgenerator
  • 12.5.1The system shall detect invalid or inconsistent EBSD file parameters
    1. if the EBSD data step size is zero,
    2. if the EBSD grid size is zero,
    3. if the EBSD data is zero dimensional,
    4. if the requested pre_refine levels are not possible

    Specification(s): errors/zerostep, errors/zerosize, errors/zerodim, errors/norefine

    Design: EBSDMeshGenerator

    Issue(s): #19150

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • phase_field: Gbanisotropy
  • 12.6.1A material shall be provided to compute anisotropic grain boundary energies and mobilities.

    Specification(s): test1

    Design: GBAnisotropy

    Issue(s): #4580

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.6.2A material shall be provided to compute anisotropic grain boundary energies and mobilities.

    Specification(s): test2

    Design: GBAnisotropy

    Issue(s): #4580

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.6.3A material shall be provided to compute anisotropic grain boundary energies and mobilities with an inclination dependence.

    Specification(s): test3

    Design: GBAnisotropy

    Issue(s): #4580

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.6.4The anisotropic grain boundary system shall allow the user to specify grain boundary widths independently for each interface between grains.

    Specification(s): testwidth1

    Design: GBWidthAnisotropy

    Issue(s): #8079

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Grain Velocity Computation
  • 12.8.1The system shall be able to provide a velocity vector field indicating grain boundary movement for visualization purposes.

    Specification(s): GrainBoundaryVelocityTest

    Design: GrainBoundaryVelocity

    Issue(s): #14887

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Maskedbodyforce
  • 12.11.1

    Specification(s): test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Multismoothcircleic
  • 12.13.1We shall be able to generate multiple smooth circle initial conditions with uniform radius variation type

    Specification(s): multi_test

    Design: MultiSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.2We shall be able to generate multiple smooth circle initial conditions with normal radius variation type

    Specification(s): multi_normal_test

    Design: MultiSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.3We shall be able to produce a lattice of smooth circle initial conditions, allowing the circles to exist on the simulation cell boundaries and using a uniform radius variation type

    Specification(s): lattice_bounds

    Design: LatticeSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.4We shall be able to produce a lattice of smooth circle initial conditions, using a uniform radius variation type

    Specification(s): lattice_test

    Design: LatticeSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.5We shall be able to produce a lattice of smooth circle initial conditions using a normal radius variation type

    Specification(s): lattice_normal_test

    Design: LatticeSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.6We shall be able to create multiple SpecifiedSmoothCircleICs with a small invalue

    Specification(s): lattice_small_invalue_test

    Design: LatticeSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.13.7We shall be able to create several SpecifiedSmoothCircleICs with a standard invalue

    Specification(s): specified_test

    Design: SpecifiedSmoothCircleIC

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Nucleation
  • 12.14.1The nucleation material shall generate a free energy contribution proportional to the map value

    Specification(s): material

    Design: DiscreteNucleation

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.2The nucleation system shall insert nuclei in a manner independen of the domain decomposition and parallelization

    Specification(s): parallel

    Design: DiscreteNucleationInserter

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.14.3The nucleation system shall recoverable

    Specification(s): material_recover1

    Design: DiscreteNucleation

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): CheckFiles

    Prerequisite(s): 12.14.1

  • 12.14.4The nucleation system shall recoverable

    Specification(s): material_recover2

    Design: DiscreteNucleation

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 12.14.3

  • 12.14.5The nucleation system shall recoverable

    Specification(s): parallel_recover1

    Design: DiscreteNucleationInserter

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): CheckFiles

    Prerequisite(s): 12.14.2

  • 12.14.6The nucleation system shall recoverable

    Specification(s): parallel_recover2

    Design: DiscreteNucleationInserter

    Issue(s): #5472

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 12.14.5

  • 12.14.7The map shall provide the capability of defining soft interfaces for initial nuclei

    Specification(s): soft

    Design: DiscreteNucleationMap

    Issue(s): #5526

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.8The marker shall trigger refinement of the nucleus insertion area

    Specification(s): marker

    Design: DiscreteNucleationMarker

    Issue(s): #12099

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.9The nucleation time step porocessor shall return a timestep limit that can be applied to cut the simulation timestep as new nuclei are inserted

    Specification(s): timestep

    Design: DiscreteNucleationTimeStep

    Issue(s): #12104

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.14.10The nucleation data porocessor shall return the number of currently active nuclei or whether a change to the nucleus list has occurred

    Specification(s): data

    Design: DiscreteNucleationData

    Issue(s): #12114

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.14.11The nucleation auxkernel evaluates the nucleation map onto an elemental aux variable

    Specification(s): auxkernel

    Design: DiscreteNucleationAux

    Issue(s): #12114

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.12The nucleation force kernel returns a forcing function based on the nucleation map

    Specification(s): force

    Design: DiscreteNucleationAux

    Issue(s): #12114

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.13The discrete nucleation system shall provide a deterministic nucleus inserter that uses tabulated time and location data from a file. This test assigns fixed radius

    Specification(s): file

    Design: DiscreteNucleationFromFile

    Issue(s): #12262

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.14.14The discrete nucleation system shall provide a deterministic nucleus inserter that uses tabulated time and location data from a file. This test assigns variable radius

    Specification(s): file2

    Design: DiscreteNucleationFromFile

    Issue(s): #14544

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Polynomialfreeenergy
  • 12.15.1

    Specification(s): split_order4

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.15.2

    Specification(s): split_order6

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.15.3

    Specification(s): split_order8

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.15.4

    Specification(s): direct_order4

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.15.5

    Specification(s): direct_order6

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.15.6

    Specification(s): direct_order8

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Soretdiffusion
  • 12.17.1A temperature gradient driving force for diffusion shall be added to the split form of the Cahn-Hilliard equation.

    Specification(s): split

    Design: SoretDiffusion

    Issue(s): #5324

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.17.2A temperature gradient driving force for diffusion shall be added to the split form of the Cahn-Hilliard equation, where temperature is a coupled non-linear variable

    Specification(s): split_temp

    Design: SoretDiffusion

    Issue(s): #5324

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.17.3A temperature gradient driving force for diffusion shall be added to the non-split form of the Cahn-Hilliard equation.

    Specification(s): direct

    Design: SoretDiffusion

    Issue(s): #5324

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.17.4A temperature gradient driving force for diffusion shall be added to the non-split form of the Cahn-Hilliard equation, where temperature is a coupled non-linear variable

    Specification(s): direct_temp

    Design: SoretDiffusion

    Issue(s): #5324

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Splitch
  • 12.18.1

    Specification(s): test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.18.2

    Specification(s): forward_split

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Totalfreeenergy
  • 12.19.1We shall be able to calculate the free energy (with one variable) using an AuxKernel

    Specification(s): TotalFreeEnergy

    Design: TotalFreeEnergy

    Issue(s): #4413

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.19.2We shall be able to calculate the free energy (with two variables) using an AuxKernel

    Specification(s): 2var

    Design: TotalFreeEnergy

    Issue(s): #4413

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Actions
  • 12.20.1The phase field module shall provide an action to set up an Allen-Cahn problem

    Specification(s): Nonconserved_1var

    Design: NonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.2The NonconservedAction shall correctly set up Allen-Cahn problems with higher order elements

    Specification(s): Nonconserved_highorder

    Design: NonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.3The NonconservedAction shall correctly set up Allen-Cahn problems with variable dependent mobilities

    Specification(s): Nonconserved_variableL

    Design: NonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.4The NonconservedAction shall correctly set up Allen-Cahn problems with multiple order parameters

    Specification(s): Nonconserved_2vars

    Design: NonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.5The phase field module shall provide an action to set up a non-split Cahn-Hilliard problem

    Specification(s): conserved_direct_1var

    Design: ConservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.6The phase field module shall provide an action to set up a reverse split Cahn-Hilliard problem

    Specification(s): conserved_split_1var

    Design: ConservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.7The phase field module shall provide an action to set up a reverse split Cahn-Hilliard problem with higher order elements

    Specification(s): conserved_split_1var_high_order

    Design: ConservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.8The phase field module shall provide an action to set up a non-split Cahn-Hilliard problem with variable dependent mobilities

    Specification(s): conserved_direct_1var_variable_mob

    Design: ConservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.9The phase field module shall provide an action to set up a reverse split Cahn-Hilliard problem with variable dependent mobilities

    Specification(s): conserved_split_1var_variable_mob

    Design: ConservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.10The phase field module NonconservedAction and ConservedAction can be combined to construct a coupled Allen-Chan and split Cahn-Hilliard problem

    Specification(s): both_split_2vars

    Design: ConservedActionNonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.11The phase field module NonconservedAction and ConservedAction can be combined to construct a coupled Allen-Chan and non-split Cahn-Hilliard problem

    Specification(s): both_direct_2vars

    Design: ConservedActionNonconservedAction

    Issue(s): #9336

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.12The phase field module shall provide an action to set up a forward split Cahn-Hilliard problem

    Specification(s): conserved_forward_split_1var

    Design: ConservedAction

    Issue(s): #9378

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.13The phase field module shall provide an action to set up grain growth problems

    Specification(s): grain_growth

    Design: GrainGrowthAction

    Issue(s): #9485

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.14The action to set up grain growth problems shall be able to set up an AD version of the problem which yields the same results as the non-AD version

    Specification(s): ad_grain_growth

    Design: GrainGrowthAction

    Issue(s): #13539

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Prerequisite(s): 12.20.13

  • 12.20.15The action to set up grain growth problems shall be able to set up an AD version of the problem which yields the same results as the non-AD version

    Specification(s): ad_grain_growth-jac

    Design: GrainGrowthAction

    Issue(s): #13539

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

    Prerequisite(s): 12.20.14

  • 12.20.16The grain growth action shall have the ability to set up problems with a pinning particle

    Specification(s): grain_growth_with_c

    Design: GrainGrowthAction

    Issue(s): #9485

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.17The grain growth action shall have the ability to set up problems with a temperature gradient

    Specification(s): grain_growth_with_T_grad

    Design: GrainGrowthAction

    Issue(s): #9485

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.20.18The GrandPotentialAction shall have the ability to generate kernels

    Specification(s): grand_potential_kernels

    Design: GrandPotentialKernelAction

    Issue(s): #11386

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Ad Coupled Gradient Dot
  • 12.21.1The phase field module shall be able to compute the gradient of the rate of the variable using automatic differentiation.

    Specification(s): diffusionrate

    Design: Coupleable

    Issue(s): #16167

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • phase_field: Anisotropic Interfaces
  • 12.22.1

    Specification(s): kobayashi

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.22.2

    Specification(s): adkobayashi

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Anisotropic Mobility
  • 12.23.1A split Cahn-Hilliard kernel with an anisotropic mobility shall be provided

    Specification(s): split

    Design: CahnHilliardAniso

    Issue(s): #5596

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.23.2A non-split Cahn-Hilliard kernel with an anisotropic mobility shall be provided

    Specification(s): nonsplit

    Design: SplitCHWResAniso

    Issue(s): #5596

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.23.3A Diffusion kernel with an anisotropic material property diffusivity shall be provided

    Specification(s): diffusion

    Design: MatAnisoDiffusion

    Issue(s): #5841

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.23.4AD Diffusion with an anisotropic material property diffusivity shall agree with the non-AD version

    Specification(s): ad_diffusion

    Design: ADMatAnisoDiffusion

    Issue(s): #13632

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.23.5AD Diffusion with an anisotropic material property diffusivity shall have a perfect Jacobian

    Specification(s): ad_diffusion_jac

    Design: ADMatAnisoDiffusion

    Issue(s): #13632

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • phase_field: Conserved Noise
  • 12.25.1A system to supply a noise field with a domain integral of zero shall be provided

    Specification(s): integral

    Design: Langevin Noise

    Issue(s): #4763

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.25.2A system to supply a normal distributed noise field with a domain integral of zero shall be provided

    Specification(s): normal

    Design: Langevin Noise

    Issue(s): #4763

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.25.3A system to supply a uniformly distributed noise field with a domain integral of zero shall be provided

    Specification(s): uniform

    Design: Langevin Noise

    Issue(s): #4763

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.25.4A system to supply a normal distributed noise field with an amplitude mask and a domain integral of zero shall be provided

    Specification(s): integral_normal_masked

    Design: Langevin Noise

    Issue(s): #4763

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.25.5The conserved noise kernel shall error out with a helpful message if a 'seed' parameter is supplied

    Specification(s): seed_error

    Design: Langevin Noise

    Issue(s): #4763

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • phase_field: Feature Flood Test
  • 12.27.1

    Specification(s): spiral

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.27.2

    Specification(s): boxes

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.27.3

    Specification(s): l_shapes

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • phase_field: Flood Counter Aux Test
  • 12.29.1The feature flood counter system shall be able to track contiguous regions in a simulation domain, based on a vaiable value

    Specification(s): test

    Design: FeatureFloodCount

    Issue(s): #5077

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.29.2The feature flood counter system shall be able to track multiple variables at once, with features being sets of elements.

    Specification(s): test_elemental

    Design: FeatureFloodCount

    Issue(s): #5077

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.29.3The feature flood counter system shall be able to track multiple variables at once, with features being sets of nodes.

    Specification(s): simple

    Design: FeatureFloodCount

    Issue(s): #5077

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.29.4The feature flood counter aux kernel shall throw an error when acting on a variable that is incompatible with the flood counter mode.

    Specification(s): simple_error

    Design: FeatureFloodCountAux

    Issue(s): #5077

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 12.29.5The feature flood counter system shall be able to track multiple variables at once with periodic boundary conditions.

    Specification(s): two_var

    Design: FeatureFloodCount

    Issue(s): #5077

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.29.6The feature flood counter system shall be restrictable to a boundary.

    Specification(s): bound_restrict_single

    Design: FeatureFloodCount

    Issue(s): #11813

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.29.7The feature flood counter system shall be restrictable to multiple boundaries.

    Specification(s): bound_restrict_all

    Design: FeatureFloodCount

    Issue(s): #11813

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.29.8The system shall be able to set an elemental aux variable on elements belonging to a tracked feature to indicate whether the feature intersects a sepcified boundary.

    Specification(s): boundary_intersection

    Design: FeatureFloodCountFeatureFloodCountAux

    Issue(s): #23246

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.29.9The system shall report an error if a nodal variable is specified as the target for the intersection status.

    Specification(s): boundary_intersection_error

    Design: FeatureFloodCountFeatureFloodCountAux

    Issue(s): #23246

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • phase_field: Flood Counter Periodic Test
  • 12.30.1

    Specification(s): test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Functions
  • 12.32.1A function that returns a new periodic random field with a lower wavelength cut-off shall be provided.

    Specification(s): fourier_noise

    Design: FourierNoise

    Issue(s): #13316

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Grain Boundary Area
  • 12.33.1

    Specification(s): disc

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.33.2

    Specification(s): diagonal

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • phase_field: Grain Tracker Test
  • 12.36.1The system shall properly create and track grains when using the Nodal mode of the GrainTracker algorithm.

    Specification(s): test_nodal

    Design: GrainTracker

    Issue(s): #4765

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.2The system shall properly create and track grains when using the Elemental mode of the GrainTracker algorithm.

    Specification(s): test_elemental

    Design: GrainTracker

    Issue(s): #4881

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.3The PolycrystalVoronoi object shall create a valid coloring for a given number of grains and order parameters.

    Specification(s): test_advanced_op_assignment

    Design: GrainTracker

    Issue(s): #7005#9018

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.4The PolycrystalUserObject base class shall error when a valid coloring cannot be found when using the simple back-tracking algorithm.

    Specification(s): test_advanced_op_assignment_bt_error

    Design: Polycrystal Initial Conditions

    Issue(s): #7005#8804

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 12.36.5The PolycrystalUserObject base class shall error when a valid coloring cannot be found when using the built-in PETSc based stochastic algorithms.

    Specification(s): test_advanced_op_assignment_petsc_error

    Design: Polycrystal Initial Conditions

    Issue(s): #7005#8804

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 12.36.6The GrainTracker/PolycrystalUserObject base class shall support having only a grain halo bleeding over a periodic edge.

    Specification(s): test_halo_periodic_bc

    Design: GrainTracker

    Issue(s): #6713#8926

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.7The GrainTracker object shall support remapping order parameter values.

    Specification(s): test_remapping_serial

    Design: GrainTracker

    Issue(s): #1298

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.8The FeatureFloodCount object shall distribute the merging of features when the processor count exceeds number of order parameters for efficiency.

    Specification(s): test_remapping_parallel

    Design: GrainTracker

    Issue(s): #11805

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 12.36.7

  • 12.36.9The GrainTracker object shall support remapping order parameter values with nonlinear preconditioning.

    Specification(s): test_remapping_linearized_interface

    Design: GrainTracker

    Issue(s): #21938#21940#25419

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.10The GrainTracker object shall properly checkpoint unique grain information in serial.

    Specification(s): test_recovery_serial_part1

    Design: GrainTracker

    Issue(s): #6713#12427

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 12.36.11The GrainTracker object shall properly recover unique grain information in serial.

    Specification(s): test_recovery_serial_part2

    Design: GrainTracker

    Issue(s): #6713#12427

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 12.36.10

  • 12.36.12The GrainTracker object shall properly checkpoint unique grain information in parallel.

    Specification(s): test_recovery_parallel_part1

    Design: GrainTracker

    Issue(s): #6713#12427

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 12.36.13The GrainTracker object shall properly recover unique grain information in parallel.

    Specification(s): test_recovery_parallel_part2

    Design: GrainTracker

    Issue(s): #6713#12427

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 12.36.12

  • 12.36.14The GrainTracker shall support reusing the data structures from the PolycrystalUserObjectBase after the initial condition for efficiency.

    Specification(s): test_poly_ic_handoff

    Design: Polycrystal Initial Conditions

    Issue(s): #8810

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.15The GrainTracker shall support maintaining reserve order parameters for simulations where new grains can form.

    Specification(s): remapping_with_reserve

    Design: GrainTracker

    Issue(s): #7605

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.16The GrainTracker shall support beginning a simulation with no active grain structure.

    Specification(s): start_with_zero_grains

    Design: GrainTracker

    Issue(s): #12200

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.17The GrainTracker shall support reading EBSD data to create initial conditions where IDs in the data:
    1. are contigious starting at zero,
    2. are contigious starting not starting at zero,
    3. and arbitrary with gaps.

    Specification(s): ebsd/test_ebsd, ebsd/test_ebsd_no_zero_id, ebsd/test_ebsd_gap_id

    Design: Polycrystal Initial Conditions

    Issue(s): #5067#9060

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.18The GrainTracker shall support reading EBSD data to create initial conditions while supporting initial condition refinement.

    Specification(s): test_ebsd_adapt

    Design: Polycrystal Initial Conditions

    Issue(s): #5067#9060

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.19The GrainTracker shall support handling the splitting of a grain during a simulation.

    Specification(s): split_grain

    Design: GrainTracker

    Issue(s): #7875

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.20The AverageFeatureVolume Postprocessor shall calculate the average volume of each active grain in a simulation.

    Specification(s): changing_avg_volume

    Design: GrainTracker

    Issue(s): #11822

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.21The GrainTracker shall support a mode where it can continue even when it fails to remap for post-modern analysis and debugging.

    Specification(s): tolerate_remap_failure

    Design: GrainTracker

    Issue(s): #11843

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 12.36.22The system shall properly create PolycrystalICs with halo extensions (elements) when using DistributedMesh.

    Specification(s): distributed_poly_ic

    Design: Polycrystal Initial Conditions

    Issue(s): #12216

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.23The system shall properly handle a single feature or grain taking up the entire domain.

    Specification(s): one_grain

    Design: GrainTracker

    Issue(s): #12216

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.24The system shall grain tracking behavior even when the number of grains equals the number of order parameters when using mode Nodal.

    Specification(s): test_faux_nodal

    Design: GrainTracker

    Issue(s): #5453

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.25The system shall grain tracking behavior even when the number of grains equals the number of order parameters when using mode Elemental.

    Specification(s): test_faux_element

    Design: GrainTracker

    Issue(s): #5453

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.36.26The system shall output individual grain tracker volumes.

    Specification(s): grain_tracker_volume

    Design: GrainTracker

    Issue(s): #7769

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.27The system shall output individual grain tracker volumes assigning each element to only one grain (conservative).

    Specification(s): grain_tracker_volume_single

    Design: GrainTracker

    Issue(s): #7769

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.36.28The system shall output individual grain tracker volumes when the number of order parameters equals the number of grains.

    Specification(s): feature_flood_volume

    Design: GrainTracker

    Issue(s): #5453

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

    Prerequisite(s): 12.36.26

  • phase_field: Misc
  • 12.38.1A material shall be implemented that provides dt, time, and time step number as material properties

    Specification(s): timestepmaterial

    Design: TimeStepMaterial

    Issue(s): #7621

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.38.2A material shall be implemented that computes the magnitude of the gradient of a given variable

    Specification(s): variablegradientmaterial

    Design: VariableGradientMaterial

    Issue(s): #7621

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.38.3An interface kernel shall be implemented to match gradients between two subdomains

    Specification(s): interface_grad

    Design: InterfaceDiffusionFluxMatch

    Issue(s): #8211

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.38.4Demonstrate an InterfaceKernel (InterfaceDiffusionFlux) that can replace a pair of integrated DiffusionFluxBC boundary conditions.

    Specification(s): interface_flux

    Design: InterfaceDiffusionBoundaryTerm

    Issue(s): #8211

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.38.5An InterfaceKernel set shall be implemented that can enforce the componentwise continuity of the gradient of a variable using the Lagrange multiplier method

    Specification(s): equal_gradient_lagrange

    Design: EqualGradientLagrangeInterface

    Issue(s): #8211

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.38.6An initial condition shall be implemented that can set the value of a variable to the value of a function evaluated over a set of up to four coupled variables

    Specification(s): coupled_value_function_ic

    Design: CoupledValueFunctionIC

    Issue(s): #16405

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • phase_field: Phase Field Crystal
  • 12.41.1

    Specification(s): auxkernel

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.2The system shall support a tolerance approach to handing the natural log when using the Cahn-Hilliard RFF kernel

    Specification(s): tolerance_test

    Design: CHPFCRFF

    Issue(s): #5338

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.3The system shall support a cancelation approach to handing the natural log when using the Cahn-Hilliard RFF kernel

    Specification(s): cancelation_test

    Design: CHPFCRFF

    Issue(s): #5338

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.4The system shall support an expansion approach to handing the natural log when using the Cahn-Hilliard RFF kernel

    Specification(s): expansion_test

    Design: CHPFCRFF

    Issue(s): #5338

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.5

    Specification(s): PFCRFF_split_test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.6

    Specification(s): test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.7

    Specification(s): BCC_test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.41.8

    Specification(s): FCC_test

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Polycrystal Diffusion
  • 12.43.1The system shall provide a material to assign location specific diffusivities in a polycrysatal structure, compatible with multiphase switching functions

    Specification(s): polycrystal_void_diffusion

    Design: PolycrystalDiffusivity

    Issue(s): #19643

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.43.2The system shall provide a material to assign location specific diffusivities in a polycrysatal structure, compatible with any use-specified switching functions

    Specification(s): polycrystal_void_diffusion_parsed

    Design: PolycrystalDiffusivity

    Issue(s): #19643

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Reconstruction
  • 12.44.1The system shall output an RGB field that can be interpreted as either a component or a combined Euler angle given a grain structure.

    Specification(s): EulerAngleVariables2RGBAux

    Design: EulerAngleVariables2RGBAux

    Issue(s): #7332

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.2The system shall support reading EBSD data and initializing a Polycrystal grain structure with that data.

    Specification(s): 1phase_reconstruction

    Design: Reading EBSD Data

    Issue(s): #9110

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.3The system shall support reading EBSD data to initalized Polycrystal grain structures while supporting reduced order parameter IC assignment.

    Specification(s): 1phase_reconstruction_40x40

    Design: Reading EBSD Data

    Issue(s): #9110

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.4The system shall support reading EBSD data to initalized Polycrystal grain structures while supporting reduced order parameter IC assignment on a distributed mesh.

    Specification(s): 1phase_reconstruction_40x40_distributed

    Design: Reading EBSD Data

    Issue(s): #19150

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.5The system shall support reading EBSD data to initalized Polycrystal grain structures while supporting reduced order parameter IC assignment on a distributed mesh with pre-refinement to allow for adaptive coarsening.

    Specification(s): 1phase_reconstruction_40x40_distributed_pre_refine

    Design: Reading EBSD Data

    Issue(s): #19150

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.6The system shall support grain evolution when beginning from EBSD ICs.

    Specification(s): 1phase_evolution

    Design: Reading EBSD Data

    Issue(s): #9110

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.7The system shall support reading a single phase of EBSD data at a time to initialize PolycrystalICs.

    Specification(s): 2phase_reconstruction

    Design: Reading EBSD Data

    Issue(s): #9110#5920

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.8The system shall support reading a single phase of EBSD data at a time to initialize PolycrystalICs while supporting reduced order parameter IC assignment.

    Specification(s): 2phase_reconstruction2

    Design: Reading EBSD Data

    Issue(s): #9110#5920

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.9The system shall support reading EBSD data to initialize PolycrystalICs with discontinuous numbering.

    Specification(s): 2phase_reconstruction3

    Design: Reading EBSD Data

    Issue(s): #9110#5920

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.10The system shall support reading a single phase of EBSD data at a time to initialize PolycrystalICs while supporting reduced order parameter IC assignment and display the coloring.

    Specification(s): 2phase_reconstruction4

    Design: Reading EBSD Data

    Issue(s): #9110#5920

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.44.11The system shall support reading a single phase of EBSD data at a time to initialize PolycrystalICs and support regions within the domain that contain no grains at all.

    Specification(s): regions_without_grains

    Design: Reading EBSD Data

    Issue(s): #9110#5920

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 12.44.12The system shall support grain evolution when beginning from EBSD ICs and compute average orientation of non-uniformly oriented grains.

    Specification(s): average_orientation

    Design: EBSDReader

    Issue(s): #13869

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • phase_field: Slkks
  • 12.46.1The system shall be able to solve for sublattice concentrations in the SLKKS model.

    Specification(s): sublattice_concentrations

    Design: Sublattice KKS model

    Issue(s): #5862

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.46.2The system shall be able to solve for mass transport, phases, and sublattice concentrations simultaneously in the SLKKS model.

    Specification(s): full_solve

    Design: Sublattice KKS model

    Issue(s): #5862

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 12.46.3The system shall be able to compute the average value of a variable field weighted by a material property.

    Specification(s): weighted_average

    Design: WeightedVariableAverage

    Issue(s): #5862

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • phase_field: Solution Rasterizer
  • 12.47.1

    Specification(s): prepare

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 12.47.2

    Specification(s): test

    Collection(s): FUNCTIONAL

    Type(s): CheckFiles

    Prerequisite(s): 12.47.1

Usability Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

Performance Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

System Interface Requirements

No requirements of this type exist for this application, beyond those of its dependencies.

References

No citations exist within this document.