Reconstructed Discontinuous Galerkin System Requirements Specification
This template follows INL template TEM-135, "IT System Requirements Specification".
This document serves as an addendum to Framework System Requirements Specification and captures information for SRS specific to the Reconstructed Discontinuous Galerkin application.
Introduction
System Purpose
The MOOSE is a tool for solving complex coupled Multiphysics equations using the finite element method. MOOSE uses an object-oriented design to abstract data structure management, parallelism, threading and compiling while providing an easy to use interface targeted at engineers that may not have a lot of software development experience. MOOSE will require extreme scalability and flexibility when compared to other FEM frameworks. For instance, MOOSE needs the ability to run extremely complex material models, or even third-party applications within a parallel simulation without sacrificing parallelism. This capability is in contrast to what is often seen in commercial packages, where custom material models can limit the parallel scalability, forcing serial runs in the most severe cases. When comparing high-end capabilities, many MOOSE competitors target modest-sized clusters with just a few thousand processing cores. MOOSE, however, will be required to routinely executed on much larger clusters with scalability to clusters available in the top 500 systems (top500.org). MOOSE will also be targeted at smaller systems such as high-end laptop computers.
The design goal of MOOSE is to give developers ultimate control over their physical models and applications. Designing new models or solving completely new classes of problems will be accomplished by writing standard C++ source code within the framework's class hierarchy. Scientists and engineers will be free to implement completely new algorithms using pieces of the framework where possible, and extending the framework's capabilities where it makes sense to do so. Commercial applications do not have this capability, and instead opt for either a more rigid parameter system or a limited application-specific metalanguage.
System Scope
MOOSE's scope is to provide a set of interfaces for building FEM simulations. Abstractions to all underlying libraries are provided.
Solving coupled problems where competing physical phenomena impact one and other in a significant nonlinear fashion represents a serious challenge to several solution strategies. Small perturbations in strongly-coupled parameters often have very large adverse effects on convergence behavior. These adverse effects are compounded as additional physics are added to a model. To overcome these challenges, MOOSE employs three distinct yet compatible systems for solving these types of problems.
First, an advanced numerical technique called the JFNK method is employed to solve the most fully-coupled physics in an accurate, consistent way. An example of this would be the effect of temperature on the expansion or contraction of a material. While the JFNK numerical method is very effective at solving fully-coupled equations, it can also be computationally expensive. Plus, not all physical phenomena in a given model are truly coupled to one another. For instance, in a reactor, the speed of the coolant flow may not have any direct effect on the complex chemical reactions taking place inside the fuel rods. We call such models "loosely-coupled". A robust, scalable system must strike the proper balance between the various modeling strategies to avoid performing unnecessary computations or incorrectly predicting behavior in situations such as these.
MOOSE's Multiapp system will allow modelers to group physics into logical categories where MOOSE can solve some groups fully-coupled and others loosely-coupled. The Multiapp system goes even further by also supporting a "tightly-coupled" strategy, which falls somewhere between the "fully-coupled" and "loosely-coupled" approaches. Several sets of physics can then be linked together into logical hierarchies using any one of these coupling strategies, allowing for several potential solution strategies. For instance, a complex nuclear reactor model might consist of several tightly-coupled systems of fully-coupled equations.
Finally, MOOSE's Transfers system ties all of the physics groups contained within the Multiapp system together and allows for full control over the flow of information among the various groups. This capability bridges physical phenomena from several different complementary scales simultaneously. When these three MOOSE systems are combined, myriad coupling combinations are possible. In all cases, the MOOSE framework handles the parallel communication, input, output and execution of the underlying simulation. By handling these computer science tasks, the MOOSE framework keeps modelers focused on doing research.
MOOSE innovates by building advanced simulation capabilities on top of the very best available software technologies in a way that makes them widely accessible for innovative research. MOOSE is equally capable of solving small models on common laptops and the very biggest FEM models ever attempted—all without any major changes to configuration or source code. Since its inception, the MOOSE project has focused on both developer and computational efficiency. Improved developer efficiency is achieved by leveraging existing algorithms and technologies from several leading open-source packages. Additionally, MOOSE uses several complementary parallel technologies (both the distributed-memory message passing paradigm and shared-memory thread-based approaches are used) to lay an efficient computational foundation for development. Using existing open technologies in this manner helps the developers reduce the scope of the project and keeps the size of the MOOSE code base maintainable. This approach provides users with state-of-the-art finite element and solver technology as a basis for the advanced coupling and solution strategies mentioned previously.
MOOSE's developers work openly with other package developers to make sure that cutting-edge technologies are available through MOOSE, providing researchers with competitive research opportunities. MOOSE maintains a set of objects that hide parallel interfaces while exposing advanced spatial and temporal coupling algorithms in the framework. This accessible approach places developmental technology into the hands of scientists and engineers, which can speed the pace of scientific discovery.
System Overview
System Context
MOOSE is a command-line driven application. This is typical for a high-performance software that is designed to run across several nodes of a cluster system. As such, all of the usage of the software is through any standard terminal program generally available on all supported operating systems. Similarly, for the purpose of interacting through the software, there is only a single user, "the user", which interacts with the software through the command-line. MOOSE does not maintain any back-end database or interact with any system daemons. It is a executable, which may be launched from the command line and writes out various result files as it runs.
Figure 1: Usage of MOOSE and MOOSE-based applications.
System Functions
Since MOOSE is a command-line driven application, all functionality provided in the framework is operated through the use of standard UNIX command line flags and the extendable MOOSE input file. The framework is completely extendable so individual design pages should be consulted for specific behaviors of each user-defined object.
User Characteristics
Framework Developers: These are the core developers of the framework. They will be responsible for following and enforcing the appropriate software development standards. They will be responsible for designing, implementing and maintaining the software.
Developers: A Scientist or Engineer that utilizes the framework to build his or her own application. This user will typically have a background in modeling and simulation techniques and/or numerical analysis but may only have a limited skill-set when it comes to object-oriented coding and the C++ language. This is our primary focus group. In many cases these developers will be encouraged to give their code back to the framework maintainers.
Analysts: These are users that will run the code and perform various analysis on the simulations they perform. These users may interact with developers of the system requesting new features and reporting bugs found and will typically make heavy use of the input file format.
Assumptions and Dependencies
The Reconstructed Discontinuous Galerkin application is developed using MOOSE and is based on various modules, as such the SRS for Reconstructed Discontinuous Galerkin is dependent upon the files listed at the beginning of this document.
References
- ISO/IEC/IEEE 24765:2010(E).
Systems and software engineering—Vocabulary.
first edition, December 15 2010.[BibTeX]
- D. F. Griffiths.
The `No Boundary Condition' outflow boundary condition.
International Journal of Numerical Methods in Fluids, 24(4):393–411, 1997.
URL: http://tinyurl.com/y77au2k.[BibTeX]
- ASME NQA-1.
ASME NQA-1-2008 with the NQA-1a-2009 addenda: Quality Assurance Requirements for Nuclear Facility Applications.
first edition, August 31 2009.[BibTeX]
Definitions and Acronyms
This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.
Definitions
- Verification: (1) The process of: evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (2) Formal proof of program correctness (e.g., requirements, design, implementation reviews, system tests) (24765:2010(E), 2010).
Acronyms
Acronym | Description |
---|---|
FEM | Finite Element Method |
INL | Idaho National Laboratory |
JFNK | Jacobian-Free Newton-Krylov |
LGPL | GNU Lesser General Public License |
MOOSE | Multiphysics Object Oriented Simulation Environment |
NQA-1 | Nuclear Quality Assurance Level 1 |
POSIX | Portable Operating System Interface |
SRS | Software Requirement Specification |
System Requirements
- A POSIX compliant Unix including the two most recent versions of MacOS and most current versions of Linux. - 4 GB of RAM for optimized compilation (8 GB for debug compilation), 2 GB per core execution - 100 GB disk space - C++17 compatible compiler (GCC, Clang) - Python 3.7+ - Git
Functional Requirements
- rdg: Actions
- 11.1.1The system shall allow the shortcut syntax specifying an AuxKernel
- nested under an AuxVariable, and
- it shall produce the same output as with the standard syntax.
- 11.1.2The system shall error if the supplied order of scalar auxiliary variable is of an unknown order.
- 11.1.3The system shall support calculations with an auxiliary scalar variable represented with a 21st order monomial function.
- 11.1.4The system shall report an informative error when object parameters are constructed using legacy methods
- 11.1.5The system shall be capable of reporting
Action
object dependencies. - 11.1.6The system shall be capable of reporting
Action
object task information. - 11.1.7The system shall support the detailed on-screen output of all of the Reporters that were declared and requested, including type, producer, context, and consumers.
- 11.1.8The system shall be able to retrieve other
Action
objects from within anotherAction
object. - 11.1.9The Action system shall allow
Action
objects to create otherAction
objects. - 11.1.10The Action system shall allow the creation of
Action
objects with multiple tasks.
- rdg: Adaptivity
- 11.2.1The Adaptivity system shall allow for multiple mesh adaptivity steps per timestep.
- 11.2.2The Adaptivity system shall support mesh adaptivity during initial setup.
- 11.2.3The Adaptivity system shall support marking elements for refinement during initial setup using a different marker than used during execution.
- 11.2.4The Adaptivity system shall support execution at every n timestep.
- 11.2.5The Adaptivity system shall be capable of restricting the element refinement level.
- 11.2.6The Adaptivity system shall allow for
Marker
objects to be recomputed with each adaptivity cycle. - 11.2.7The system shall support initial uniform mesh refinement within a subdomain for a steady-state calculation.
- rdg: Auxkernels
- 11.3.1The system shall include the ability to set the value of an array variable using a function.
- 11.3.2The system shall provide a way to convert a component of an array variable to a standard variable.
- 11.3.3The system shall support auxiliary calculations for scalar variables at nodes.
- 11.3.4The AuxScalarKernel system shall automatically resolve dependencies between objects.
- 11.3.5The system shall include the ability to compute a field variable with a constant upper and lower bounds.
- 11.3.6The system shall error if a variational inequalities (VI) solver is not found when BoundsAux is provided.
- 11.3.7The system shall include the ability to compute a field variable with a lower bound given by variable's old value.
- 11.3.8The system shall support the copy the values of standard variables into the component fields of an array variable.
- 11.3.9The system shall report a reasonable error when copying standard variables into the components of an array variable when
- the variables have inconsistent sizes or
- when the variables have inconsistent types.
- 11.3.10The
ConstantScalarAux
object shall set the value of an scalar auxiliary variable to a constant value. - 11.3.11The system shall make current boundary id available in objects evaluated on boundaries.
- 11.3.12The system shall be able to output the components of the flux vector for diffusion problems
- with a non-AD diffusion material property
- and with an AD diffusion material property
- 11.3.13The system shall be able to output the normal component of the flux vector for diffusion problems
- 11.3.14The variable data created by a MaterialRealAux object shall support being limited to boundaries.
- 11.3.15The system shall support boundary restricted auxiliary elemental variables with high order shape functions.
- 11.3.16The system shall error if a boundary restricted elemental auxiliary kernel is evaluated on an element with multiple boundary sides
- 11.3.17The system shall allow a boundary restricted elemental auxiliary kernel to be evaluated on an element with multiple boundary sides by setting an input parameter.
- 11.3.18Kernel objects shall be capable of coupling to an auxiliary variable.
- 11.3.19AuxKernel object dependencies shall be resolved automatically.
- 11.3.20AuxKernel objects shall operate on higher-order monomial basis functions.
- 11.3.21AuxKernel objects shall operate on first-order L2 basis functions.
- 11.3.22AuxKernel object dependencies shall be resolved between block and non-block restricted variables.
- 11.3.23The system shall include an AuxKernel object for returning the element length.
- 11.3.24The system shall be able to compute and visualize element quality metrics
- 11.3.25The system shall support the computation of a single value per element within the auxiliary system.
- 11.3.26The system shall include the ability to compute the Lp, L2, and H1 error norms for each element.
- 11.3.27The system shall allow objects that depend on each other but have differing execution flags to run without error.
- 11.3.28The system shall have the capability of visualizing element integers in an auxiliary variable.
- 11.3.29The system shall include the ability to access the normal of a coupled variable within an AuxKernel object.
- 11.3.30The system shall include the ability to increase the value of an AuxVariable from the previous time step using a forcing function.
- 11.3.31The system shall include the ability to set the value of a scalar variable using a function.
- 11.3.32The system shall include the ability to report values on a boundary from a boundary across a mesh gap.
- 11.3.33The system shall include the ability to report values on a boundary from a boundary across a mesh gap for a block restricted variable.
- 11.3.34The system shall support viewing the elements that would be ghosted
- to specific processors and
- include local elements.
- 11.3.35The system shall utilize the minimum of ghosting necessary for the problem
- 11.3.36The system shall include the ability to extract a component of a linear Lagrange variable gradient as an auxiliary variable.
- 11.3.37The system shall include the ability to extract a component of a first order monomial variable gradient as an auxiliary variable.
- 11.3.38The system shall allow visualization of the MPI processes mapping to compute nodes
- 11.3.39The system shall include the ability to compute the linear combination of variables as an auxiliary variable.
- 11.3.40The system shall include the ability to use extra element integers.
- 11.3.41The system shall include the ability to use extra element integers on element faces.
- 11.3.42The system shall include the ability to compute the shortest distance from a nodes across boundaries.
- 11.3.43The system shall have the ability to restrict AuxKernel objects with coupled variables to a boundary.
- 11.3.44The system shall include the ability to limit the execution of an AuxKernel object to initial setup.
- 11.3.45The system shall include the ability to couple auxiliary variables.
- 11.3.46The system shall be capable of resolving dependencies between AuxKernel objects regardless of input file order.
- 11.3.47The AuxKernel objects shall be capable of coupling to multiple variables.
- 11.3.48The MOOSE auxiliary system shall be capable of updating multiple auxiliary variables within a single AuxKernel object.
- 11.3.49The MOOSE auxiliary system shall be capable of coupling to nonlinear variables at the end of a timestep.
- 11.3.50The system shall include the ability to normalize a variable based on a Postprocessor value.
- 11.3.51The system shall include the ability to normalize and shift a variable based on a Postprocessor value.
- 11.3.52AuxKernel objects shall support the use of material properties from the previous two timesteps.
- 11.3.53The system shall include an AuxKernel object capable of computing values from a functional expression.
- 11.3.54The parsed expression AuxKernel in The system shall expose quadrature/nodal point coordinates and time if requested by the user.
- 11.3.55Execution of a UserObject shall occur after the execution of the AuxKernel objects if the former depends on the latter.
- 11.3.56Execution of a FunctionValuePostprocessor that depends on a Function which depends on a second PostProcessor is construction order dependent.
- 11.3.57Implicit dependencies of FunctionValuePostprocessors may be declared to resolve execution order independently of construction order.
- 11.3.58The system shall support the ability to compute the quotient of two variables.
- 11.3.59The system shall be capable of initializing an auxiliary variable from an existing solution
- from data generated by a simulation
- and loaded using location,
- using a direct degree-of-freedom copy for identical meshes,
- with scaling the supplied data,
- and that errors if data for the supplied variable is not found.
- 11.3.60The SolutionAux object shall be capable of populating an auxiliary variable from an ExodusII file.
- 11.3.61The SolutionAux object shall be capable of populating an auxiliary variable from an ExodusII file with a custom extension (e.g., *.e-s003).
- 11.3.62The SolutionAux object shall be capable of reading elemental data for the largest timestep.
- 11.3.63The SolutionAux object shall be capable of reading elemental data for a specific timestep.
- 11.3.64The SolutionAux object shall be capable of restricting reading to a single elemental variable.
- 11.3.65The SolutionAux object shall be capable of initializing an auxiliary variable from an existing ExodusII file using a direct degree-of-freedom copy for identical meshes.
- 11.3.66The SolutionAux object shall be capable of setting an auxiliary variable with temporal interpolation.
- 11.3.67The system shall be capable of initializing an auxiliary variable from an existing solution that
- is created in a simulation and
- used to restart another.
- 11.3.68The SolutionAux object shall be capable of setting an auxiliary variable with temporal interpolation using a direct degree-of-freedom copy for identical meshes.
- 11.3.69The SolutionAux object shall be capable of accessing specific variables from a SolutionUserObject.
- 11.3.70The SolutionAux object shall produce an error if the 'from_variable' parameter is not set and the supplied UserObject has multiple variables.
- 11.3.71The systems object shall be capable of setting values using an auxiliary variable
- from a simulation using
- an ASCII file and
- a binary file.
- 11.3.72The system shall be capable of setting values using an auxiliary variable
- create4d from a simulation with adaptivity
- from an ASCII file
- with multiple threads.
- 11.3.73The system shall read a scalar variable from an Exodus file and use its value
- from data generated by simulation
- and loaded by another.
- 11.3.74Kernel objects shall be able to couple to the time derivative of an auxiliary variable.
- 11.3.75AuxKernel objects shall be able to couple to the time derivative of a nonlinear variable.
- 11.3.76Error an AuxKernel object attemps to couple to the time derivative of an auxiliary variable.
- 11.3.77The system shall be able to compute the time derivative of a non linear variable.
- 11.3.78The system shall be able to compute the time derivative of functors for which the capability to obtain time derivatives on the fly is implemented.
- 11.3.79The system shall be able to compute the time derivative of finite volume variables.
- 11.3.80The system shall error if
- a time derivative is requested from a functor material property for which the functor time derivative not implemented
- a time derivative is requested but the variable is a nodal variable which is currently unsupported
- a time derivative for a finite element variable is to be saved in a finite volume variable
- a time derivative for a finite volume variable is to be saved in a finite element variable
- 11.3.81The system shall include the ability to compute the integral of a variable over time.
- 11.3.82The system shall resolve the dependency of auxiliary kernels on user objects including the objects that the aux kernels indirectly depend on.
- 11.3.83The system shall include the ability to set the components of a vector auxiliary variable using a function defined within the input file.
- 11.3.84The system shall include the ability to compute the Euclidean norm of three coupled variables.
- 11.3.85The system shall be able to output vector auxiliary variables based on the values of vector material properties, regardless of whether the material properties are computed using automatic differentiation or not.
- 11.3.86The system shall be capable of populating an auxiliary variable from VectorPostprocessor data sized to the number of processors.
- 11.3.87The system shall include the ability to compute auxiliary quantities at the nodes of elements based on the values of a LAGRANGE_VEC variable.
- 11.3.88AuxKernel objects shall be capable of coupling to VectorPostprocessor objects.
- 11.3.89The system shall include the ability to sample
- elemental
- and side volumes
- 11.3.90The system shall report a reasonable error when trying to sample element volumes into a non constant monomial variable
- rdg: Bcs
- 11.4.1The system shall support Neumann type boundary conditions for a 1D problem.
- 11.4.2The system shall support Neumann type boundary conditions for a 1D problem using an imported mesh.
- 11.4.3The system shall support Neumann type boundary conditions using automatic differentiation for a 1D problem
- using a generated mesh.
- and shall be able to produce the exact Jacobian
- using an imported mesh.
- 11.4.4The system shall support setting AD Dirichlet type boundary conditions, supplied as a function, directly to the solution vector prior to the solve.
- 11.4.5The system shall support setting AD Dirichlet type boundary conditions directly to the solution vector prior to the solve.
- 11.4.6The system shall support setting AD Dirichlet type boundary conditions, supplied as a function, directly to the solution vector prior to the solve and have perfect Jacobians.
- 11.4.7The system shall support setting AD Dirichlet type boundary conditions directly to the solution vector prior to the solve and have perfect Jacobians.
- 11.4.8We shall be able to produce the expected result using ADKernel, ADNodalBC, and ADIntegratedBC
- 11.4.9We shall be able to produce the exact Jacobian using ADKernel, ADNodalBC, and ADIntegratedBC with a first order variable
- 11.4.10We shall be able to produce the exact Jacobian using ADKernel, ADNodalBC, and ADIntegratedBC with a second order variable
- 11.4.11We shall be able to produce the expected result using ADVectorKernel, ADVectorNodalBC, and ADVectorIntegratedBC
- 11.4.12We shall be able to produce the exact Jacobian using ADVectorKernel, ADVectorNodalBC, and ADVectorIntegratedBC with a first order variable
- 11.4.13We shall be able to produce the exact Jacobian using ADVectorKernel, ADVectorNodalBC, and ADVectorIntegratedBC with a second order variable
- 11.4.14The system shall be able to couple a lower-dimensional variable into a boundary condition for a higher-dimensional variable.
- 11.4.15The system shall support Dirichlet type boundary conditions defined by a function
- using automatic differentiation.
- using automatic differentiation and shall be able to produce the exact Jacobian.
- 11.4.16The system shall support Neumann type boundary conditions defined by a function
- using automatic differentiation.
- using automatic differentiation and shall be able to produce the exact Jacobian.
- 11.4.17The system shall support matching variable values on a boundary using automatic differentiation
- 11.4.18The system shall produce the exact Jacobian for BC matching variable values on a boundary using automatic differentiation
- 11.4.19The system shall support the application of Dirichlet type boundary conditions using the penalty method using the AD system
- with a constant value on the boundary.
- with a constant value on the boundary and shall be able to produce the exact Jacobian.
- with a value on the boundary set by a function.
- with a value on the boundary set by a function and shall be able to produce the exact Jacobian.
- 11.4.20The system shall provide array vacuum boundary condition.
- 11.4.21The system shall support setting Dirichlet type boundary conditions, supplied as a function, directly to the solution vector prior to the solve.
- 11.4.22The system shall support setting Dirichlet type boundary conditions directly to the solution vector prior to the solve.
- 11.4.23The system shall support the creation of BoundaryCondition objects that support conditional activation.
- 11.4.24The system shall support the creation of BoundaryCondition objects that couple to nonlinear variables.
- 11.4.25The system shall support coupled Neumann type boundary conditions.
- 11.4.26The system shall enable scaling of the Neumann type boundary conditions.
- 11.4.27When coupling nonlinear variables into a Neumann type boundary condition, the system shall
- generate accurate results
- generate a perfect Jacobian
- 11.4.28The system shall be able to determine if a non-scalable algorithm is being used for ghosting boundaries.
- 11.4.29The system shall make sure that boundaries are actually distributed.
- 11.4.30The system shall support periodic boundary conditions in a parallel generated 2D mesh.
- 11.4.31The system shall support periodic boundary conditions in a parallel generated 3D mesh.
- 11.4.32The system shall support periodic boundary conditions in a parallel generated 1D mesh.
- 11.4.33The system shall support Dirichlet type boundary conditions defined by a function.
- 11.4.34The system shall support applying a function of space-time as a Neumann boundary condition.
- 11.4.35The system shall support applying a material property as a Neumann boundary condition.
- 11.4.36The system shall support applying a material property as a Neumann boundary condition using AD.
- 11.4.37The system shall support matching variable values on a boundary.
- 11.4.38The system shall support the ability to create convective flux boundary conditions.
- 11.4.39The system shall support a vacuum boundary condition for neutron diffusion on the boundary.
- 11.4.40The system shall support Neumann type boundary conditions where the specified value is defined as the value of a vector, , in the direction of the boundary outward facing normal, (i.e., ).
- 11.4.41The system shall support the 'no boundary condition' type boundary condition (Griffiths, 1997).
- 11.4.42The system shall be capable of computing the nodal normals for triangle elements.
- 11.4.43The system shall be capable of computing the nodal normals for quadrilateral elements.
- 11.4.44The system shall be capable of computing the nodal normals for first order hexahedron elements.
- 11.4.45The system shall be capable of computing the nodal normals for second order hexahedron elements.
- 11.4.46The system shall be capable of computing the first order nodal normals for second order hexahedron elements.
- 11.4.47The system shall be capable of computing the nodal normals for quadrilateral elements on a square domain.
- 11.4.48The system shall support the application of Dirichlet type boundary conditions using the penalty method.
- 11.4.49The system shall support the application of Dirichlet type boundary conditions, defined by a function, using the penalty method.
- 11.4.50The system shall support periodic boundary conditions with transforms defined as functions.
- 11.4.51The system shall support periodic boundary conditions with transforms that are computed automatically in the 'x' and 'y' directions.
- 11.4.52The system shall support periodic boundary conditions with transforms that are computed automatically in the 'x' and 'y' directions using a non-generated mesh.
- 11.4.53The system shall produce an error within the PeriodicDistanceAux object when a point is provided that is outside the mesh domain.
- 11.4.54The system shall support periodic boundary conditions with transforms that are computed automatically in the 'x', 'y', and 'z' directions.
- 11.4.55The system shall support periodic boundary conditions on orthogonal boundaries with transforms defined as functions.
- 11.4.56The system shall support periodic boundary conditions on parallel boundaries with transforms defined as functions.
- 11.4.57The system shall support periodic boundary conditions with mesh adaptivity.
- 11.4.58The system shall support periodic boundary conditions with transforms prescribed as a translation.
- 11.4.59The system shall support periodic boundary conditions on vector variables with transforms prescribed as a translation.
- 11.4.60The system shall support periodic boundary conditions with displacements.
- 11.4.61The system shall support periodic boundary conditions on a trapezoid domain with transforms prescribed as functions.
- 11.4.62The system shall support calls to periodic distance and bounds methods on the mesh when periodic boundary conditions are not used.
- 11.4.63The system shall support periodic boundary conditions on a wedge domain with transforms prescribed as functions.
- 11.4.64The system shall support periodic boundary conditions for a single variable on a wedge domain with transforms prescribed as functions.
- 11.4.65The system shall support periodic boundary conditions for input meshes that have repeated element ids.
- 11.4.66When using periodic boundary detection, the system shall not attempt to add periodic boundary conditions to scalar variables.
- 11.4.67The system shall support the application of a Neumann boundary condition computed via Postprocessor object.
- 11.4.68The system shall properly compute second derivatives within BoundaryCondition objects.
- 11.4.69The system shall support creating sidesets from nodesets for hexahedron elements to use with Boundary Condition objects.
- 11.4.70The system shall support creating sidesets from nodesets for tetrahedron elements to use with Boundary Condition objects.
- 11.4.71The system shall include the ability to apply a Neumann boundary condition according to a sin function.
- 11.4.72The system shall include the ability to apply a Dirichlet boundary condition according to a sin function.
- 11.4.73BoundaryCondition objects shall support retrieval of VectorPostprocessor data.
- rdg: Constraints
- 11.5.1The system shall include ability to force the value of a variable to be the same on both sides of an interface using Lagrange multipliers.
- 11.5.2The system shall include the ability to constrain the values on a boundary to a value at a prescribed node.
- 11.5.3The system shall be able to enforce the equal value boundary constraint in parallel with adaptivity.
- 11.5.4The system shall support embedded constraints between using a kinematic formulation between
- 1D and 2D;
- 1D and 3D;
- 2D;
- 2D and 3D; and
- 3D subdomains.
- 11.5.5The system shall support embedded constraints between using a penalty formulation between
- 1D and 2D;
- 1D and 3D;
- 2D;
- 2D and 3D; and
- 3D subdomains.
- 11.5.6The system shall support the ability to constrain nodal values.
- 11.5.7The system shall support the ability to constrain nodal values using a displaced mesh.
- 11.5.8The system shall include the ability to force the value of a variable to be the same on both sides of an interface.
- rdg: Controls
- 11.6.1The Control system shall allow a boolean parameter to be controlled with a function.
- 11.6.2The Control system shall be capable of activating or deactivating MOOSE objects using a conditional function.
- 11.6.3The MOOSE control system shall allow parameters from differing objects, with differing names to be associated and changed together.
- 11.6.4The MOOSE control system shall allow parameters from objects to be assigned aliases for the purpose of changing the value.
- 11.6.5The system shall allow controlling piecewise functions and material properties.
- 11.6.6The Control system shall support explicitly defined dependencies.
- 11.6.7The Control system shall error if an attempt to alter a non-controllable parameter is performed.
- 11.6.8The Control system shall error if multiple controllable parameters exists, but only a single parameter is expected to be controlled.
- 11.6.9The Control system shall error if an unknown parameter is supplied for control.
- 11.6.10The Control system shall error if a thread id greater than the number of threads available is supplied when retrieving a Control object.
- 11.6.11The Control system shall error if an attempt is made to disable the Executioner.
- 11.6.12The Control system shall error if an invalid control name is supplied to the Control dependency resolution procedure.
- 11.6.13The Control system shall support the modification of a single parameter using the objects base class name, object name, and parameter name.
- 11.6.14The Control system shall support the modification of multiple parameters using the objects base class and the parameter name.
- 11.6.15The Control system shall include a means to output information regarding the controlled parameters.
- 11.6.16The Control system shall include a means to output information regarding the controlled parameters, including only showing information regarding a parameter if it has changed since the last output.
- 11.6.17The system shall include a command line flag for displaying controllable parameter information.
- 11.6.18The Control system shall include a means to output information regarding the objects with controllable parameters.
- 11.6.19The Control system shall be able to control an input parameter to make a postprocessor match a target value,
- using the principle of Proportional Integral Derivative control,
- using a input postprocessor in lieu of an input parameter,
- with integral windup control, resetting the integral term if the error crosses zero,
- keeping the PID process within a single timestep,
- and resetting the PID process correctly if the solver fails during a Picard/coupling iteration.
- 11.6.20The Control system shall allow a scalar parameter to be controlled with a function.
- 11.6.21The Control system shall allow multiple scalar parameters to be controlled with a function.
- 11.6.22The MOOSE control system shall be capable of restricting parameters to be controlled for specific execution flags.
- 11.6.23The Control system shall allow multiple parameters to be changed by the parameter name alone using input syntax format.
- 11.6.24The Control system shall allow multiple parameters to be changed given the object and parameter names using input syntax format.
- 11.6.25The Control system shall allow for a single parameter to be changes given the input syntax, object name, and parameter name.
- 11.6.26The Control system shall allow for multiple parameters to be changed given input syntax and a parameter name.
- 11.6.27The Control system shall allow multiple parameters to be changed by the parameter name alone using a tag.
- 11.6.28The Control system shall allow multiple parameters to be changed given a tag and parameter names, given a tag assigned across input blocks.
- 11.6.29The Control system shall allow for a single parameter to be changes given a tag and parameter name, given a tag assigned to a single object.
- 11.6.30The Control system shall allow for multiple parameters to be changed given a tag and a parameter name, given a tag assigned within a single input block on multiple objects.
- 11.6.31The Control system shall be capable of activating or deactivating AuxKernel objects with time.
- 11.6.32The Control system shall be capable of activating or deactivating AuxScalarKernel objects with time, given identical start end times.
- 11.6.33The Control system shall be capable of activating or deactivating AuxScalarKernel objects with time, given differing start end times.
- 11.6.34The system shall be capable of activating and/or deactivating boundary contributions to the residual with time
- for contributions from finite element nodes,
- for contributions integrated over a finite element side,
- for contributions from automatic differentiation, and
- perform the activation/deactivation with a single control.
- 11.6.35The Control system shall be capable of activating or deactivating Constraint objects with time.
- 11.6.36The system shall support disabling an object using an input parameter.
- 11.6.37The system shall support enabling an object using an input parameter.
- 11.6.38The system shall be capable of activating or deactivating Damper objects with time via the Control system.
- 11.6.39The Control system shall be capable of activating or deactivating DGKernel objects with time.
- 11.6.40The Control system shall be capable of activating or deactivating DiracKernel objects with time.
- 11.6.41The TimePeriod object shall error when used with a steady state problem.
- 11.6.42The TimePeriod object shall error when the start and end time parameters are not the same length.
- 11.6.43The TimePeriod object shall error when start and end time parameters differ in length than the supplied object list.
- 11.6.44The TimePeriod object shall error when a list of objects to control is omitted.
- 11.6.45The TimePeriod object shall error when start time is greater than the end time.
- 11.6.46The system shall be capable of activating or deactivating volume residual contributions with time:
- for non-automatic differentiation and
- automatic differentiation terms.
- 11.6.47The system shall be capable of activating or deactivating materials in the input file depending on time.
- 11.6.48The Control system shall be capable of activating or deactivating MultiApp objects with time.
- 11.6.49The Control system shall be capable of activating or deactivating NodalKernel objects with time.
- 11.6.50The Control system shall be capable of activating or deactivating ScalarKernel objects with time.
- 11.6.51The Control system shall be capable of activating or deactivating Transfer objects with time.
- 11.6.52The Control system shall be capable of activating or deactivating UserObject objects with time.
- rdg: Coord Type
- 11.7.1The system shall support cylindrical coordinates with the radial direction in the 'x' direction.
- 11.7.2The system shall support cylindrical coordinates with the radial direction in the 'y' direction.
- 11.7.3The system shall support cylindrical coordinates with the radial direction in the 'x' direction with discontinous Galkerin and integrated boundary conditions.
- 11.7.4The system shall support cylindrical coordinates with the radial direction in the 'y' direction with discontinous Galkerin and integrated boundary conditions.
- rdg: Dampers
- 11.8.1The system shall include the ability to reduce the change in nonlinear residual based on a maximum value on elements.
- 11.8.2The system shall include the ability to reduce the change in nonlinear residual based on a minimum value on elements.
- 11.8.3The system shall include the ability to reduce the change in nonlinear residual based on a maximum value on nodes.
- 11.8.4The system shall include the ability to reduce the change in nonlinear residual based on a minimum value on nodes.
- 11.8.5The system shall include the ability to reduce the change in nonlinear residual based on a constant value.
- 11.8.6The Damper system shall use the minimum of NodalDamper and ElementDamper, when the later computes the minimum.
- 11.8.7The Damper system shall use the minimum of NodalDamper and ElementDamper, when the former computes the minimum.
- 11.8.8The Damper system shall be capable of reducing the change in non linear residual based on an allowable increment on elements using an absolute increment.
- 11.8.9The Damper system shall be capable of reducing the change in non linear residual based on an allowable increment on elements using an fractional increment.
- 11.8.10The system shall give an informative error if user code requests a variable from the warehouse with a bad key.
- 11.8.11The BoundingValueNodalDamper object shall report if the minimum value is greater than the maximum value.
- 11.8.12The BoundingValueElementDamper object shall report if the minimum value is greater than the maximum value.
- 11.8.13The Damper system shall error if the damping value is below a minimum.
- rdg: DGKernel Objects
- 11.9.1The system shall support solving 1D advection using the discontinous Galerkin method.
- 11.9.2The system shall support solving 2D diffusion using the discontinuous Galerkin method.
- 11.9.3DGKernels shall coexist with stateful material properties
- 11.9.4The system shall not perform memory allocation automatic scaling when computing values using discontinuous finite element methods.
- 11.9.5When objects that need one layer of coupling (like DGKernels) are added via action, we shall ensure that we have added a proper relationship manager and thus incur no mallocs during calls to MatSetValues. We will not apply algebraic ghosting nor reinitialize system vectors in serial, but we will reinitialize the matrix sparsity
- 11.9.6When objects that need one layer of coupling (like DGKernels) are added via action, we shall ensure that we have added a proper relationship manager and thus incur no mallocs during calls to MatSetValues. We will also apply algebraic ghosting in parallel which will require reinitializing the system; the sparsity pattern will also have to be reinitialized
- 11.9.7If a RelationshipManager with sufficient coverage has already been added through a MooseObjectAction, then the CouplingFunctorCheck action shall not add any relationship managers, avoiding reinitialization of system vectors and the system matrix
- 11.9.8This test shall have one more rm than its replicated counter part because of the geometric-only GhostPointNeighbors rm, also demonstrating no mallocs. Sparsity will be reinitialized but not vectors
- 11.9.9This test shall have one more rm than its replicated counter part because of the geometric-only GhostPointNeighbors rm, also demonstrating no mallocs. Sparsity and vectors will both be reinitialized
- 11.9.10This test shall have one more rm than its replicated counter part because of the geometric-only GhostPointNeighbors rm, also demonstrating no addition of rms by the CouplingFunctorCheckAction
- 11.9.11The system shall support solving 3D diffusion using the discontinuous Galerkin method.
- 11.9.12We shall be able to use constant monomials with AD
- 11.9.13MOOSE should support AD in DG Kernels
- 11.9.14Adaptivity shall work with dg kernels as long as stateful properties are not used.
- 11.9.15The system shall error if the triad of dg kernels, adaptivity, and stateful properties are used together.
- 11.9.16The system shall be able to solve the advection diffusion equation using the discontinuous Galerkin method.
- 11.9.17The system shall compute the correct Jacobian for the advection diffusion equation using the discontinuous Galerkin method.
- 11.9.18The DGKernel system shall support restriction to subdomains, in 1D.
- 11.9.19The DGKernel system shall support restriction to subdomains, in 2D.
- 11.9.20The DGKernel system shall operate with displaced meshes.
- 11.9.21The DGCoupledDiffusion object shall compute the correct Jacobian.
- 11.9.22The system shall be able to use variables when initializing stateful material properties on neighbor materials used for the discontinuous Galerkin method.
- rdg: Dirackernels
- 11.10.1The system shall support the coupling of scalar aux variables for the purpose of sharing data and reporting values.
- 11.10.2The system shall support block restricted dirac kernels.
- 11.10.3The system shall behave accordingly if the added point is not found, when point_not_found_behavior is set to
- ERROR or
- WARNING.
- 11.10.4The system shall support a constant point source implemented as a Dirac function:
- in 1D,
- in 2D,
- in 3D,
- and with finite volume variables.
- 11.10.5The system shall allow for source locations to be set by a user-defined object.
- 11.10.6The system shall have the ability to set the value of point source from a function.
- 11.10.7The system shall allow point sources originating from the evaluation of material properties.
- 11.10.8DiracKernel objects shall report an error if a material property from a previous time step is requested:
- one step back, and
- two steps back.
- 11.10.9The DiracKernel system shall allow for duplicate source locations to be defined.
- 11.10.10The system shall support the computation of off diagonal Jacobian terms for residual terms defined with a Dirac delta function.
- 11.10.11The system shall support source location caching using element ids:
- on a static mesh with no adaptivity,
- with uniform mesh refinement,
- with adaptive mesh refinement, and
- with displaced mesh.
- 11.10.12The DiracKernel system shall report an error if a location does not correspond with the supplied element id.
- 11.10.13The system shall support point sources with locations and values given by a Reporter
- in a steady state 2D problem, reading data from a reporter and reproducing the constantPointSource.
- in a steady state 2D problem, reading data from a vectorPostProcessor and reproducing the constantPointSource.
- in steady state 3D problem, reproducing the constantPointSource.
- in a transient problem with the vpp source value changing as the vpp changes.
- and shall report an error if the input arrays are not the same size
- rdg: Executioners
- 11.11.1The Executioner system shall support the ability to create custom objects with custom execution callbacks.
- 11.11.2The Executioner system shall support the creation of custom objects with arbitrary execution flags.
- 11.11.3The system shall be able to detect steady-states using the auxiliary system solution.
- 11.11.4The system shall support solving an Eigen value problem using the inverse power method.
- 11.11.5The system shall support solving an Eigen value problem using Newton's method.
- 11.11.6The system shall support solving an Eigen value problem using Newton's method in parallel.
- 11.11.7The system shall support the use of material properties during an Eigen problem solve.
- 11.11.8The system shall be capable of solving a diffusion problem using an Eigen value solver.
- 11.11.9The system shall be capable of solving a nonlinear diffusion problem using an Eigen value solver.
- 11.11.10The system shall be capable of solving a coupled nonlinear diffusion problem using an Eigen value solver.
- 11.11.11The system shall be capable of using coupled variables in the EigenKernel object.
- 11.11.12The system shall support adaptive solves for steady-state execution.
- 11.11.13The system shall be able to detect steady state conditions during execution.
- 11.11.14The system shall be capable of solving a steady state diffusion problem.
- 11.11.15The system shall be capable of solving a transient diffusion problem.
- 11.11.16The system shall print automatic scaling factors if specified.
- 11.11.17The system shall not print automatic scaling factors if not specified.
- 11.11.18The system shall provide a capability to solve a problem iteratively with a tagged residual vector for
- linear and
- nonlinear problems.
- 11.11.19The system shall provide a capability to solve a problem iteratively with a tagged solution vector being coupled in
- kernels and/or
- materials.
- 11.11.20The system shall correctly compute Jacobians when boundary conditions are disabled.
- 11.11.21The Executioner system shall support the PETSc non-linear divergence tolerance.
- 11.11.22The system shall consider a nonlinear solve diverged if the nonlinear residual exceeds the absolute divergence tolerance while iterating
- 11.11.23The system shall perform n non linear iterations before checking for non linear divergence
- 11.11.24The system shall force the prescribed number of non linear iterations even if convergence tolerance is already satisfied.
- 11.11.25The system shall perform many non linear iterations before checking for non linear divergence
- 11.11.26The system shall perform many non linear iterations before checking for non linear divergence using reference residual
- 11.11.27The system shall consider a nonlinear solve diverged if the nonlinear residual oscillates by a user-controlled number of times.
- 11.11.28The system shall compute the solution of rank-deficient linear equations if the right hand side is within the range of the linear operator.
- 11.11.29The system shall compute the solution of rank-deficient linear equations if the right hand side has components that are orthogonal to the range of the linear operator.
- 11.11.30Executioner objects shall be capable of coupling to Postprocessor values.
- 11.11.31The system shall allow executioners to do setups before initializing the problem.
- 11.11.32The system shall correctly evaluate Jacobians with coupled problems and the LINEAR solve type
- 11.11.33The system shall not change the system time during steady-state execution.
- 11.11.34The system shall be able to set the system time for steady-state execution.
- 11.11.35The system shall support controlling what objects are executing based on start and end times.
- 11.11.36The system shall support explicit definition of execution times.
- 11.11.37The system shall support output using a time interval.
- rdg: Executors
- 11.12.1The system shall be able to utilize a modular/nested system of execution
- 11.12.2The system shall error if the Executor system contains an infinite cycle
- 11.12.3The system shall only have one root node in the Executor tree
- 11.12.4The system shall be able to experimentally use the executor system instead of an executioner.
- rdg: Fixedbugs
- 11.13.1The Material objects provided on all subdomains shall satisfy requests for objects on all subdomains.
- rdg: Functions
- 11.14.1Generate the fine tabulated function data for the coarsened_piecewise_linear test
- 11.14.2The Function system shall include an object that creates a function based on x- and y-data pairs, reduces the number of data points based on a user supplied cut-off and returns a linearly interpolated value from the coarsened data.
- 11.14.3The Function system shall include a constant function.
- 11.14.4The Function system shall include the ability to set default values for input parameters expecting a function name.
- 11.14.5The Function system shall include the ability to read comma or space separated data and perform linear interpolation using the supplied data.
- 11.14.6The system shall be able to initialize a variable with values computed using a user-specified function
- using the function directly.
- with a scaling factor applied to the function.
- 11.14.7The Function object shall include a callback executed during each timestep.
- 11.14.8The Material system shall support defining properties within the input file that are associated with functions.
- 11.14.9The Material system shall support defining vector properties within the input file that are associated with functions.
- 11.14.10The Material system shall error out if the number of functions supplied does not match the size of the vector function material properties.
- 11.14.11The system shall allow for piecewise functions to directly set the x and y data internally.
- 11.14.12The system shall include the ability to create functions from image files that errors if
- an unsupported file type is provided;
- if an invalid component value is supplied;
- if an invalid filename is provided; and
- the system is not configured with the correct dependencies.
- 11.14.13The system shall include the ability to define a function based on a 2D image and initialize a nodal variable.
- 11.14.14The system shall include the ability to define a function based on a 2D image and initialize a elemental variable.
- 11.14.15The system shall include the ability to define a function based on a stack of images and initialize a nodal variable.
- 11.14.16The system shall include the ability to define a function based on a subset stack of images and initialize a nodal variable.
- 11.14.17The system shall allow the image data within the ImageFunction object to be set as one of two values based on a threshold value.
- 11.14.18The system shall be capable of initializing a variable from image data and perform initial adaptivity based on the data.
- 11.14.19The system shall be capable of initializing a variable from image data and perform initial adaptivity based on the data, in parallel.
- 11.14.20The system shall be capable of initializing a variable from image data and perform initial adaptivity based on the data, in parallel and produce Nemesis output files.
- 11.14.21The system shall be capable of limiting the supplied data to the ImageFunction object to a single component of the RGB image data.
- 11.14.22The system shall be capable of shifting and scaling the supplied image data to the ImageFunction object.
- 11.14.23The system shall be capable of operating on domains that are larger than the image size in the ImageFunction object.
- 11.14.24The system shall be capable of flipping image data along the vertical axis in the ImageFunction object.
- 11.14.25The system shall be capable of flipping image data along vertical axis and shifting the origin using the ImageFunction object.
- 11.14.26The system shall be capable of flipping image data along vertical and horizontal axis within the ImageFunction object.
- 11.14.27The system shall be capable of operating on domains that are smaller than the image size within the ImageFunction object.
- 11.14.28The system shall be capable of generating a 3D mesh based on a stack of 2D images using the ImageMesh object.
- 11.14.29The system shall be capable of generating a 2D mesh based on an image using the ImageMesh object.
- 11.14.30The system shall perform shift and scale options independently using the ImageFunction object.
- 11.14.31The LinearCombinationFunction shall report an error if the parameters listing the functions differs in size than the list of coefficients.
- 11.14.32The LinearCombinationFunction shall be capable of computing the sum of function values, each multiplied by a scale factor.
- 11.14.33The LinearCombinationFunction shall be capable of computing the sum of function gradients, each multiplied by a scale factor.
- 11.14.34The LinearCombinationFunction shall be capable of computing the sum of vector functions, each multiplied by a scale factor.
- 11.14.35The Function system shall support the creation of objects that execute a function defined within the input file.
- 11.14.36The ParsedFunction object shall be capable of defining function within the input file for use with the method of manufactured solutions.
- 11.14.37The Function system shall support the creation of objects that execute a vector function defined within the input file.
- 11.14.38The Function system shall support the creation of objects that execute a function defined within the input file that includes a scalar variable.
- 11.14.39The ParsedFunction object shall support the use of other functions specified by their names in its expression.
- 11.14.40The ParsedFunction object shall support the use of functions, scalar values and postprocessor values specified by their names in its expression at the same time.
- 11.14.41The Function system shall support the creation of objects that execute a curl of a vector function defined within the input file.
- 11.14.42The ParsedFunction object shall fail with a human readable error if a vals entry is supplied that is neither a valid postprocessor, scalar variable, function, or real number.
- 11.14.43The Function system shall include an object that creates a function based on x- and y-data pairs and returns an explicit value from the supplied data when queried (i.e., linear interpolation is not performed).
- 11.14.44The Function system shall include an object that creates a function based on x- and y-data pairs and returns an explicit value from the supplied data when queried (i.e., linear interpolation is not performed) in a simple simulation, with both negative and positive values.
- 11.14.45The Function system shall include a function that can obtain data from a CSV file
- with data sorted by element ids
- with data sorted by node ids
- with data at given locations and using nearest neighbor interpolation between those data points
- using nearest neighbor interpolation with a random tesselation
- with data at given locations and using nearest neighbor interpolation between those data points, with periodic boundaries
- with data sorted by blocks and with constant values on each block.
- 11.14.46The system shall error out if
- if the CSV reader object and the function expect the CSV data to be ordered differently
- if the desired column number in the CSV file is higher than the number of columns in the file
- if the data saught exceeds the row number in the CSV file
- if the number of blocks specified to a CSV reader reading block-data is 0
- if the number of nearest-neighbor regions specified to a CSV reader reading nearest-neighbor-region-data is 0
- 11.14.47The system shall issue a warning if
- if the desired column number in the CSV file is known to be a column holding point coordinates
- if the data file contains more points/rows than the reader needs
- 11.14.48The Function system shall include an object that creates a function based on x- and y-data pairs and does not extrapolate.
- 11.14.49The Function system shall include an object that creates a function based on x- and y-data pairs and does extrapolate.
- 11.14.50The PiecewiseMultilinear object will error if the supplied file fails to open.
- 11.14.51The PiecewiseMultiInterpolation object shall error if the supplied data is not monotonically increasing.
- 11.14.52The PiecewiseMultiInterpolation object shall error if the number of requested functions differ than the number available from the file.
- 11.14.53The PiecewiseMultiInterpolation errors if the axes supplied are not independent.
- 11.14.54The PiecewiseMultilinear shall error if the axis lines are not located in the supplied data.
- 11.14.55The PiecewiseMultilinear object shall perform interpolation on a 1D domain.
- 11.14.56The PiecewiseMultilinear object shall perform interpolation on a 1D domain that compares to an equivalent known function.
- 11.14.57The PiecewiseMultilinear object shall perform interpolation of time-dependent data.
- 11.14.58The PiecewiseMultilinear object shall perform interpolation on a 2D domain.
- 11.14.59The PiecewiseMultilinear object shall perform interpolation on a 2D domain that compares to an equivalent known function.
- 11.14.60The PiecewiseMultilinear object shall perform constant interpolation on a 2D domain.
- 11.14.61The PiecewiseMultilinear object shall perform interpolation on a 3D domain with time-dependent data.
- 11.14.62The Function object shall support the ability to couple Postprocessor values.
- 11.14.63The SolutionFunction object shall be capable of evaluating a solution read from XDA mesh and solution files.
- 11.14.64The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file with temporal interpolation.
- 11.14.65The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file.
- 11.14.66The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and rotated 45 degrees about the z-axis.
- 11.14.67The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and rotated 45 degrees about the y-axis.
- 11.14.68The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and rotated 90 degrees about the z-axis and 45 degress about the x-axis.
- 11.14.69The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and rotated 45 degrees about the z-axis for a 2D domain.
- 11.14.70The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and scaled by a factor in the x and y directions as well as translated in the x-direction.
- 11.14.71The SolutionFunction object shall be capable of evaluating a solution read from an Exodus file and scaled by a factor of two in the x and y directions.
- 11.14.72The SolutionFunction object shall error if a variable that does not exist is requested.
- 11.14.73The system shall be capable of evaluating the gradient of a solution
- created in a simulation
- and read from another.
- 11.14.74The VectorPostprocessorFunction shall be capable of linear interpolating data generated by a VectorPostprocessor object.
- 11.14.75The VectorPostprocessorFunction shall be capable of linear interpolating data generated by a VPP with respect to time.
- rdg: Fvbcs
- 11.15.1The system shall run a simple 1D diffusion problem with a Neumann BC value.
- 11.15.2The system shall error out if a finite volume flux boundary condition, in this case a finite volume Neumann boundary condition, is used inside the domain.
- 11.15.3The system shall error out if a finite volume flux boundary condition is used on a mesh element face that is not connected to an element with the corresponding finite volume variable.
- 11.15.4The system shall run a simple 1D diffusion problem with a Dirichlet BC value set by a postprocessor.
- rdg: Fviks
- 11.16.1The system shall be able to solve a diffusion problem with finite volumes with the domain split in half and force the two variables living on each side of the domain to match on the interface.
- 11.16.2The system shall be able to solve a diffusion problem with the domain split in half and two finite volume variables living on each side.
- 11.16.3The system shall error if a user specified variable on the 1st side of an interface does not actually exist on the 1st side.
- 11.16.4The system shall error if a user specified variable on the 2nd side of an interface does not actually exist on the 2nd side.
- 11.16.5The system shall error if a user does not specify a variable on the 2nd side of an interface, leading the system to assume that the variable on the 1st side of the interface should be used on the 2nd side, and the variable on the 1st side does not exist on the 2nd side.
- 11.16.6The system shall be able to solve a diffusion problem with finite volumes with the domain split in half and show first order convergence due to its treatment of coefficient discontinuities both
- with an interfacing object
- without an interfacing object
- rdg: Fvkernels
- 11.17.1The system shall support block restriction of finite volume variables and kernels, and shall properly handle material evaluation in block-restricted settings, in a one-dimensional example.
- 11.17.2The system shall allow definition of a functor material property with the same name by different block-restricted materials on neighboring subdomains even when there are different sets of finite volume flux kernels on those same neighboring subdomains.
- 11.17.3The system shall support simultaneous block restriction of finite volume and finite element variables and have coupling of the finite volume variables into the finite element equations.
- 11.17.4The system shall compute a perfect Jacobian when coupling block-restricted finite volume variables into block-restricted finite element calculations.
- 11.17.5The system shall allow different materials to define the same material property name on different sides of an interface when the finite volume physics is the same on both sides of the interface.
- 11.17.6The system shall compute a perfect Jacobian when different materials define the same material property on different sides of a interface and the finite volume physics are the same on both sides of the interface.
- 11.17.7The system shall be able to impose a constraint on the domain integral of a variable.
- 11.17.8The system shall be able to impose a constraint on a single point value of a variable.
- 11.17.9The system shall be able to impose bounds for the values of a variable.
- 11.17.10The system shall be able to couple both finite element and finite volume variables, as functors, into functor material property calculations.
- 11.17.11The system shall support coupling of a finite volume variable into a finite element calculation.
- 11.17.12The system shall compute a perfect Jacobian when coupling a finite volume variable into a finite element calculation.
- 11.17.13The system shall allow a finite volume object to consume a material property that depends on another material property that is computed in a material that couples in a finite element variable.
- 11.17.14The system shall suggest that the user add a finite volume variable if a finite volume object cannot retrieve one
- 11.17.15The system shall be able to perform finite volume simulations with adaptivity and give correct results
- 11.17.16The system shall be able to combat a singular solve, resulting from two term boundary expansion during gradient computation, by reverting to a one term boundary expansion.
- 11.17.17The system shall display second order convergence when there is some skewness due to mismatch between cell levels.
- 11.17.18The system shall be able to solve the Burgers equation in 1D using the FV method
- 11.17.19The system shall run a 2D linear advection problems using the finite volume method a regular mesh.
- 11.17.20The system shall be able to produce correct mathematical results for a coupled-reaction problem
- using both finite element and finite volume discretizations with
- the correct Jacobian entries.
- 11.17.21The system shall be able to compute the second time derivative of a variable when using the finite volume method and automatic differentiation.
- 11.17.22The system shall be able to couple variables at faces when using the finite volume method.
- 11.17.23The system shall have an accurate Jacobian when coupling variables at faces and using the finite volume method.
- 11.17.24The system shall support caching of functor evaluations performed with boundary face arguments.
- 11.17.25The system shall run a simple 2D linear diffusion problem using the finite volume method with Dirichlet boundary conditions on a regular mesh.
- 11.17.26The system shall run a simple 2D linear diffusion problem in RZ coordinates using the finite volume method with Dirichlet boundary conditions on a regular mesh.
- 11.17.27The system shall be able to compute a full Jacobian matrix when performing finite volume computations
- 11.17.28The system shall run a simple 2D linear diffusion problem using the finite volume method with Neumann and Dirichlet boundary conditions on a regular mesh.
- 11.17.29The system shall run a simple 2D transient linear diffusion problem using the finite volume method with Dirichlet boundary conditions on a regular mesh.
- 11.17.30The system shall be able to solve a finite-volume-only problem
- on an unrefined mesh
- and on a mesh that has been refined to have the same amount of elements and achieve identical results
- 11.17.31The system shall be able solve a three-dimensional diffusion problem using the finite volume method.
- 11.17.32The system shall be able solve a one-dimensional diffusion problem using the finite volume method.
- 11.17.33The system shall correctly account for differences between gradient and divergence operators in cylindrical coordinates.
- 11.17.34The system shall be able to perform Laplacian-based adaptivity with finite volume variables.
- 11.17.35The system shall be able to to solve an advection-diffusion equation with a dirichlet condition on the left boundary and a zero gradient condition on the right boundary and display second order convergence with the finite volume method.
- 11.17.36The system shall, while using an advective outflow boundary condition, demonstrate second order convergence if a two term Taylor series is used to approximate the face value and first order convergence if a one term Taylor series is used.
- 11.17.37The system shall be able to do one-term and two-term Taylor expansions for extrapolating finite volume solutions to boundary faces, and these extrapolations should be usable by flux kernels at inflow/outflow boundaries to produce first and second order accurate solutions respectively as measured by an L2 norm.
- 11.17.38The system shall display first order convergence with an upwind limiter.
- 11.17.39The system shall display second order convergence with a central-differencing limiter.
- 11.17.40The system shall display second order convergence with a Van-Leer limiter.
- 11.17.41The system shall display second order convergence with a min-mod limiter.
- 11.17.42The system shall display second order convergence with a second-order-upwind limiter.
- 11.17.43The system shall display second order convergence with a QUICK limiter.
- 11.17.44The system shall provide a Kurganov-Tadmor scheme for evaluating convective intercell fluxes
- with central difference interpolation of face values and resulting second order convergence
- with upwind interpolation of face values and resulting first order convergence
- with central difference interpolation with Van-Leer limiting of face values and resulting two and a half order convergence
- 11.17.45The system shall be able to solve the diffusion equation in 2D axisymmetric coordinates using the finite volume method, and display a second order convergence rate.
- 11.17.46The system shall be able to solve a pure advection problem in 1D cylindrical coordinates using the finite volume method, and display a second order convergence rate.
- 11.17.47The system shall be able to solve a advection-reaction problem in 2D axisymmetric coordinates using the finite volume method, and display a second order convergence rate.
- 11.17.48The system shall be able to solve a advection-diffusion-reaction problem in 2D axisymmetric coordinates using the finite volume method, and display a second order convergence rate.
- 11.17.49The system shall be able to implement advection through an element based kernel, that leverages the system's ability to reconstruct gradients, and demonstrate second order convergence on a cartesian coordinate system.
- 11.17.50The system shall be able to retrieve and usefinite volume variable gradients in materials using a coupling interface and reproduce element-based advection results based on direct use of the variable gradient in a Cartesian coordinate system.
- 11.17.51The system shall be able to implement advection through an element based kernel, that leverages the system's ability to reconstruct gradients, and demonstrate second order convergence in an axisymmetric coordinate system.
- 11.17.52The system shall be able to retrieve and usefinite volume variable gradients in materials using a coupling interface and reproduce element-based advection results based on direct use of the variable gradient in an axisymmetric coordinate system.
- 11.17.53The system shall be able to solve a coupled mass and momentum-type two equation system, which includes advection and diffusion, using the finite volume method, and display second order convergence for both variables.
- 11.17.54The system shall display second order convergence, when using face side neighbors to compute face midpoint values during gradient reconstruction.
- 11.17.55The system shall display 1.5 order convergence, when using face vertex neighbors to compute face midpoint values during gradient reconstruction.
- 11.17.56The system shall display first order convergence with regular face averaging in an advection diffusion problem.
- 11.17.57The system shall display second order convergence with skew-corrected face averaging for the diffusion term in an advection diffusion problem.
- 11.17.58The system shall display second order convergence with skew-corrected face averaging for the diffusion and advection terms in an advection diffusion problem.
- 11.17.59The system shall display first order convergence, when averaging face side neighbors to compute face midpoint values during gradient reconstruction.
- 11.17.60The system shall display second order convergence, when skewness-corrected averaging to compute face midpoint values during gradient reconstruction.
- 11.17.61The system shall display first order convergence when using a skew-corrected average-based face-interpolation together with extrapolated BCs.
- 11.17.62The system shall be able to solve a diffusion problem with the finite volume method and display second order convergence.
- 11.17.63The system shall be able to solve a advection-diffusion problem with the finite volume method and display second order convergence.
- 11.17.64The system shall be able to solve a advection-diffusion problem with the finite volume method, using a velocity supplied by a material, and display second order convergence.
- 11.17.65The system shall be able to solve a advection problem with the finite volume method and display second order convergence.
- 11.17.66The system shall be able to solve a advection problem with the finite volume method, using a velocity supplied by a material, and display second order convergence.
- 11.17.67The system shall be able to solve a advection-diffusion problem with the finite volume method and display first order convergence with an upwind scheme for the advection operator.
- 11.17.68The system shall be able to solve a advection problem with the finite volume method and display first order convergence with an upwind scheme.
- 11.17.69The system shall be able to solve diffusion on an orthogonal grid using a diffusion kernel which accounts only for orthogonal diffusion.
- 11.17.70The system shall be able to identify and show when a matrix is ill conditioned.
- 11.17.71The system shall be able to condition a system automatically through variable scaling factors.
- 11.17.72The system shall be able to condition a system manually through variable scaling factors.
- 11.17.73The system shall be able to sequentially apply manual and automatic scaling and in the case of poor manual scaling, restore the condition number automatically.
- 11.17.74The system shall be able to evaluate functors with single sided face information arguments.
- 11.17.75The system shall be able to run a flux boundary condition and a flux kernel for different variables on the same boundary and calculate correct function and Jacobian values.
- 11.17.76The system shall be able to perform limiting schemes on Euclidean vector functors. These limiting schemes include
- first-order upwind
- central differencing
- vanLeer
- rdg: Geomsearch
- 11.18.1The system shall be capable of computing the distance between two disjoint boundaries on a 1D domain.
- 11.18.2The system shall be capable of computing the distance as well as transfer data between interior boundaries on a 2D domain.
- 11.18.3The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 2D.
- 11.18.4The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 2D using second order elements.
- 11.18.5The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance.
- 11.18.6The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance and second order elements.
- 11.18.7The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 2D.
- 11.18.8The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 2D with second order elements.
- 11.18.9The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 2D using a tangential tolerance for the distance.
- 11.18.10The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 2D using a tangential tolerance for the distance and second order elements.
- 11.18.11The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D.
- 11.18.12The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D and second order elements.
- 11.18.13The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance.
- 11.18.14The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance and second order elements.
- 11.18.15The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using normal smoothing for the distance.
- 11.18.16The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using normal smoothing for the distance and second order elements.
- 11.18.17The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using nodal normal based smoothing for the distance.
- 11.18.18The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 2D using nodal normal based smoothing for the distance and second order elements.
- 11.18.19The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D.
- 11.18.20The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using second order elements.
- 11.18.21The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance.
- 11.18.22The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using a tangential tolerance of for the distance and second order elements.
- 11.18.23The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using normal smoothing for the distance.
- 11.18.24The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using normal smoothing for the distance and second order elements.
- 11.18.25The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using nodal normal based smoothing.
- 11.18.26The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 2D using nodal normal based smoothing and second order elements.
- 11.18.27The systems shall be capable of performing simulations with geometric penetration
- computed within one simulation
- that are restarted from a another.
- 11.18.28The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces in 2D.
- 11.18.29The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces in 2D with triangular elements.
- 11.18.30The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 3D.
- 11.18.31The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 3D using second order elements.
- 11.18.32The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 3D using a tangential tolerance of for the distance.
- 11.18.33The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces of a moving interface in 3D using a tangential tolerance of for the distance and second order elements.
- 11.18.34The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 3D.
- 11.18.35The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 3D with second order elements.
- 11.18.36The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 3D using a tangential tolerance for the distance.
- 11.18.37The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces of a moving interface in 3D using a tangential tolerance for the distance and second order elements.
- 11.18.38The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 3D.
- 11.18.39The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 3D and second order elements.
- 11.18.40The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and convex disjoint surfaces of a moving interface in 3D using a tangential tolerance of for the distance and second order elements.
- 11.18.41The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 3D.
- 11.18.42The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 3D using second order elements.
- 11.18.43The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between a flat and concave disjoint surfaces of a moving interface in 3D using a tangential tolerance of for the distance.
- 11.18.44The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two disjoint surfaces:
- with nodal normal based smoothing;
- with nodal normal based smoothing and a specified tangential tolerance;
- with a specified normal smoothing distance;
- with a specified normal smoothing distance and a specified tangential tolerance;
- with second-order elements and third-order quadrature; and
- with second-order elements and third-order quadrature and a specified tangential tolerance.
- 11.18.45The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two overlapping surfaces:
- with nodal normal based smoothing;
- with nodal normal based smoothing and a specified tangential tolerance;
- with a specified normal smoothing distance;
- with a specified normal smoothing distance and a specified tangential tolerance;
- with second-order elements and third-order quadrature; and
- with second-order elements and third-order quadrature and a specified tangential tolerance.
- 11.18.46The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, overlapping surfaces in 3D.
- 11.18.47The PenetrationAux object shall be capable of computing the distance, tangential distance, normal, closest point, side id, and element id between two parallel, disjoint surfaces in 2D with tetrahedron elements.
- 11.18.48The NearestNodeDistanceAux object shall be capable of computing the shortest distance between a boundary and subdomain.
- 11.18.49The NearestNodeDistanceAux shall be capable of computing the shortest distance between two boundaries.
- 11.18.50The NearestNodeDistanceAux shall be capable of computing the shortest distance between two boundaries with adaptivity.
- 11.18.51The system shall support a means for updating the geometric search patch dynamically that may be disabled.
- 11.18.52The system shall support a means for updating the geometric search patch dynamically that automatically determines when an update to the patch shall occur.
- 11.18.53The system shall support a means for updating the geometric search patch dynamically that updates the patch prior to each solve.
- 11.18.54The system shall support a means for updating the geometric search patch dynamically that updates the patch prior to each iteration.
- 11.18.55The system shall error in the penetration locator system if penetration is not detected.
- 11.18.56The system shall be able to perform patch updates on every non-linear iteration while performing uniform coarsening and refinement from grid sequencing.
- 11.18.57The PenetrationAux object shall compute the distance between two boundaries in 3D that overlap.
- 11.18.58The PenetrationAux object shall compute, in parallel, the distance between two boundaries in 3D that overlap.
- 11.18.59The nonlinear system shall be able to augment its sparsity based on constraints when we have a quadrature nearest-node locator.
- 11.18.60The NearestNodeDistanceAux object shall compute the shortest distance between nodes on two overlapping boundaries using a constant monomial auxiliary variable.
- 11.18.61Volumetric AD assembly data shall be properly sized when reinitializing faces
- 11.18.62The PenetrationAux object shall compute the distance between two overlapping boundaries using a constant monomial auxiliary variable.
- 11.18.63The PenetrationAux object shall compute the distance between two overlapping boundaries using a constant monomial auxiliary variable in 1D.
- rdg: Globalparams
- 11.19.1The system shall include an input file syntax that supports defining global options.
- rdg: Ics
- 11.20.1The system shall allow to set constant initial conditions for an array variable.
- 11.20.2The system shall error if the wrong number of components are provided in a constant initial condition for array variables.
- 11.20.3The system shall allow to set initial conditions for an array variable based on functions.
- 11.20.4The system shall error if the wrong number of components are provided in a functionalized initial condition for array variables.
- 11.20.5The system shall support setting initial conditions on boundaries.
- 11.20.6Generates a rectangular IC
- 11.20.7BoundingBoxIC shall have a diffuse interface option.
- 11.20.8The system shall report an error when multiple initial conditions are applied to the same boundary.
- 11.20.9The system shall report an error when multiple initial conditions are applied to the same subdomain.
- 11.20.10The system shall report an error when a global initial conditions overlap on the same variable.
- 11.20.11The system shall report an error when a global and subdomain restricted initial conditions overlap on the same variable.
- 11.20.12The system shall support setting different values for each coefficient of higher-order scalar values.
- 11.20.13The system shall support setting initial conditions of field variables to a constant value.
- 11.20.14The system shall support setting initial conditions of subdomain restricted field variables to a constant value.
- 11.20.15The system shall provide current node or element pointers when possible when evaluating initial conditions at a point in the domain.
- 11.20.16The system shall allow setting field initial condition from an user object
- 11.20.17The system shall allow setting scalar initial condition from an user object
- 11.20.18The system shall allow nodal initial condition objects to couple to other nodal variables for computing values for the current variable.
- 11.20.19The system shall allow elemental initial condition objects to couple to other elemental variables for computing values for the current variable.
- 11.20.20The system shall write output files containing nodal solutions in ExodusII format suitable for restart.
- 11.20.21The system shall be able to populate nodal initial conditions from a previous solution file in ExodusII format.
- 11.20.22The system shall write output files containing elemental solutions in ExodusII format suitable for restart.
- 11.20.23The system shall be able to populate elemental initial conditions from a previous solution file in ExodusII format.
- 11.20.24The system shall write output files containing elemental array variable solutions in ExodusII format suitable for restart.
- 11.20.25The system shall be able to populate elemental array variable initial conditions from a previous solution file in ExodusII format.
- 11.20.26The system shall write output files containing nodal array variable solutions in ExodusII format suitable for restart.
- 11.20.27The system shall be able to populate nodal array variable initial conditions from a previous solution file in ExodusII format.
- 11.20.28The system shall support setting gradient values for shape functions that support them.
- 11.20.29The system shall support using a spline function to set both value and gradient values in an initial condition.
- 11.20.30The system shall support setting a scalar initial condition by evaluating a function.
- 11.20.31The system shall support setting initial conditions for the Hermite set of shape functions.
- 11.20.32The system shall error if
- the postprocessor does not have execute_on initial
- the postprocessor for normalization is zero
- 11.20.33The system shall be able to apply a normalized sinusoidal initial condition.
- 11.20.34The system shall support initial conditions on second order Lagrange variables in 3D space.
- 11.20.35The system shall allow initial conditions to retrieve post-processor values.
- 11.20.36The system shall generate parallel agnostic random initial conditions
- 11.20.37The system shall generate threaded agnostic random initial conditions
- 11.20.38The system shall allow to set constant vector-valued initial conditions.
- 11.20.39The system shall allow to set constant vector-valued initial conditions when adding vector variables.
- 11.20.40The system shall allow vector-valued initial conditions be set using a vector function.
- 11.20.41The system shall allow vector-valued initial conditions be set using a function by components.
- 11.20.42The system shall error if the 'function' and 'function_x' parameters are both set within the VectorFunctionIC object.
- 11.20.43The system shall error if the 'function' and 'function_y' parameters are both set within the VectorFunctionIC object.
- 11.20.44The system shall error if the 'function' and 'function_z' parameters are both set within the VectorFunctionIC object.
- 11.20.45The system should supply a special convenience "zero" variable that can be indexed like a normal coupled variable.
- rdg: Indicators
- 11.21.1The system shall include the ability to compute the square of the difference between a solution variable and an analytical function for the purpose of performing automatic mesh adaptivity.
- 11.21.2The system shall include the ability to compute the square of the difference between a FV solution variable and an analytical function for the purpose of performing automatic mesh adaptivity.
- 11.21.3The system shall include the ability to compute the square of the change in the gradient of a variable across element boundaries for the purpose of performing automatic mesh adaptivity.
- 11.21.4The system shall include the ability to compute the square of the change in the Laplacian of a variable across element boundaries for the purpose of performing automatic mesh adaptivity:
- with a penalty based flux boundary condition;
- with a weakly imposed flux boundary condition; and
- for transient calculations.
- 11.21.5The system shall include the ability to compute the square of the change in a variable across element boundaries for the purpose of performing automatic mesh adaptivity:
- 11.21.6The system shall include the ability to compute the square of the change in a FV variable across element boundaries for the purpose of performing automatic mesh adaptivity:
- rdg: InterfaceKernel Objects
- 11.22.1Interface kernels shall provide integrated conditions between subdomains, and shall work with boundary restricted materials with stateful properties.
- 11.22.2The interface diffusion penalty method should reproduce the analytic solution
- 11.22.3The InterfaceKernel system shall use with interface material in 1D.
- 11.22.4The system shall support the evaluation of neighboring quantities on elements containing different shape functions.
- 11.22.5The system shall produce correct Jacobians for coupled flux on an interface.
- 11.22.6The system shall support produce correct Jacobians when evaluating neighboring quantities on elements containing different shape functions.
- 11.22.7The system shall produce correct Jacobians for single variable coupled flux on an interface.
- 11.22.8Save-in shall record the correct residuals and Jacobians representing the interface kernel. This applies the DirichletBC to side a (block 0) of the interface.
- 11.22.9Save-in shall record the correct residuals and Jacobians representing the interface kernel. This applies the DirichletBC to side b (block 1) of the interface.
- 11.22.10The interface reaction kernel should reproduce the analytic solution
- 11.22.11The interface reaction kernel should work with interface diffusion kernel
- 11.22.12The solution should be discontinued at the interface due to the reaction taking place
- 11.22.13The Jacobian from InterfaceReaction shall be perfect
- 11.22.14The system shall ensure that interfacial materials are sorted such that consumers execute after producers.
- 11.22.15The system shall not try to reinit a displaced interface, leading to failed point inversions, if a displaced interface kernel has not been added to the simulation.
- 11.22.16The InterfaceKernel system shall operate with coupled variables in 2D. This uses a penalty implementation that is optimally convergent.
- 11.22.17Allow the interface to impose the same time derivative on two neighboring variables. This uses a penalty implementation that is optimally convergent.
- 11.22.18The InterfaceKernel system shall use with interface material in 2D.
- 11.22.19The Jacobian evaluation for InterfaceKernel objects in 2D shall be analytically correct.
- 11.22.20The finite difference preconditioner shall work in parallel.
- 11.22.21The InterfaceKernel system shall support Vector Finite Elements in 2D.
- 11.22.22The system shall not perform memory allocation for automatic scaling when computing values.
- 11.22.23The InterfaceKernel system shall operate with coupled variables in 3D. This uses a penalty implementation that is optimally convergent.
- 11.22.24The InterfaceKernel system shall support Vector Finite Elements in 3D.
- 11.22.25The InterfaceKernel system shall use with interface material in 3D.
- 11.22.26The system shall be able to solve a simple interfacial source problem using automatic differentiation in which the slope on the left-hand side of the interface has a slope greater by two than the slope on the right-hand side.
- 11.22.27The system shall be able to couple variables at interfaces and have an accurate Jacobian provided through automatic differentiation.
- 11.22.28The system shall be able to solve a simple interfacial source problem using automatic differentiation and vector variables in which the slope on the left-hand side of the interface has a slope greater by two than the slope on the right-hand side.
- 11.22.29The system shall be able to couple vector variables at interfaces and have an accurate Jacobian provided through automatic differentiation.
- 11.22.30Adaptivity shall work with interface kernels as long as stateful properties are not used.
- 11.22.31The system shall error if the triad of interface kernels, adaptivity, and stateful properties are used together.
- 11.22.32The system shall be able to execute interfacial conditions on sidesets generated by gmsh.
- 11.22.33The system shall support Dirichlet and Neumann interface conditions.
- 11.22.34The system shall support penalty interface conditions.
- 11.22.35The system shall support matched-value interface with different variable coefficients with automatic differentiation.
- 11.22.36The system shall support matched-value interface with different variable coefficients.
- 11.22.37When computing residuals and jacobians on an interface, the system shall be able to use element information from the displaced mesh when requested
- 11.22.38When computing residuals and jacobians on an interface, the system shall be able to use element information from the reference mesh
- 11.22.39During mesh displacement, the system shall be able to compute different element Jacobians for different sides of an interface.
- rdg: Interfaces
- 11.23.1The system shall build a bijective map between variable numbers and their couple variable indices.
- 11.23.2The system shall report a reasonable error when requesting a Postprocessor from a parameter when
- the parameter is not found,
- the parameter does not represent a Postprocessor,
- the parameter is a single Postprocessor value and a greater index than zero is requested,
- and the parameter is a single Postprocessor value and a greater index than zero is requested.
- 11.23.3The system shall report a reasonable error when requesting a Postprocessor name from a parameter in which the postprocessor is a default value and not a name.
- 11.23.4The system shall report a reasonable error when it is too early to request if a postprocesor exists
- by parameter name and
- by Postprocessor name.
- 11.23.5The system shall report a reasonable error when requesting a Postprocessor value
- by parameter and the Postprocessor does not exist and
- by Postprocessor name and the Postprocessor does not exist.
- 11.23.6The system shall produce parallel-agnostic random number fields on a single processor.
- 11.23.7The system shall produce parallel-agnostic random number fields on two or more processors.
- 11.23.8The system shall produce parallel-agnostic random number fields on two or more threads.
- 11.23.9The system shall produce a parallel field without repeating patterns on distributed meshes.
- 11.23.10The system shall produce parallel-agnostic random number fields via the user defined (UserObject) system.
- 11.23.11The system shall produce parallel-agnostic random number fields via the user defined (UserObject) system on two or more processors.
- 11.23.12The system shall produce parallel-agnostic random number fields via the user defined (UserObject) system on two or more threads.
- 11.23.13The system shall produce a parallel field without repeating patterns via the user defined (UserObject) system.
- 11.23.14The system shall produce a parallel-agnostic random number via the material system.
- 11.23.15The system shall produce a parallel-agnostic random number via the material system on two or more processors.
- 11.23.16The system shall report a reasonable error when requesting a Reporter value from a parameter when
- the parameter is not found and
- the parameter does not represent a Reporter
- 11.23.17The system shall report a reasonable error when requesting a Reporter value when a Reporter with the same name exists with a different type.
- 11.23.18The system shall report a reasonable error when requesting a Reporter value
- by parameter and the Reporter value does not exist and
- by Reporter name and the Reporter value does not exist.
- 11.23.19The system shall report a reasonable error when it is too early to request if a Reporter value exists
- by parameter name and
- by Reporter name.
- 11.23.20The system shall report a reasonable error when requesting a UserObject when
- getting the name from a parameter and the parameter is not found,
- getting the name from a parameter and the parameter does not represent a name,
- getting the name from a parameter and the user object is not found,
- getting the UserObject by name and the user object is not found,
- getting the name from a paremeter and the provided object is not of the correct type, and
- getting the UserObject by name and the provided object is not of the correct type.
- 11.23.21The system shall provide an interface that reports if a UserObject exists by
- parameter,
- name,
- parameter and type, and
- name and type.
- 11.23.22The system shall report a reasonable error when requesting a VectorPostprocessor value from a parameter when
- the parameter is not found and
- the parameter does not represent a VectorPostprocessor.
- 11.23.23The system shall report a reasonable error when it is too early to request if a VectorPostprocessor exists
- by vector name and parameter name,
- by vector name and VectorPostprocessor name,
- by parameter name, and
- and by VectorPostprocessor name.
- 11.23.24The system shall report a reasonable error when requesting a VectorPostprocessor value
- by parameter and the VectorPostprocessor does not exist,
- by parameter and the VectorPostprocessor exists but the requested vector does not,
- by VectorPostprocessor name and the VectorPostprocessor does not exist, and
- by VectorPostprocessor name and the VectorPostprocessor exists but the requested vector does not.
- rdg: Kernels
- 11.24.1The system shall provide an ability to solve a 2D diffusion problem with Dirichlet boundary conditions.
- 11.24.2The system shall provide an ability to solve a 2D diffusion problem with Neumann boundary conditions.
- 11.24.3The system shall provide a diffusion kernel that obtains the diffusion coefficient from a material property
- 11.24.4The system shall provide an ability to solve a 2D diffusion problem including a volumetric source term.
- 11.24.5The system shall provide a tester that checks hand-coded Jacobian against finite difference Jacobian using -snes_type=test option.
- 11.24.6The system shall force the solver to take at least one iteration regardless of the initial residual norm when the snes_force_iteration option is specified.
- 11.24.7The system shall not compute an extra residual if the linear solver is used.
- 11.24.8The system shall provide an ability to solve a 2D diffusion problem with Dirichlet boundary conditions using
- automatic differentiation and
- compute the correct Jacobian matrix.
- 11.24.9The system shall provide an ability to solve a 2D diffusion problem Neumann boundary conditions using
- automatic differentiation and
- compute the correct Jacobian matrix.
- 11.24.10The system shall provide an ability to solve a 2D diffusion problem including a volumetric source term using
- automatic differentiation and
- compute the correct Jacobian matrix.
- 11.24.11Coupled variable gradient Jacobian entries generated with AD shall be accurate
- 11.24.12The system shall provide a source term proportional to the value of
- an aux variable and shall be able to produce the exact Jacobian
- an finite element primary variable and shall be able to produce the exact Jacobian
- 11.24.13Coupled variable value Jacobian entries generated with AD shall be accurate
- 11.24.14We shall be able to get aux variable values through adCoupledValue with the knowledge that the derivatives will always be zero
- 11.24.15Getting a constant aux variable through adCoupledValue shall not destroy our Jacobian
- 11.24.16We shall be able to get dot aux variable values through adCoupledValue with the knowledge that the time derivatives will always be zero
- 11.24.17The system will output the required number of derivative entries needed for automatic differentiation calculations
- 11.24.18The system shall automatically generate a full coupling matrix when doing global AD indexing such that there are no new matrix memory allocations.
- 11.24.19The system shall automatically generate a full coupling matrix when doing global AD indexing, resulting in a perfect Jacobian even when the user has not requested full coupling.
- 11.24.20The system shall allow the user to override the automated generation of a full coupling matrix when doing global AD indexing, which for this test results in a new nonzero allocation because there is off-diagonal coupling.
- 11.24.21Jacobians calculated by ADTimeDerivative and ADBodyForce shall be perfect.
- 11.24.22The Jacobian of ADBodyForce with a force function shall be perfect.
- 11.24.23The system shall solve a one-dimensional Diffusion problem with a material property diffusivity and match a known solution.
- without and
- with automatic differentiation including
- the correct Jacobian matrix.
- 11.24.24The system shall solve a two-dimenional Diffusion problem with a material property diffusivity and match a known solution.
- without and
- with automatic differentiation including
- the correct Jacobian matrix.
- 11.24.25The system will error and tell the user if they use derivative storage that is too small
- 11.24.26The system shall contain a consuming reaction term object whose Jacobian is calculated via forward automatic differentiation.
- 11.24.27The system shall produce a perfect Jacobian for a consuming reaction term object using forward automatic differentiation.
- 11.24.28The system shall contain a consuming reaction term object with a scalar coefficient whose Jacobian is calculated via forward automatic differentiation.
- 11.24.29The system shall produce a perfect Jacobian for a consuming reaction term object with a scalar coefficient using forward automatic differentiation.
- 11.24.30Jacobian entries generated with AD for a simple diffusion problem shall be accurate
- 11.24.31The system shall be able to solve a transient diffusion problem with
- automatic differentiation and
- compute the correct Jacobian matrix.
- 11.24.32The system shall be able to solve a transient diffusion problem with vector variables
- automatic differentiation and
- compute the correct Jacobian matrix.
- 11.24.33Jacobian entries generated with AD shall match hand-coded Jacobian entries as measured through save-in values
- 11.24.34The system shall provide a generic kernel object that allows for easy switching between hand-coded and automatic computation of the Jacobian, and encourages maximum kernel code-reuse.
- 11.24.35The system shall support coupling of variables with automatic differentiation and vector values.
- 11.24.36The system shall support coupling to the gradient of variables with automatic differentiation and vector values.
- 11.24.37The system shall support coupling of default values for variables with automatic differentiation and vector values.
- 11.24.38The system shall run a coupled diffusion-advection problem with higher-order variables on a non-regular mesh domain:
- in a steady-state calculation, and
- in a transient calculation.
- 11.24.39The system shall support direct tensor-vector products and vector dot products to maintain dimension agnostic formulations where possible.
- 11.24.40The system shall provide array diffusion kernels on an array variable.
- 11.24.41The system shall provide array reaction kernels on an array variable.
- 11.24.42The system shall provide array DG diffusion kernels on an elemental array variable.
- 11.24.43The system shall provide coupling of standard variables in array kernels.
- 11.24.44The system shall provide coupling of array variables in standard kernels.
- 11.24.45The system shall provide residual save-in and Jacobian diagonal save-in for
- array and
- standard variables.
- 11.24.46The system shall provide array time derivative kernels on an array variable.
- 11.24.47The system shall provide array body-force kernels on an array variable.
- 11.24.48We shall be able to show that without automatic scaling, this system is singular
- 11.24.49We shall be able to show that with automatic scaling, this system is non-singular
- 11.24.50We shall be able to show that with automatic scaling we can run this problem successfully in parallel
- 11.24.51The system shall support the ability to apply a kernel to a subset of the domain
- through a subdomain restriction on the kernel, and
- through a subdomain restriction on the variable.
- 11.24.52The system shall support scaling the computed time derivative by a scalar coefficient.
- 11.24.53The system shall include the ability to compute the residual contribution from the conservative form of the advection operator
- without upwinding in 3D,
- with upwinding in 3D,
- without upwinding in 1D,
- with upwinding in 1D,
- without upwinding in 2D,
- with upwinding in 2D,
- with upwinding and an outflow boundary condition, and
- without any outflow boundary conditions.
- 11.24.54A coupled time derivative kernel shall be provided
- 11.24.55A coupled time derivative kernel with forward mode automatic differentiation shall be provided
- 11.24.56A coupled time derivative kernel compatible with vector variables with hand-coded jacobians shall be provided
- 11.24.57The Jacobian from VectorCoupledTimeDerivative shall be perfect
- 11.24.58The SMP Jacobian for a problem with a hanging-node shall be non-singular
- 11.24.59The colored finite difference Jacobian for a problem with a hanging-node shall be non-singular
- 11.24.60The standard finite difference Jacobian for a problem with a hanging-node shall be non-singular
- 11.24.61A matrix-free operator shall be able to solve the hanging-node problem, indicating it is non-singular
- 11.24.62The SMP Jacobian shall be perfect for the hanging-node problem
- 11.24.63The system shall compute a perfect Jacobian via automatic differentiation for a hanging-node problem and simultaneously handle automatic differentiation objects that do not actually have nonlinear variable dependence.
- 11.24.64The system shall support applying a function of space-time as a forcing function to the mesh domain.
- 11.24.65The system shall report an error when a parsed function expression contains quote characters.
- 11.24.66The system shall support hybrid finite element method (HFEM) calculations with Dirichlet boundary conditions using standard variables.
- 11.24.67The system shall support hybrid finite element method (HFEM) calculations with Dirichlet boundary conditions using array variables.
- 11.24.68The system shall support hybrid finite element method (HFEM) calculations with preconditioner only using the block diagonal Jacobian.
- 11.24.69The system shall support hybrid finite element method (HFEM) calculations with coupling of components of array variables on internal sides.
- 11.24.70The system shall support hybrid finite element method (HFEM) calculations with coupling of components of array variables on boundary sides.
- 11.24.71The system shall support hybrid finite element method (HFEM) calculations with Neumann boundary conditions using standard variables.
- 11.24.72The system shall support hybrid finite element method (HFEM) calculations with Neumann boundary conditions using array variables.
- 11.24.73The system shall support hybrid finite element method (HFEM) calculations with Robin boundary conditions using standard variables.
- 11.24.74The system shall support hybrid finite element method (HFEM) calculations with Robin boundary conditions using array variables.
- 11.24.75The system shall support hybrid finite element method (HFEM) calculations with high order shape functions.
- 11.24.76The system shall support hybrid finite element method (HFEM) calculations with Robin boundary conditions through Lagrange multipliers.
- 11.24.77The system shall support hybrid finite element method (HFEM) calculations with displaced meshes.
- 11.24.78The system shall issue an error for unsupported mesh adaptation with hybrid finite element method (HFEM) calculations.
- 11.24.79The system shall support hybrid finite element method (HFEM) calculations with Dirichlet boundary conditions with boundary values specified by variables.
- 11.24.80The system shall issue an error for not fully supported distributed mesh with hybrid finite element method (HFEM) calculations.
- 11.24.81The system shall be able to compute lower dimensional element volumes using element Jacobian information computed earlier during finite element object reinitialization and when the highest dimension of the mesh is
- two
- three
- 11.24.82We shall automatically capture the dependence of things like JxW and grad_test on (second order) displacements
- 11.24.83We shall automatically capture the dependence of things like JxW and grad_test on (first order) displacements
- 11.24.84We shall automatically capture the dependence of things like JxW and grad_test on (second order) displacements for a cylindrical geometry
- 11.24.85We shall automatically capture the dependence of things like JxW and grad_test on (first order) displacements for a cylindrical geometry
- 11.24.86We shall automatically capture the dependence of things like JxW and grad_test on (second order) displacements for a spherical geometry
- 11.24.87We shall automatically capture the dependence of things like JxW and grad_test on (first order) displacements for a spherical geometry
- 11.24.88The system shall provide optimized kernels for residuals with the test function or its gradient factored out.
- 11.24.89The system shall provide optimized kernels for residuals with the test function or its gradient factored out in the automatic differentiation system.
- 11.24.90The system shall calculate perfect Jacobians for the automatic differentiation precompute problem.
- 11.24.91The system shall support the ability to use mass lumping for time derivative terms.
- 11.24.92The system shall verify that the Jacobian terms when using mass lumping for time derivative terms are computed correctly.
- 11.24.93The system shall support a kernel for coupling the sum of several products of material properties with variables and constant coefficients
- 11.24.94The system shall have the ability to declare the derivatives of material properties.
- 11.24.95The system shall have the ability to verify individual Jacobian contributions before they are scaled by other finite element factors in the system.
- 11.24.96The system shall support solving Ordinary Differential Equations in explicit form.
- 11.24.97The system shall support solving Ordinary Differential Equations in implicit form.
- 11.24.98The system shall support solving ODEs specified within the input file through parsed function syntax.
- 11.24.99The system support coupling of postprocessor values in the parsed function ODE kernel.
- 11.24.100The system shall support solving Coupled Ordinary Differential Equations.
- 11.24.101The system shall allow scalar variable initial condition to be loaded from a file mesh
- 11.24.102The system shall allow auxscalar variable initial condition to be loaded from a file mesh
- 11.24.103The system shall solve the constrained Neumann problem using the Lagrange multiplier approach.
- 11.24.104The system shall solve the constrained Neumann problem using the Lagrange multiplier approach when displacements are active.
- 11.24.105The system shall support the ability to set Dirichlet boundary conditions using the Lagrange multiplier approach.
- 11.24.106The system shall support retrieving a vector of values in a kernel object for the purpose of computing a residual statement.
- 11.24.107The system shall run a simple 2D linear diffusion problem with Dirichlet boundary conditions on a regular mesh.
- 11.24.108The system shall be able to run a transient diffusion problem
- 11.24.109The system shall not do any mallocs in MatSetValues for simple kernels
- 11.24.110We shall not be able to solve a problem where the physics Jacobians are very large compared to the jacobian from a Dirichlet BC (unity)
- 11.24.111We shall be able to solve an initially poorly scaled problem by using MOOSE's automatic scaling feature
- 11.24.112We shall be able to solve an initially poorly scaled problem by using MOOSE's automatic scaling feature in parallel
- 11.24.113We shall not be able to solve a problem where the physics has large changes over time if we only scale once
- 11.24.114We shall be able to solve a problem where the physics has large changes over time if we scale on every time step
- 11.24.115We shall be able to solve a problem where the physics has large changes over time if we scale on every time step in parallel
- 11.24.116The system shall be able to do on the fly time derivative and gradient evaluations of variable functors.
- 11.24.117The system shall error if the volumetric residual calculation is not assigned an associated vector within the numerical solving routine.
- 11.24.118Time kernel requires a transient executioner
- 11.24.119The kernel can be only assigned to the existing vector tags in the system
- 11.24.120The kernel can be only assigned to the existing matrix tags in the system
- 11.24.121The system shall be able to reproduce the simple_transient_diffusion test with VectorTimeDerivative (hand-coded Jacobian).
- 11.24.122The Jacobian from VectorTimeDerivative shall be perfect
- 11.24.123The system shall compute second-order time derivatives for vector variables
- 11.24.124The system shall be able to solve a curl-curl problem using NEDELEC_ONE elements.
- 11.24.125The system shall be able to couple a vector variable into a standard kernel.
- 11.24.126The system shall be able to assign a default value for a vector variable from the source file.
- 11.24.127The system shall warn when assigning a default value with number of components less than LIBMESH_DIM, and it shall be able to assign the default value from the input file.
- 11.24.128The system shall be able to assign a default value for a vector variable from the input file and still have the correct jacobian.
- 11.24.129The system shall be able to solve multi-dimensional problems with LAGRANGE_VEC variables.
- 11.24.130The system shall be able to solve one-dimensional problems with LAGRANGE_VEC variables.
- 11.24.131The system shall be able to solve one-dimensional problems with LAGRANGE_VEC variables and produce the correct Jacobian.
- 11.24.132The system shall be able to solve multi-d LAGRANGE_VEC problems with automatic differentiation and reproduce the hand-coded result.
- 11.24.133The system shall be able to solve multi-d LAGRANGE_VEC problems with automatic differentiation and have a perfect Jacobian.
- 11.24.134The system shall be able to couple a vector variable into a standard kernel and produced the correct Jacobian.
- 11.24.135The system shall be able to couple a standard variable into a vector kernel. Additionally, The system shall be able to calculate time derivatives of variable gradients.
- 11.24.136The system shall be able to compute the correct Jacobian when coupling a standard variable into a vector kernel and taking time derivatives of variable gradients.
- 11.24.137The system shall be able to assign dirichlet boundary conditions for LAGRANGE_VEC variables; obtain coupled vector variable gradients; and correctly initialize both volume and face curl shape functions when the curl of a variable is requested.
- 11.24.138The system shall error if the 'function' and 'function_x' parameters are both set when defining a vector function Dirichlet boundary condition.
- 11.24.139The system shall error if the 'function' and 'function_x' parameters are both set within the ADVectorFunctionDirichletBC object.
- rdg: Make Install
- 11.25.1The system shall support the ability to report installable inputs on the command line.
- 11.25.2The system shall support the ability to "install" inputs:
- from a pre-determined user-readable location;
- copied using a MOOSE-based binary;
- verifying a successful copy operation;
- able to report an error if overwriting may occur using a MOOSE-based binary;
- able to link a binary to an installed location;
- able to successfully launch the TestHarness using a MOOSE-based binary;
- and cleaned up from a user-readable location.
- rdg: Markers
- 11.26.1The system shall include the ability to mark a mesh subdomain for uniform refinement.
- 11.26.2The adaptivity system shall create an auxiliary field variable that marks elements for refinement adjacent to a boundary.
- 11.26.3The adaptivity system shall create an auxiliary field variable that marks elements for refinement within a given distance of a boundary.
- 11.26.4The adaptivity system shall create an auxiliary field variable that marks elements for refinement within a rectangular region.
- 11.26.5The adaptivity system shall adapt the mesh within a rectangular region.
- 11.26.6The system shall include the ability to combine multiple mesh refinement markers into a single value.
- 11.26.7The system shall include the ability to mark elements within a subdomain to be unchanged for mesh adaptivity.
- 11.26.8The system shall include a means for setting mesh refinement flags based on percent of error for a sorted vector of error values computed for each finite element.
- 11.26.9The system shall include the ability to use the same error extremes during all calculations of error fraction values during mesh adaptivity.
- 11.26.10The system shall include a means for setting mesh refinement flags based on percent of error for a sorted vector of error values computed for each finite element using FV variables
- 11.26.11The system shall include a means for computing mesh refinement flags based on an absolute values of error.
- 11.26.12The system shall include a means for performing mesh adaptivity based on an absolute values of error.
- 11.26.13It shall not be possible to specify Markers to run on the displaced mesh.
- 11.26.14The system shall support the ability to mark elements for mesh adaptivity based on a bounding box with arbitrary orientation.
- 11.26.15The system shall support access to finite element quadrature point locations during the calculation of refinement marker flags.
- 11.26.16The adaptivity system shall create an auxiliary field variable that marks elements containing the points from the reporter for refinement.
- 11.26.17The marker shall create an error if the coordinate vectors are not all the same size
- 11.26.18The marker shall be used for adaptivity for a moving point, being able to coarsen elements the point moves out of but not coarsen elements if it contains point.
- 11.26.19The system shall support the capability of creating a tool for marking finite elements for mesh refinement, for example:
- adding elements within the intersection of two circles;
- adding elements within the intersection of two circles and removing elements outside the circles; and
- performing adaptivity when a non-uniform initial condition is defined.
- 11.26.20The system shall support marking the entire finite element mesh for refinement.
- 11.26.21The system shall include the ability to mark elements within a finite element mesh for adaptivity based on if the value of a variable is within a specific range.
- 11.26.22The system shall include the ability to mark elements within a finite element mesh for adaptivity based on if the value of a variable is above or below a threshold.
- rdg: Materials
- 11.27.1The system shall be able to convert functors from AD to regular.
- 11.27.2The system shall be able to convert functors from regular to AD.
- 11.27.3The Jacobian from a material property declared as AD and gotten as AD shall be accurate
- 11.27.4The Jacobian from a material property declared as regular and gotten as regular shall be inaccurate
- 11.27.5AD shall work with stateful material properties and the Jacobian shall be beautiful
- 11.27.6The time evolution of the stateful diffusivity property shall show that AD works with stateful material properties
- 11.27.7We shall be able to set default values for AD material properties
- 11.27.8We shall have a perfect Jacobian when using default values for an AD material property
- 11.27.9For a given dual number, the system shall be able to construct a map from global degree of freedom index to the corresponding derivative
- 11.27.10ADPiecewiseLinearInterpolationMaterial shall create a material with a linear interpolation of a variable
- 11.27.11PiecewiseLinearInterpolationMaterial shall create a material with a linear interpolation of a variable and perform approriate scaling
- 11.27.12ADPiecewiseLinearInterpolationMaterial shall create a material with a linear interpolation and extrapolation of a variable
- 11.27.13ADPiecewiseLinearInterpolationMaterial shall throw an error if x, y, and xy_data are all specified
- 11.27.14ADPiecewiseLinearInterpolationMaterial shall throw an error if x and xy_data are both specified
- 11.27.15ADPiecewiseLinearInterpolationMaterial shall throw an error if x and y vectors are different lengths
- 11.27.16ADPiecewiseLinearInterpolationMaterial shall throw an error if xy_data vector is not a multiple of two
- 11.27.17ADPiecewiseLinearInterpolationMaterial shall calculate perfect Jacobians
- 11.27.18The system shall provide material properties in boundary restricted objects acting on nodal variables.
- 11.27.19The system shall provide material properties in boundary restricted objects acting on elemental variables.
- 11.27.20The system shall provide location dependent boundary material property evaluations with finite volume variables.
- 11.27.21The system shall be able to use automatic differentiation instantiations of piecewise linear functions.
- 11.27.22By default coupled variables shall map to teh x,y,z, and t function parameters.
- 11.27.23The user shall be able to provide a custom mapping of coupled variables to function parameters.
- 11.27.24Duplicate positions in the coupled variable mapping to function parameters shall raise an error.
- 11.27.25A number of positions in mapping to function parameters that does not match the number of coupled variable shall raise an error.
- 11.27.26The ADCoupledValueFunctionMaterial shall return correct derivatives for coupled AD variables.
- 11.27.27The system shall issue an error when multiple materials properties with the same name are declared on the same block.
- 11.27.28The system shall be capable of producing analytic derivatives of material properties:
- defined by function expressions,
- involving chain rules of material properties defined by function expressions, and
- for the free energy Allen-Cahn Bulk material function.
- 11.27.29The system shall support late binding of derivative material properties:
- so that construction order does not influence the outcome of the tests, and
- so that construction order does not influence the outcome of the tests when using automatic differentiation, and
- so that they may be retrieved before being declared.
- 11.27.30The system shall support supplying a constant literal in place of a property name for material property derivative consumers.
- 11.27.31The system shall support optional coupling where materials that do not exist are returned as valid objects containing zero.
- 11.27.32The system shall issue an error when required derivative materials that are retrieved are never declared.
- 11.27.33The system shall handle a bad evaluation by
- passing a silent nan.
- throwing a warning and passing a silent nan.
- throwing an error.
- throwing an exception.
- 11.27.34The system shall handle a bad evaluation when using JIT by
- passing a silent nan.
- throwing a warning and passing a silent nan.
- throwing an error.
- throwing an exception.
- 11.27.35The system shall be capable of coupling postprocessor values in
- ParsedMaterial
- DerivativeParsedMaterialParsedMaterial
- ADParsedMaterial
- ADDerivativeParsedMaterial
- 11.27.36The system shall be capable of producing analytic derivatives of material properties using dual numbers:
- returning an exact jacobian.
- returning an exact jacobian in derivative materials.
- defined by function expressions,
- involving chain rules of material properties defined by function expressions, and
- 11.27.37The system shall create AD material properties even if the derivatives are zero
- 11.27.38The system shall support late binding of derivative material properties:
- so that they may be retrieved before being declared.
- 11.27.39The system shall support supplying a constant literal in place of a property name for material property derivative consumers that require dual numbers.
- 11.27.40The system shall support optional coupling where materials that do not exist are returned as valid objects containing zero, supporting dual numbers.
- 11.27.41The system shall issue an error when required dual number derivative materials that are retrieved are never declared.
- 11.27.42The system shall handle a bad evaluation using dual numbers by
- passing a silent nan.
- throwing a warning and passing a silent nan.
- throwing an error.
- throwing an exception.
- 11.27.43The system shall allow users to request derivatives with respect to function symbols other than MOOSE variables
- such as derivatives w.r.t. material properties
- and error out if derivatives w.r.t unknown symbols are requested
- and error out if derivatives MOOSE variables are requested in additional_derivative_symbols (as they are requested by default)
- and error out if any symbols are supplied more than once
- 11.27.44The system shall require explicitly coupled properties to exist
- for regular properties in ParsedMaterials
- and error out for non-existing for explicitly requested derivatives in ParsedMaterials
- for explicitly requested derivatives in ParsedMaterials
- for explicitly requested derivatives but optimized out derivatives in ParsedMaterials
- but provide for a user override to default non-existing properties to zero
- in DerivativeParsedMaterials
- 11.27.45The system shall provide a method for summing multiple DerivativeParsedMaterialsand compare exact to a single DerivativeParsedMaterial
- validating coupling
- without validating coupling
- validating coupling using automatic differentiation
- without validating coupling using automatic differentiation
- 11.27.46The system shall support the ability for materials to force immediate execution of other (discrete) materials:
- for a simple monomial expression, and
- for a simple polynomial expression.
- 11.27.47The system shall not calculate materials that are meant to be controlled by other materials (discrete) materials.
- 11.27.48The system shall issue a warning when a "discrete" material object is retrieved for use in a controlling material but it is set to auto-execute.
- 11.27.49The system shall verify that a material being retrieved is defined everywhere that the retrieving material is defined:
- on compatible blocks, and
- on compatible boundaries.
- 11.27.50The system shall issue a warning when a "discrete" material's "reset" method is not defined.
- 11.27.51The system shall be able to convert functors from AD to regular and vice versa.
- 11.27.52The system shall error with a clear parameter error if
- the names for the regular functors to be converted are going to overlap with the new automatic differentiation functors
- the names for the regular functors to be converted are going to overlap with the other new regular functors
- the names for the automatic differentiation functors to be converted are going to overlap with the new regular functors
- the names for the automatic differentiation functors to be converted are going to overlap with the other new automatic differentiation functors
- the number of automatic differentiation functors to convert does not match the number of names for the converted functors
- the number of regular functors to convert does not match the number of names for the converted functors
- 11.27.53The system shall be able to execute functor material properties in integrated boundary conditions
- with some caching of the property evaluations
- with no caching of the property evaluations
- 11.27.54The system shall be able to create functor material properties from the gradient of other functors.
- 11.27.55The system shall be able to create material properties that can be evaluated on-the-fly provided geometric arguments.
- 11.27.56The system shall error if multiple definitions are given for a functor material property on a given subdomain.
- 11.27.57The system shall be able to solve a diffusion problem with different diffusivities on different subdomains and obtain the same results using
- material properties bound to references
- material properties evaluated with geometric position information
- 11.27.58The system shall be able to transfer vector material properties to an auxiliary variable, on a per-component basis.
- 11.27.59The system shall be able to evaluate, cache, and then clear functor material property evaluations
- at the beginning of timesteps
- always, so always perform evaluations
- on nonlinear iterations
- on linear iterations
- 11.27.60The system shall error if a functor material property is declared as returning one type and is retrieved as returning a different type.
- 11.27.61The system shall error if a functor material property is declared with the same name as another functor.
- 11.27.62The system shall error if a functor vector material property is declared with the same name as another functor.
- 11.27.63The system shall be able to cache functor evaluations associated with cell centers.
- 11.27.64The system shall be able to compute the vector norm in a functor material property of component scalars
- 11.27.65The system shall be able to supply a functor capable of computing the norm of a vector functor.
- 11.27.66The system shall error if a user provides to the vector magnitude functor material both a vector functor parameter and
- x-component functor parameter
- y-component functor parameter
- 11.27.67The system shall be able to produce a valid Real material object on the fly for use in calculations requiring material properties
- computed at each quadrature point.
- with a single value per element for efficiency that is made available to all quadrature points in a coupled calculation.
- 11.27.68The system shall shall be able to compute a RankTwoTensor material object
- with constant values.
- with constant values using automatic differentiation.
- with values determined by functions.
- with values determined by functions using automatic differentiation.
- 11.27.69The system shall report the retrieval of material properties by names:
- on boundaries,
- on blocks,
- on the all mesh boundaries, and
- on the all mesh blocks.
- 11.27.70The system shall support retrieving a single property (name) supplied by different materials on different mesh blocks.
- 11.27.71The system shall report an error if a material property is needed on the entire domain but is only supplied on a subset of the subdomains.
- 11.27.72The system shall report that a material property is available when it is defined on a subdomain.
- 11.27.73The system shall support retrieving a boundary restricted material property for performing a calculation on a boundary.
- 11.27.74The system shall report and error when a boundary restricted material is not defined on the same boundary as a boundary restricted object using that property in a calculation.
- 11.27.75The system shall be able to grab face and neighboring face variable values and material properties in a single material object that lives on an interface
- 11.27.76The system shall be able to grab face and neighboring face variable values and material properties in a single material object that lives on an interface when the mesh is split
- 11.27.77The system shall be able to calculate stateful material properties in an interface material object
- 11.27.78The system shall evaluate interface materials such that they can be used in boundary restricted elemental auxiliary kernels
- 11.27.79The system shall support material property calculations that depend on other material properties:
- with one level of dependencies,
- with two levels of dependencies,
- with three levels of dependencies, and
- with differing values across mesh subdomains.
- 11.27.80The system shall support material property calculations for used with discontinuous Galerkin finite element method.
- 11.27.81The system shall support material property calculations that are restricted to boundaries on the mesh.
- 11.27.82The system shall error if material property calculations result in a cyclic dependency.
- 11.27.83The system shall error is a material property is requested on a subdomain on which it is not defined.
- 11.27.84The system shall support material property calculations that operate on auxiliary systems and during volume and surface residual calculations.
- 11.27.85The system shall error if material properties are not computed on all subdomains.
- 11.27.86The system shall include that ability to handle C++ exceptions during material property calculation routines:
- on a single process,
- from processor 1 during a parallel calculation with 4 processes,
- from processor 0 during a parallel calculation with 4 processes.
- 11.27.87The system shall support the calculation of material properties that vary at numerical integration quadrature points.
- 11.27.88The system shall only compute material properties when they are needed (consumed by other objects).
- 11.27.89The system shall support having multiple materials supplying multiple unique material properties on the same subdomains of the mesh.
- 11.27.90The system shall not create a dependency when old versions of material properties are retrieved and used in calculations.
- 11.27.91The system shall support optional material property coupling when the requesting object
- is a material that comes before the providing material
- is a material that comes after the providing material
- is an AuxKernel
- is a UserObject
- 11.27.92Optional material property objects that cannot be resolved shall evaluate to false
- 11.27.93The optional material property system use from a material object shall return
- an accessible material for existing AD properties
- an accessible material for existing non-AD properties
- an inaccessible material for non-existing AD properties
- an inaccessible material for non-existing non-AD properties
- 11.27.94The system shall support the output of material data as field variables including
- outputting all properties within a material definition;
- outputting all properties from the output definition;
- outputting certain properties within a material definition;
- outputting certain properties within the output definition on a subdomain;
- outputting certain properties within the material definition on a subdomain;
- outputting certain properties within the material definition on a subdomain with a displaced configuration;
- outputting certain properties within the material definition on a boundary;
- outputting certain properties within the material definition to different files; and
- outputting properties for steady-state simulations.
- 11.27.95The system shall support the output as auxiliary field variables of
- automatic differentiation vector material properties
- 11.27.96The system shall error if an existing variable shares the same name as an auxiliary variable used for material output
- 11.27.97The system shall error if the supplied output options for material data output are not consistent with the list of available outputs.
- 11.27.98The system shall issue warnings if material data added by materials cannot be outputted as field variables.
- 11.27.99The system shall show the field variable names for outputting material data added by materials.
- 11.27.100The system shall provide a material object that can, for a single material property, map subdomain IDs to a possibly discontinuous property value.
- 11.27.101The system shall provide a material object that can, for a single functor material property, map subdomain IDs to different functors.
- 11.27.102The system shall support the calculation of a material property with a
- linear interpolation of a variable,
- with a scaling factor, and
- extrapolation.
- 11.27.103The system shall support the calculation of a material property with a linear interpolation and error if
- x, y, and xy_data are all specified;
- x and xy_data are both specified;
- the x and y vectors are different lengths; and
- the xy_data vector length is not a multiple of two.
- 11.27.104The system shall be able to produce stateful material properties that can be consumed by other objects in the system.
- 11.27.105The system shall support coupling in an auxiliary field variable for use in initializing stateful material properties.
- 11.27.106The system shall allow the retrieval of stateful material properties for calculations on internal sides within a mesh.
- 11.27.107The system shall be able to generate up to three states of material properties for use in other calculations: current, old and older
- where properties are stored in auxiliary spatial fields, and
- when those properties are averaged and output to a comma-separated value file.
- 11.27.108The system shall verify that the oldest material property (older) can be coupled to other objects for use in another calculation:
- where properties are stored in auxiliary spatial fields, and
- when those properties are averaged and output to a comma-separated value file.
- 11.27.109The system shall be able to promote normal material properties to stateful when old/older properties are requested.
- 11.27.110The system shall make material property calculations available during the computation of the initial Residual vector.
- 11.27.111The system shall store stateful properties that vary at every calculation point (quadrature point) similarly to a normal field variable even though they are not interpolatory:
- on blocks, and
- on boundaries.
- 11.27.112The system shall support the ability to copy stored stateful data from one element to another element.
- 11.27.113The system shall handle storing stateful properties related to elements on the mesh as the mesh is adapting:
- when properties are spatially constant, and
- when properties vary spatially.
- 11.27.114The system shall not store any stateful material properties that are declared but never used.
- 11.27.115The system shall be able to correctly handle stateful materials
- when using a regular material property.
- when using an AD material property.
- when using a regular material property using templated methods.
- when using an AD material property using templated methods.
- 11.27.116The system shall be capable of outputting material properties through auxiliary field variables.
- 11.27.117The system shall report and error when invalid indices are requested when attempting to output material properties through auxiliary field variables.
- 11.27.118The system shall only prepare or setup field variables on each element when they are used by a material object.
- 11.27.119The system shall support coupling in a nonlinear field variable for use in initializing stateful material properties.
- rdg: Mesh
- 11.28.1The system shall support importing mesh information from Abaqus that includes
- element identifiers,
- element sets, and
- element sets with extra space in file.
- 11.28.2The system shall perform identical adaptivity patterns on both the reference mesh and the displaced mesh when it exists.
- 11.28.3The system shall support toggling adaptivity on/off during a simulation.
- 11.28.4The system shall perform one or more adaptivity steps on the mesh before the simulation begins.
- 11.28.5The system shall support patch-based error estimation among a stencil of elements.
- 11.28.6The system shall support multiple adaptive steps per solve.
- 11.28.7The system shall perform adaptivity on systems containing multiple independent field variables.
- 11.28.8The system shall support running adaptivity on an interval basis (every several time steps).
- 11.28.9The system shall support weighted error estimation when considering multiple field variables for adaptivity.
- 11.28.10The system shall output all boundary and subdomain connections.
- 11.28.11The system shall support the use of a centroid-based parallel partitioning scheme.
- 11.28.12The system shall generate pre-split mesh files using a standard input file combined with command line arguments.
- 11.28.13The system shall use pre-split binary mesh files using a standard input file combined with command line arguments.
- 11.28.14The system shall auto-detect and use pre-split meshes using a standard input file combined with command line arguments.
- 11.28.15The system shall use pre-split ascii meshes when the command line parameter also includes the pre-split suffix.
- 11.28.16The system shall use pre-splits for several different numbers of processors auto-detected from the number of MPI processors used.
- 11.28.17The system shall use pre-splits for several different numbers of processors when the command line parameter also includes the pre-split suffix.
- 11.28.18The system shall generate a quadrilateral mesh consisting of concentric circles.
- 11.28.19The system shall support the ability to create custom objects for performing mesh partitioning, for example
- a linear partitioner that
- operates with a displaced configuration and
- is capable of restarting.
- 11.28.20The system shall compute and store internal face data on request for
- quadrilateral elements,
- triangular elements, and
- quadrilateral elements in multiple regions.
- 11.28.21The system shall read GMesh (.msh) format file meshes.
- 11.28.22The system shall read GMesh (.msh) format file meshes containing multiple boundaries.
- 11.28.23The system shall support refinement of QUAD4 mesh elements.
- 11.28.24The system shall support refinement of QUAD8 mesh elements.
- 11.28.25The system shall support refinement of QUAD9 mesh elements.
- 11.28.26The system shall support refinement of TRI3 mesh elements.
- 11.28.27The system shall support refinement of TRI6 mesh elements.
- 11.28.28The system shall support refinement of HEX8 mesh elements.
- 11.28.29The system shall support refinement of HEX20 mesh elements.
- 11.28.30The system shall support refinement of HEX27 mesh elements.
- 11.28.31The system shall support refinement of TET4 mesh elements.
- 11.28.32The system shall support refinement of TET10 mesh elements.
- 11.28.33The system shall support refinement of PRISM6 mesh elements.
- 11.28.34The system shall support refinement of PRISM15 mesh elements.
- 11.28.35The system shall support refinement of PRISM18 mesh elements.
- 11.28.36The system shall support refinement of PYRAMID5 mesh elements.
- 11.28.37The system shall support refinement of PYRAMID13 mesh elements.
- 11.28.38The system shall support refinement of PYRAMID14 mesh elements.
- 11.28.39The system shall generate a structured mesh on a Cartesian domain.
- 11.28.40The system shall generate first-order, structured meshes with biasing in the x, y, and z directions.
- 11.28.41The system shall generate second-order, structured meshes with biasing in the x, y, and z directions.
- 11.28.42The system shall include the ability to generate an annular mesh that errors when
- the min radius is larger than the max radius;
- the min angle is greater than or equal to the max angle;
- the angle separation is larger than 360 degrees;
- the number of elements in the angular direction is too small due to the number of elements; and
- the number of elements in the angular direction is too small due to the maximum angle.
- shall throw an error if the quadrilateral and triangular subdomain ids are the same.
- shall throw an error if both radial positions and the number of radial elements are prescribed.
- shall throw an error if both radial positions and the radius growth parameter are prescribed.
- shall throw an error if any of the radial positions fall out of the bounds between rmin and rmax.
- 11.28.43The system shall include the ability to create
- an annulus using quad elements;
- an annulus sector using quad elements;
- a circular disk using quad elements; and
- circular disk sector using quad elements.
- 11.28.44The system shall have an algorithm for meshing an annular region with triangular elements.
- 11.28.45The system shall have an algorithm for generating triangular and quadrilateral meshes for the Ringleb problem.
- 11.28.52The system shall allow writing out the mesh without running a simulation.
- 11.28.53The system shall print out information about the mesh when writing out the mesh.
- 11.28.54The system shall warn when using –mesh-only and there is no clear filename to use
- 11.28.55The system shall support overriding output dimension when necessary to store coordinates in higher planes
- 11.28.56The system shall support writing parallel checkpoint files with –mesh-only
- 11.28.57The system shall support simulations on meshes containing both 1D and 2D element types.
- 11.28.58The system shall support proper material evaluations on meshes containing both 1D and 2D element types.
- 11.28.59The system shall support simulations on meshes containing both 1D and 3D element types.
- 11.28.60The system shall generate meshes with different sets of element integers and properly stitch them.
- 11.28.61The system shall support interchangeable use of integer and string identifiers for mesh entities.
- 11.28.62The system shall support interchangeable use of integer and string identifiers for mesh entities read from the XDA format.
- 11.28.63The system shall support interchangeable use of integer and string identifiers within the BCs/Periodic block.
- 11.28.64The system shall support the ability to assign and use string names to mesh entities during the simulation startup.
- 11.28.65The system shall support writing solution data in the Nemesis parallel file format.
- 11.28.66The system shall support the re-partitioning of mesh files input using the Nemesis format.
- 11.28.67The system shall issue an error if no Mesh block is provided.
- 11.28.68The system shall issue a diagnostic when a referenced node set does not exist in the mesh
- 11.28.69The system shall generate a mesh using one or more meshes stitched into a pattern controlled by a 2D array.
- 11.28.70The system shall read in a previously generated "patterned mesh" and run a simulation using that mesh.
- 11.28.71The system shall produce a valid periodic node map with only one periodic constraint direction.
- 11.28.72The system shall produce a valid periodic node map with two periodic constraint directions.
- 11.28.73The system shall produce a valid periodic node map with three periodic constraint directions.
- 11.28.74The system shall issue a diagnostic when a referenced side set does not exist in the mesh.
- 11.28.75The system shall have the ability to construct a side set from a set of nodes.
- 11.28.76The system shall support optionally allowing uniform refinements when using a pre-split mesh
- 11.28.77A mesh can be split into a specified number of files using command line options.
- 11.28.78A mesh can be pre-split properly and used to generate equivalent results to running a simulation with the unsplit mesh.
- 11.28.79Console output should include an indicator that a pre-split mesh is being used when using –split-mesh in distributed = auto mode
- without and
- with the forced option.
- 11.28.80The mesh splitter will throw an error when an attempt is made to split a "DistributedMesh".
- 11.28.81The mesh splitter capability will honor geometric RelationshipManager objects.
- 11.28.82Meshes that are pre-split with active RelationshipManager objects work the same as if using an online DistributedMesh.
- 11.28.83Splitting meshes from file should work with custom partitioners.
- 11.28.84Splitting meshes from a generated mesh should work with custom partitioners.
- 11.28.85The system shall support the creating a single mesh from multiple meshes stitched together.
- 11.28.86The system shall error if at least one mesh file is not supplied when creating a mesh from multiple meshes stitched together.
- 11.28.87The system shall provide a parallel partition based on mesh subdomains
- 11.28.88The parallel partitioning capability by subdomain shall report a reasonable error when a given subdomain does not exist
- 11.28.89The system shall read TetGen file meshes.
- 11.28.90The system shall construct a mesh by "tiling" another mesh repeatedly.
- 11.28.91The system shall support avoiding repartitioning the mesh and deleting remote elements after uniform refinements
- 11.28.92The system shall support having a truly unique_id (never recycled) for all mesh elements and nodes when using replicated mesh.
- 11.28.93The system shall support having a truly unique_id (never recycled) for all mesh elements and nodes when using distributed mes.
- rdg: Mesh Modifiers
- 11.29.1The system shall support assigning boundary identifiers base on normal vectors of an element face for
- a rectangular cuboid and
- non regular geometry.
- 11.29.2The system shall support assigning boundary identifiers based on
- a nodal id,
- a spatial coordinate, and
- if the supplied location is outside of the domain.
- 11.29.3The system shall support assigning boundary identifiers based on the normal of a element face for
- specified points and
- specified directions with
- fixed normal application.
- 11.29.4The system shall support assigning boundary identifiers based the bounding box
- for all subdomain sides as well as
- for all subdomain sides including those with multiple existing identifiers in 2D and
- 3D.
- 11.29.5The system shall support assigning boundary identifiers based the bounding box of a subdomain and error if
- if no elements are located in the given bounding box;
- if no sides are located in the given bounding box;
- if no nodes are located in the given bounding box; and
- if the incorrect boundary inputs are supplied.
- 11.29.6The system shall support assigning boundary identifiers based the bounding box of a subdomain
- if existing boundaries overlap and
- error if no nodes are located in the given bounding box.
- 11.29.7The system shall support assigning subdomain identifiers
- given a list of ids for each element; and
- given a list of elements and ids for quadrilateral and
- triangular elements.
- 11.29.8The system shall support assigning subdomain identifiers for the entire domain.
- 11.29.9The system shall support removing elements including
- a 2D concave subdomain;
- a 3D concave subdomain;
- a 2D interior subdomain;
- a 3D interior subdomain;
- a 2D non-concave subdomain;
- a 3D non-concave subdomain;
- a 2D removal of a union of disjoint pieces;
- a 2D removal of a subdomain containing a nodeset;
- a 2D removal of a subdomain that eliminates sideset;
- a 2D removal of a subdomain containing a sideset;
- a 2D concave subdomain with a cut across elements.
- 11.29.10The system shall be capable of adding nodeset identifiers given a bounding box for
- an area inside the box;
- an area outside the box;
- 11.29.11The system shall error when adding nodeset identifiers given a bounding box and
- the supplied location is invalid and
- when multiple ids are provided for assignment.
- 11.29.12The system shall support separation of boundary identifiers for
- all boundaries and
- specific boundaries across a subdomain.
- 11.29.13The system shall support separation of boundary identifiers
- for 2D subdomains;
- across an interface; and
- an unstructured mesh.
- 11.29.14The system shall support separation of boundary identifiers
- for 3D subdomains;
- across an interface; and
- an unstructured mesh.
- 11.29.15The system shall support creating subdomains from
- 2D and
- 3D images.
- 11.29.16The system shall support the creation of lower dimensional elements on an existing sideset for
- first-order and
- second-order elements.
- 11.29.17The system shall support creating of 3D meshes from extrusion of
- 2D quadrilateral elements;
- 2D triangular elements;
- 2D quadrilateral elements at an angle; and
- 2D quadrilateral elements from generated mesh
- 11.29.18The system shall support creating of 3D meshes from extrusion of with the ability to remap subdomain identifiers
- for each layer individually or
- for all layers
- 11.29.19The system shall support the creation of lower dimensional elements along the faces contained in a side.
- 11.29.20The system shall support the modification of the mesh
- without restriction to the order of the supplied inputs with
- a forced mesh preparation step.
- 11.29.21The system shall support the creation of side identifiers based on a function provided in the input file.
- 11.29.22The system shall support the creation of subdomain identifiers based on a function provided in the input file.
- 11.29.23The system shall support the creating of side identifiers surrounding
- a subdomain;
- a subdomain given a direction;
- a generated subdomain; and
- a multiple generated subdomains
- 11.29.24The system shall support the creating of side identifiers between
- subdomains;
- multiple subdomains; and
- generated subdomains.
- 11.29.25The system shall support the ability to apply smoothing to a mesh.
- 11.29.26The system shall be capable of adding subdomain identifiers given a bounding box for
- an area inside the box;
- an area outside the box;
- an area inside an oriented box; and
- an area outside an oriented box.
- 11.29.27The system shall be capable of transforming an existing mesh.
- rdg: Meshgenerators
- 11.30.1The system shall support automatic addition of sidesets based on outward facing normals of the mesh.
- 11.30.2The system shall group automatically added sidesets when multiple surfaces share the same outward facing normal.
- 11.30.3The system shall have the capability of generating a mesh based upon an annular geometry.
- 11.30.4The system shall have the capability of generating a mesh based upon an annular geometry with a negative growth ratio.
- 11.30.6The system shall generate an annular mesh with prescribed radial positions of the intermediate rings of nodes
- 11.30.7The system shall have the capability of generating an annular mesh with equal-area elements
- 11.30.8The system shall error when generating an annular mesh with equal-area elements when a growth ratio is also provided
- 11.30.9The system shall error when generating an annual mesh with equal-area elements when radial positions are also provided
- 11.30.10The system shall support the ability to add additional mesh generators from a user accessible programmatic interface.
- 11.30.11The system shall be capable of deleting
- all of the elements in a mesh based on subdomain ID,
- all of the elements in a mesh based on subdomain names and
- multiple blocks simultaneously in a mesh based on subdomain ID.
- blocks and assigning the new boundary even if the input mesh is not prepared.
- 11.30.12The system shall have the capability to remove boundaries in an existing mesh.
- 11.30.13The system shall be capable of generating new mesh node sets based upon a user-specified bounding box
- where the new node set will be placed on nodes within the bounding box, or
- where the new node set will be placed on nodes outside of the bounding box.
- 11.30.14The system shall produce an error when attempting to add a new mesh node set based on a bounding box
- where the bounding box fails to span any mesh nodes, and
- where multiple boundary IDs are supplied for a single bounding box.
- 11.30.15The system shall be capable of splitting existing mesh boundary sets where their underlying subdomain changes
- on external boundaries, and
- on internal boundaries.
- 11.30.16The system shall be able to create separate blocks in a mesh
- without a split interface in 3D;
- with a split interface in 3D;
- with a polycrystal based mesh in 3D;
- without a split interface in 2D;
- with a split interface in 2D; and
- with a polycrystal based mesh in 2D.
- 11.30.17The system shall be able to break the mesh between listed blocks:
- without splitting the interface and with splitting the transition interface;
- with a split interface and without splitting the transition interface;
- with a split interface and splitting the transition interface;
- with a split interface, without splitting the transition interface, and without a transition interface;
- without a split interface, splitting the transition interface, or a transition interface;
- 11.30.18The system shall be able to break the mesh between listed block pairs.
- 11.30.19The system shall be able to break the mesh between listed block pairs
- by creating one new node.
- by creating two new nodes.
- by creating three new nodes.
- 11.30.20The system shall be able to create two sides interface when interfaces are created between listed block pairs.
- 11.30.21The system shall properly assign node processor ids for paritioned meshes
- 11.30.22The system shall be capable of generating an non-uniform mesh on a Cartesian domain in
- one,
- two, and
- three dimensions.
- 11.30.23The system shall support the ability to combine multiple meshes:
- using a single input mesh at multiple positions,
- using a single input mesh at multiple positions obtained from a file,
- using multiple meshes at multiple positions, and
- using multiple meshes at multiple positions obtained from a file, and
- using multiple meshes with no positions, and
- while keeping name(s) of sidesets intact.
- 11.30.24The system shall error when trying to combine multiple meshes,
- but only one input is supplied with no positions, or
- but only one input is supplied with no positions file, or
- the number of meshes and the number of positions is mismatched, or
- the number of meshes and the number of positions in the file is mismatched.
- 11.30.25The system shall have the capability to generate a mesh pattern consisting of concentric circles contained within a square.
- 11.30.26The winding order of the elements created by the mesh generator shall be uniform.
- 11.30.27The system shall support the generation of meshes for both reference and displaced mesh configurations.
- 11.30.28The system shall support mesh adaptivity on a distributed generated displaced mesh.
- 11.30.29The system shall support mesh adaptivity with periodic boundary conditions on a distributed generated displaced mesh.
- 11.30.30The system shall support a scalable mesh adaptivity with periodic boundary conditions on a distributed generated displaced mesh
- without and with
- automatic scaling.
- 11.30.31The system shall be able to generate 2D Quad4 mesh in parallel.
- 11.30.32The system shall be able to check if or not users ask for too many layers of ghosting elements.
- 11.30.33The system shall be able to generate 1D EDGE2 mesh in parallel.
- 11.30.34The system shall be able to generate 3D HEX8 mesh in parallel.
- 11.30.35The system shall be able to generate 3D HEX8 mesh in parallel using ptscotch partitioner
- 11.30.36The system shall be able to generate 3D HEX8 mesh in parallel using hierarch partitioner
- 11.30.37The system shall be able to generate a first-order hexahedral mesh in parallel using a small number of cores for the graph partitioner.
- 11.30.38The system shall error out if the number of cores for partition is larger than the total number of cores.
- 11.30.39The system shall be able to adapt a mesh generated in parallel.
- 11.30.40The system shall generate an arbitrary number of layers of side neighbors using DistributedRectilinearMeshGenerator.
- 11.30.41The system shall be able to generate a squarish partition for a 2D distributed generated mesh using 3 processors.
- 11.30.42The system shall be able to generate a squarish partition for a 2D distributed generated mesh using 4 processors.
- 11.30.43The system shall be able to generate a squarish partition for a 2D distributed generated mesh using 6 processors.
- 11.30.44The system shall be able to generate a squarish partition for a 1D distributed generated mesh using 3 processors.
- 11.30.45The system shall be able to generate a squarish partition for a 1D distributed generated mesh using 4 processors.
- 11.30.46The system shall be able to generate a squarish partition for a 3D distributed generated mesh using 3 processors.
- 11.30.47The system shall be able to generate a squarish partition for a 3D distributed generated mesh using 4 processors.
- 11.30.48The system shall be able to generate a squarish partition for a 3D distributed generated mesh using 8 processors.
- 11.30.49The system shall support the ability to create a mesh element-wise by specifying points, element types, and connectivity,
- resulting in a single element mesh, or
- resulting in a mesh with multiple disconnected elements.
- 11.30.50The system shall error when requesting
- a MeshGenerator by parameter and the parameter is not valid
- a MeshGenerator by parameter and the parameter is of the wrong type
- MeshGenerators by parameter and the parameter is not valid
- MeshGenerators by parameter and the parameter is of the wrong type
- 11.30.51The system shall have the ability to break all element-element interfaces within given subdomains both
- in 2D, and
- in 3D.
- 11.30.52The system shall have the ability to add extra mesh node sets based on existing node IDs.
- 11.30.53The system shall have the ability to add extra mesh node sets based on node coordinates.
- 11.30.54The system shall have the ability to add extra mesh node sets based on multiple node coordinates.
- 11.30.55The system shall be able to extrude a mesh with variable height elevations, with variable numbers of layers, and swap subdomain IDs
- 11.30.56The system shall make sure the mesh is prepared after a mesh generator has indicated the mesh is not prepared and before running a solve.
- 11.30.57The system shall be able to use the result from FancyExtruderGenerator in subsequent mesh generators
- 11.30.58The system shall be able to retain and swap element extra integers during extrusion.
- 11.30.59The system shall have the ability to generate a mesh by reading it from a file.
- 11.30.60The system shall have the ability to assign element extra integers with elemental variables in an Exodus mesh file.
- 11.30.61The system shall have the ability to read IsoGeometric Analysis meshes with rational bases in ExodusII format.
- 11.30.62The system shall have the ability to remove spline nodes from IsoGeometric Analysis meshes.
- 11.30.63The system shall have the ability to read IsoGeometric Analysis meshes with 3D elements and sidesets in ExodusII format.
- 11.30.64The system shall have the ability to output checkpoint files along with the mesh meta data.
- 11.30.65The system shall have the ability to load the mesh from checkpoint files.
- 11.30.66The system shall generator a bow-shape transition layer based on the two input point vectors using TRI3 elements.
- 11.30.67The system shall generator a bow-shape transition layer with a provided bias growth factor based on the two input point vectors using TRI3 elements.
- 11.30.68The system shall generator a bow-shape transition layer with automatically generated bias growth factors based on the two input point vectors using TRI3 elements.
- 11.30.69The system shall generator a bow-shape transition layer based on the two input point vectors using QUAD4 elements.
- 11.30.70The system shall throw an error if either input vector of points include points that are not in XY plane.
- 11.30.71The system shall throw an error if either input vector of points include less than 2 points.
- 11.30.72The system shall throw an error if the two input vectors have different length and QUAD4 elements option is selected.
- 11.30.73The system shall be able to generate a connector transition layer based on the two input meshes and boundaries.
- 11.30.74The system shall be able to generate a connector transition layer based on the two input meshes and boundaries and stitch it with the input meshes.
- 11.30.75The system shall be able to generate a connector transition layer with manual biasing based on the two input meshes and boundaries.
- 11.30.76The system shall be able to generate a connector transition layer with automatic biasing based on the two input meshes and boundaries.
- 11.30.77The system shall throw an error if the two input meshes are the same.
- 11.30.78The system shall throw an error if one of the input boundary to generate a mesh in-between has multiple segments.
- 11.30.79The system shall throw an error if one of the input boundary to generate a mesh in-between is a closed loop.
- 11.30.80The system shall support using a directed acyclic graph of objects to generate a mesh where multiple possible end points may be explicitly selected:
- the first of two targets
- and the second of two targets.
- 11.30.81The system shall support selecting an earlier generation state of the mesh generator system used to generate the final mesh for a simulation.
- 11.30.82The system shall generate an error when the objects used to generate a mesh results in an ambiguous end point
- due to a single graph with multiple end points, or
- due to multiple independent trees.
- 11.30.83The system shall be able to use libmesh mesh generation tools.
- 11.30.84The system shall be able to use libmesh mesh generation tools and shift node/sideset ids by a constant offset.
- 11.30.85The system shall include mesh generation tools and allow adding a name prefix to the node/sideset names and maintain the
- id and
- include the added name.
- 11.30.86The system shall include mesh generation tools and shift node/sideset ids by a constant offset while also adding a name prefix to them and maintain the
- the shifted id and
- include the added name.
- 11.30.87The system shall generate a warning if Mesh Generators are used with a mesh type that does not accept them
- 11.30.88The system shall be able to assign subdomain IDs for the (cartesian) generated mesh generator.
- 11.30.89The system shall support the ability to import meshes written using the General Mesh Viewer format.
- 11.30.90The system shall have the ability to read boundary information from Gmsh formatted mesh files.
- 11.30.91The system shall be able to read in an image.
- 11.30.92The system shall be able to create different subdomains
- using boundary ids.
- using boundary names.
- 11.30.93The system shall be able to combine multiple meshes into a single unconnected mesh.
- 11.30.94The system shall have the capability of extruding a lower dimensional mesh to create a higher dimensional mesh
- from 2D quads to 3D hexes,
- where newly created elements can be assigned a new subdomain IDs based on old IDs,
- where newly created elements can be assigned a new subdomain IDs based on a pattern,
- where the extrusion direction is not orthogonal to the original line or plane of elements, and
- where the extrusion occurs based on another generated mesh,
- while making sure to preserve existing side set names.
- 11.30.95The system shall support the generation of side sets between subdomains of a finite element mesh.
- 11.30.96The system shall support the ability for mesh generators to save attributes to a stateful data store available for use when recovering a simulation.
- 11.30.97The system shall issue an error when mesh meta-data properties are requested but never declared.
- 11.30.98The system shall error if a invalid identifier is supplied when attempting to retrieve a restart meta data object.
- 11.30.99The system shall support the ability to save mesh meta data generated by mesh generators when splitting the mesh.
- 11.30.100The system shall support the ability to use the mesh meta data when using the split mesh.
- 11.30.101The system shall support the ability to modify node(s) coordinates
- in a mesh with a single first order element
- in a Cartesian 3D mesh.
- 11.30.102The system shall error if the node to be moved cannot be found in the mesh.
- 11.30.103The system shall error if the node position and node id arrays do not match in size
- 11.30.104The system shall have the ability to assign mesh side sets based on parsed spatial functions.
- 11.30.105The system shall have the ability to filter by neighboring subdomain id in ParsedGenerateSideset.
- 11.30.106The system shall have the ability to assign mesh subdomains based on parsed spatial functions.
- 11.30.107The system shall be able to create a patch test mesh with:
- quad4 elements,
- quad8 elements,
- hex8 elements, and
- hex20 elements.
- 11.30.108The system shall have the ability to stetch multiple input meshes together into a new mesh based upon a user-defined pattern.
- 11.30.109The system shall provide a method for deleting mesh elements lying on one side of a user-defined plane.
- 11.30.110The system shall support the generation of plane IDs for 2D Cartesian grid
- by taking x-direction as the plane axis
- by taking y-direction as the plane axis
- 11.30.111The system shall support the generation of plane IDs for 3D extruded mesh
- 11.30.112The system shall support the ability to refine
- a single block within a multi-domain mesh
- multiple blocks within a multi-domain mesh
- multiple blocks within a multi-domain mesh, with neighbor refinement enabled
- 11.30.113The system shall support the ability to refine
- neighboring elements of an external boundary along a mesh
- neighboring elements of a specified boundary along a mesh
- both the neighboring elements of, and the elements along, a specified boundary
- 11.30.114The system shall error if the specified boundary to be refined does not exist
- 11.30.115The system shall be able to rename or renumber mesh blocks by:
- identifying both old and new blocks by ID,
- identifying old blocks by ID and new blocks by name,
- identifying old blocks by name and new blocks by ID, and
- identifying both old and new blocks by name,
- and by identifying blocks by both id and name.
- 11.30.116The system shall be able to merge blocks in a mesh.
- 11.30.117The system shall throw a reasonable error:
- when old blocks are provided that do not exist within the mesh
- and when the provided old and new blocks are not the same length.
- 11.30.118The system shall be able to rename or renumber mesh blocks using old syntax by
- identifying blocks by ID
- identifying blocks by name
- 11.30.119The system shall report a reasonable error when renaming or renumbering blocks using deprecated syntax when
- both old block IDs and old block names are provided
- both new block IDs and new block names are provided
- the deprecated syntax for old block id and the new syntax for old block is used
- the deprecated syntax for old block name and the new syntax for old block is used
- the deprecated syntax for new block id and the new syntax for new block is used
- the deprecated syntax for new block name and the new syntax for new block is used
- 11.30.120The system shall be able to rename or renumber mesh boundaries by:
- identifying both old and new boundaries by ID,
- identifying old boundaries by ID and new boundaries by name,
- identifying old boundaries by name and new boundaries by ID, and
- identifying both old and new boundaries by name,
- and by identifying boundaries by both id and name.
- 11.30.121The system shall be able to merge boundaries in a mesh.
- 11.30.122The system shall throw a reasonable error:
- when old boundaries are provided that do not exist within the mesh
- and when the provided old and new boundaries are not the same length.
- 11.30.123The system shall support the ability to create a mesh for a "Ringleb" geometry.
- 11.30.124The system shall be able to output detailed mesh information about generated meshes.
- 11.30.125The system shall have the ability to create new mesh side sets around subdomains:
- for a subdomain contained completely within a larger domain,
- on specific sides of a subdomain based upon the normal to that side,
- around multiple subdomains within a larger domain, and
- around two blocks within a domain.
- 11.30.126The system shall have the ability to create new side sets between adjacent subdomains:
- on a mesh with several adjacent subdomains,
- where some subdomains are adjacent and not where paired subdomains are not adjacent, and
- between two subdomains in a mesh with two adjacent subdomains.
- 11.30.127The system shall have the ability to generate side sets based upon bounding boxes:
- a bounding box contained within the domain,
- multiple bounding boxes contained within the domain,
- multiple bounding boxes contained within a 3D domain, and
- where bounding boxes perfectly overlap but create unique ids.
- 11.30.128The system shall issue an error when attempting to create side sets from a bounding box:
- when no elements are located within the specified bounding box,
- when the bounding box is larger than the domain so that no new side set is created, and
- when the bounding box fails to span over any nodes.
- 11.30.129The system shall be able to generate mesh side sets for all external surfaces on the mesh for each unique normal.
- 11.30.130The system must be able to replace the side sets when applying side sets during mesh generation.
- 11.30.131The system shall support the generation of multiple mesh side sets on the exterior surfaces of a mesh grouped by normal:
- where the normal varies within a tolerance from element to element,
- where the normal is fixed within a specified tolerance.
- 11.30.132The system shall be able to create sidesets.
- 11.30.133The system shall be able to use libmesh mesh modification tools.
- 11.30.134The system shall be able to create a spiral annular mesh with triangle elements (TRI3 or TRI6).
- 11.30.135The system shall be able to generate meshes by stacking up existing meshes in
- two and
- three dimensions and
- error if the dimensions of the meshes to be stacked are not consistent.
- 11.30.136The system shall support the creation of a finite element mesh from existing meshes
- by 'stitching' them together and
- be able to utilize the resulting mesh in a simulation.
- 11.30.137The system shall include the ability to assign subdomain identifiers for elements within a regular bounding box.
- 11.30.138The system shall include the ability to assign subdomain identifiers for elements outside of a regular bounding box.
- 11.30.139The system shall include the ability to assign subdomain identifiers for elements within an arbitrarily oriented bounding box.
- 11.30.140The system shall include the ability to assign subdomain identifiers for elements with a regular bounding box that is restricted to only modify elements with specific subdomain identifiers.
- 11.30.141The system shall include the ability to assign extra element integers within a regular bounding box.
- 11.30.142The system shall have the ability to change or overwrite the subdomain IDs of all elements in a mesh.
- 11.30.143The system mesh generation capability shall be extensible to allow composition of existing mesh generators.
- 11.30.144The system shall include the ability to create a finite element mesh by tiling existing meshes.
- 11.30.145The system shall include the ability to rotate and scale a finite element mesh.
- 11.30.146The system shall include the ability to translate a finite element mesh in a manner that
- is defined by the user,
- places the center of the mesh at the origin, or
- places the minimum of the mesh at the origin.
- 11.30.147The system shall be shall support the generation of new extra element ID by parsing the existing extra element IDs
- with the default option for new id value setting
- with the new id value setting rule option
- rdg: Minimal App
- 11.31.1The system shall support the programmatic creation of a simulation tools without the need of an input file.
- rdg: Misc
- 11.32.1We shall be able to call AD variable methods on an auxiliary variable in a transient simulation and not hit assertions for both regular and neighbor calculations
- 11.32.2Coupling an auxiliary variable into a DGKernel shall not destroy the Jacobian
- 11.32.3We shall be able to do NL variable coupling into a DGKernel
- 11.32.4We shall be able to do NL variable coupling into a DGKernel and have a good Jacobian
- 11.32.5The compiled application shall be capable of returning the name used for registering objects.
- 11.32.6The system shall be able to run a specific application by passing a command line option.
- 11.32.7The system shall report an error when a material property is not defined on a boundary.
- 11.32.8The system shall report an error when a material property requested by a UserObject is not defined on a boundary.
- 11.32.9The system shall report an error when a material property requested by a DGKernel is not defined on a boundary.
- 11.32.10The system shall report an error when a material property requested by a DGKernel is not defined on a subdomain.
- 11.32.11The system shall verify that objects that use subdomain restricted variables are defined on a subset of the restricted domain area.
- 11.32.12The system shall produce an error when an object's discretization area is explicitly set to a value greater than the area of the underlying variable used by the object.
- 11.32.13The system shall produce an error when an object's discretization area is greater than the area of the underlying variable used by the object.
- 11.32.14The system shall produce an error when an object's discretization area is explicitly set to a different area than the area of a coupled variable used by the object.
- 11.32.15The system shall produce an error when an object's discretization area is different than an explicitly set variable on only defined on a different portion of the mesh.
- 11.32.16The system shall produce an error when an object's discretization area is covers the whole mesh but a coupled variable only exists on a portion of the mesh.
- 11.32.19The system shall report an error when a null pointer-checked parameter is retrieved from the InputParameters object.
- 11.32.20The system shall report an error when multiple AuxVariables are added to the system with conflicting types.
- 11.32.21The system shall report an error when multiple Scalar AuxVariables are added to the system with conflicting types.
- 11.32.22The system shall report an error when an attempt is made to instantiate a non-existent BoundaryCondition object.
- 11.32.23The system shall report an error when a non-existent nonlinear variable name is used by a MooseObject.
- 11.32.24The system shall report an error message when an invalid enumeration is supplied in any MooseEnum type.
- 11.32.25The system shall report an error message when an invalid Executioner is specified.
- 11.32.26The system shall report an error message when an invalid Kernel is specified.
- 11.32.27The system shall report an error message when a Kernel object attempts to access a non-existent variable.
- 11.32.28The system shall report an error when an invalid Material is specified.
- 11.32.29The system shall report an error when a previously undeclared variable is used in a parsed function expression.
- 11.32.30The system shall report an error when a first order element is used with a second order discretization.
- 11.32.31The system shall report an error message when a deprecated input file block is used.
- 11.32.32The system shall report a warning when a deprecated parameter with a default value is explicitly set by the user.
- 11.32.33The system shall report a warning when an optional deprecated parameter is explicitly set by the user.
- 11.32.34The system shall report an error when conflicting domain restrictions are applied to a single object.
- 11.32.35The system shall report an error when the number of ids and corresponding block names are mismatched.
- 11.32.36The system shall report an error when a duplicate name is provided for a set of unique block ids.
- 11.32.37The system shall report an error when the number of ids and corresponding boundary names are mismatched.
- 11.32.38The system shall report an error when a duplicate name is provided for a set of unique boundary ids.
- 11.32.39The system shall report an error when the linear interpolation utility is supplied with bad domain values.
- 11.32.40The system shall report an error when the Piecewise utility encounters an unexpected column data format.
- 11.32.41The system shall report an error when the Piecewise utility encounters an unexpected row data format.
- 11.32.42The system shall report an error when the Piecewise utility encounters inconsistent domain and range data.
- 11.32.43The system shall report an error when an invalid enumeration is supplied in the Piecewise utility.
- 11.32.44The system shall report an error when the Piecewise data is over-specified with the data file option.
- 11.32.45The system shall report an error when the Piecewise data is over-specified with row/column data.
- 11.32.46The system shall report an error when either the domain or range is missing when using the domain/range option in the Piecewise utility.
- 11.32.47The system shall report and error if the supplied domain/range pairs are not even in the Piecewise utility.
- 11.32.48The system shall report an error if no function is supplied in the Piecewise utility.
- 11.32.49The system shall report an error if the xy_data is supplied but the function is missing in the Piecewise utility.
- 11.32.50The system shall report an error when the number of columns appears incorrect in the Piecewise utility.
- 11.32.51The system shall report an error when an out of range y-column index is supplied in the Piecewise utility.
- 11.32.52The system shall report an error when an out of range x-column index is supplied in the Piecewise utility.
- 11.32.53The system shall report an error if too many rows are supplied when the data is expected to contain row information.
- 11.32.54The system shall report an error when an out of range x-row index is supplied in the Piecewise utility.
- 11.32.55The system shall report an error when an out of range y-row index is supplied in the Piecewise utility.
- 11.32.56The system shall report an error when the x and y index in file are equal in the Piecewise utility.
- 11.32.57The system shall report an error if one or more domain blocks do not have any active Kernels objects assigned.
- 11.32.58The system shall report an error if one or more variables do not have any active Kernel objects assigned.
- 11.32.59The system shall report an error if one or more domain blocks do not have any active FVKernels objects assigned.
- 11.32.60The system shall report an error if one or more variables do not have any active FVKernel objects assigned.
- 11.32.61The system shall report an error when an elemental variable (no continuity) is coupled to a variable with continuity.
- 11.32.62The system shall report an error when an active input block section is specified but missing.
- 11.32.63The system shall report an error when a material property is requested but not supplied on a mesh block.
- 11.32.64The system shall report an error when a coupled variable is supplied that was not added as a valid parameter.
- 11.32.65The system shall report an error when the data file is non-existent or not-readable in the Piecewise utility.
- 11.32.66The system shall report an error when the coupled function does not exist or can not be parsedfor the Piecewise utility.
- 11.32.67The system shall report an error when one or more material properties are missing from any mesh block.
- 11.32.68The system shall report an error when a material property is supplied on some blocks but missing on other blocks where it is requested.
- 11.32.69The system shall report an error when only "old" properties are supplied but current properties are requested.
- 11.32.70The system shall report an error when only "older" properties are supplied but current properties are requested.
- 11.32.71The system shall report an error when the mesh file cannot be found.
- 11.32.72The system shall report an error when a required parameter is not supplied in an Action.
- 11.32.73The system shall report an error when a specific mesh required parameter is not supplied.
- 11.32.74The system shall report an error when the special "type" parameter is not supplied for a MooseObject.
- 11.32.75The system shall report an error when a required parameter is not supplied in a MooseObject.
- 11.32.76The system shall report an error when a required coupling parameter is missing.
- 11.32.77The system shall report an error when more than one preconditioner block is supplied.
- 11.32.78The system shall abort the solve and report a floating point error when a NaN is produced during user computation with the Steady executioner.
- 11.32.79The system shall abort the solve and report a floating point error when a NaN is produced during user computation with the Transient executioner.
- 11.32.80The system shall report an error when a nodal AuxKernel attempts to access a material property.
- 11.32.81The system shall report an error when the same named parameter appears multiple times in the same input file.
- 11.32.82The system shall report an error when the coordinate transformation conflicts with the underlying element types.
- 11.32.83The system shall report an error when nonlinear and auxiliary variables are declared with the same name.
- 11.32.84The system shall report an error when an AuxKernel is applied outside of the domain where a restricted variable exists.
- 11.32.85The system shall report an error when a Kernel is applied outside of the domain where a restricted variable exists.
- 11.32.86The system shall report a warning when an unused parameter is provided through the input file or an Action.
- 11.32.87The system shall report a warning when an unused parameter is supplied on the command line.
- 11.32.88The system shall report an error when a UserObject and a Postprocessor are added with the same names.
- 11.32.89The system shall report and error when a UserObject and a VectorPostprocessor are added with the same names.
- 11.32.90The system shall report an error when an input file block associated with on pluggable system is asked to build an object from a different system.
- 11.32.91The system shall report a standard Unix usage statement when an invalid command line switch is used.
- 11.32.92The system shall report an error when a required variable is missing from the ICs input file block.
- 11.32.93The system shall report an error when a boundary restriction is applied to a non-nodal variable discretization.
- 11.32.94The system shall report an error when coupling to old temporal solution vectors in a Steady (no time) Executioner.
- 11.32.95The system shall report an error when coupling to a time derivative solution vector in a Steady (no time) Executioner.
- 11.32.96The system shall report an error when an older scalar solution variable is accessed in a Steady (no time) Executioner.
- 11.32.97The system shall report an error when an older time derivative scalar solution variable is accessed in a Steady (no time) Executioner.
- 11.32.98The system shall report an error when a coupled variable is not defined in the same region as the variable performing the coupling.
- 11.32.99The system shall report the successful parsing and interpretation of input file syntax when using the "–check-input" command line flag.
- 11.32.100The system shall report an error when performing nodal constraints when there is a mismatch in the number of constrained nodes.
- 11.32.101The system shall report an error when requested to check the syntax in an input file but no input file is supplied.
- 11.32.102The system shall report an error when multiple time schemes are specified in the same input file.
- 11.32.103The system shall report an error when there is a mismatch between the parameter for an object and the type of object are mismatched.
- 11.32.104The system shall report an error when the variables representing displacement are of a lower order than the mesh.
- 11.32.105The system shall report an error when the name of a function could be misinterpreted because it could also be evaluated (e.g. a function name of "x").
- 11.32.106The system shall report an error when floating point input parameter types fail to parse as floating point numbers.
- 11.32.107The system shall report an error when a scalar variable is used where a spatial variable is expected.
- 11.32.108The system shall report an error when a field variable is used where a scalar variable is expected.
- 11.32.109The system shall report an error when an invalid coupled spatial variable is requested.
- 11.32.110The system shall report an error when an invalid coupled scalar variable is requested.
- 11.32.111The system shall report an error when an attempt is made to couple a variable with itself.
- 11.32.112The system shall report an error when an attempt is made to couple a variable with itself in coupled force term using automated differentiation.
- 11.32.113The system shall report an error when an input file cannot be opened and read.
- 11.32.114The system shall report an error when a Kernel attempts to use an auxiliary variable.
- 11.32.115The system shall report an error when a boundary condition object attempts to use an auxiliary variable.
- 11.32.116The system shall report an error when an AuxKernel specifies a non-existent variable.
- 11.32.117The system shall report an error when a scalar Kernel specifies a non-existent variable.
- 11.32.118The system shall report an error when a nodal Kernel attempts to use an auxiliary variable.
- 11.32.119The system shall report an error when a constraint attempts to use an auxiliary variable.
- 11.32.120The system shall report an error when a scalar auxiliary Kernel attempts to use a solution variable.
- 11.32.121The system shall report an error when a DiracKernel attempts to use an auxiliary variable.
- 11.32.122The system shall report an error when a discontinuous Galerkin Kernel attempts to use a solution variable.
- 11.32.123The system shall report an error when an interface Kernel attempts to use an auxiliary variable.
- 11.32.124The system shall report an error when a Kernel attempts to retrieve an empty string variable.
- 11.32.125The system shall report an error when a vector Kernel attempts to use a scalar solution variable.
- 11.32.126The system shall report an error when a Kernel attempts to use a vector solution variable.
- 11.32.127The system shall report an error if users try to get nodal values of non-nodal variables.
- 11.32.128The system shall report an error if users try to get old nodal values of non-nodal variables.
- 11.32.129The system shall report an error if users try to get older nodal values of non-nodal variables.
- 11.32.130The system shall have an integrity check that ensures an Executioner object exists in the system.
- 11.32.131The system shall report an error when nodal boundary condition is applied on a non-nodal variable.
- 11.32.132The system shall report an error when a git-lfs file pointer is encountered.
- 11.32.133The system shall support the ability for actions to query the existence of a mesh attribute (meta data).
- 11.32.134The system shall be to find data files in designated directories, regardless of the source repository or install location.
- 11.32.135The system shall throw an exception if a data file cannot be found in any of the designated directories.
- 11.32.136The system shall support the output a processor id field for the purposes of debugging
- 11.32.137The system shall produce a warning when non-expired deprecated code is executed.
- 11.32.138The system shall produce a warning when expired deprecated code is executed.
- 11.32.139The system shall produce an error when the –no-deprecated-flag is passed and deprecated code is executed.
- 11.32.140The system shall produce a warning indicating a possible replacement when deprecated code is superseded.
- 11.32.141The system shall be able to deprecate coupled variable names, while enabling user code to only use the new, blessed name
- 11.32.142The system shall not give a deprecation warning if the user uses the blessed coupled variable name instead of the deprecated coupled variable name.
- 11.32.143The system allow coupling between variables on or off displaced meshes
- not using automatic differentiation methods
- using automatic differentiation methods
- 11.32.144The system shall support throwing an exception during the residual calculation, which will cut back the time step.
- 11.32.145The system shall support throwing an exception during the residual calculation on a non-zero rank, which will cut back the time step.
- 11.32.146The system shall support throwing an exception during the Jacboain calculation, which will cut back the time step.
- 11.32.147The system shall support throwing an exception during the Jacobian calculation on a non-zero rank, which will cut back the time step.
- 11.32.148The system shall support throwing an exception during the initial condition calculation, which will terminate the solve.
- 11.32.149The system shall support throwing an error during a residual calculation, which will terminate the solve.
- 11.32.150The system shall support throwing an error during a Jacobian calculation, which will terminate the solve.
- 11.32.151The system shall allow users to skip exception checks to avoid global communication.
- 11.32.152The system shall maintain a flag available for inspection indicating the current "execution stage" enumeration.
- 11.32.153The
hit find
command shall be able to find- files with specific parameters,
- files not containing a specified parameter,
- parameters set to an exact specified value,
- parameters not set to an exact specified value,
- parameters with additional pattern constraints,
- parameters with additional inverted pattern constraints.
- 11.32.154The
hit merge
command shall be able to combine input files. - 11.32.155The
hit diff
command shall be able to- show differences between input files,
- show differences between input files marked up using terminal colors,
- show differences between input files with verbose explanations,
- show differences between input files with verbose explanations marked up using terminal colors,
- show common parameters/value pairs between input files,
- 11.32.156The system shall verify equality among the current, old, and older solution vectors prior to running the simulation.
- 11.32.157The system shall support a testing mechanism that fails intermittently.
- 11.32.158We shall be able the scrape the DOFMapOutput and determine when the Jacobian is slightly off
- 11.32.159We shall be able the scrape the DOFMapOutput and determine when the Jacobian is questionable
- 11.32.160We shall throw no errors if the off-diagonal Jacobian is wrong if we are only testing the on-diagonal Jacobian
- 11.32.161If use_displaced_mesh = false then MOOSE will not throw an exception if elements are inverted to produce a negative element Jacobian, in 3D simulations
- 11.32.162A 3D simulation shall throw an exception if there is a zero element Jacobian, when use_displaced_mesh = true
- 11.32.163A 3D simulation shall throw an exception if there is a negative element Jacobian, when use_displaced_mesh = true
- 11.32.164If use_displaced_mesh = false then MOOSE will not throw an exception if elements are inverted to produce a negative element Jacobian, in 2D simulations
- 11.32.165If use_displaced_mesh = false then MOOSE will not throw an exception if elements are distored to produce a zero element Jacobian, in 2D simulations
- 11.32.166A 2D simulation shall throw an exception if there is a zero element Jacobian, when use_displaced_mesh = true
- 11.32.167The PETSc Jacobian test shall reveal nans if there are nans in the matrix
- 11.32.168The system shall support embedding a 1D block inside of a 3D block.
- 11.32.169The maximum number of degrees of freedom for a single variable on a 1D EDGE2 elem shall be 2
- 11.32.170The maximum number of degrees of freedom for a single variable on a 2D QUAD4 elem shall be 4
- 11.32.171The maximum number of degrees of freedom for a single variable on a 2D QUAD9 elem shall be 9
- 11.32.172The maximum number of degrees of freedom for a single variable on a 2D TRI3 elem shall be 3
- 11.32.173The maximum number of degrees of freedom for a single variable on a 2D TRI6 elem shall be 6
- 11.32.174The maximum number of degrees of freedom for a single variable on a 3D HEX8 elem shall be 8
- 11.32.175The testing system shall support the ability to disable geometrical mapping of mesh elements for comparison purposes.
- 11.32.176The system shall use the default PETSc option database in the master app to handle system-level PETSc parameters
- 11.32.177The system shall print an understandable message when a user-specified path/file does not exist.
- 11.32.178The system shall be capable of storing residual contributions as an auxiliary field variable for
- continuous Galerkin and
- discontinuous Galerkin methods.
- 11.32.179The system shall error if the residual calculation contribution is assigned to the incorrect variable for
- on-diagonal and
- off-diagonal terms.
- 11.32.180The system shall be able to compute the same value for a block-restricted save-in variable regardless of the number of processes used to run a simulation.
- 11.32.181The system shall only reinitialize variables values that are consumed by other active objects in the system.
- 11.32.182The system shall make a serialized solution vector available when requested by objects in the system.
- 11.32.183The system shall make a serialized solution vector available when requested by objects in the system when uniform refinement is active.
- 11.32.184The system shall make a serialized solution vector available when requested by objects in the system when adaptivity is active.
- 11.32.185The test system shall have the ability to execute a specific input file.
- 11.32.186The test system shall have the ability to run a test that neither clears expected outputs or runs the expected executeable for multiple output testing.
- 11.32.187The system shall support pausing execution for the purpose of attaching a debugger after launch.
- 11.32.188The system shall support running a user-defined subroutine each time a subdomain change occurs when iterating over the mesh.
- 11.32.189The application executable shall report the version with the –version command line argument.
- 11.32.190The application executable shall report the version with the -v command line argument.
- rdg: Mortar
- 11.33.1The system shall support the use of constrains using the mortar method in 1D.
- 11.33.2We shall be able to enforce periodic boundary conditions on 3d domains using mortar constraints.
- 11.33.3The system shall be able to compute the gap between secondary and primary bodies using the mortar method and auxiliary kernels
- when the gap auxiliary variable and mesh are both first order
- when the gap auxiliary variable is first order and the mesh is second order
- when the gap auxiliary variable and mesh are both second order
- 11.33.4The system shall be able to run mortar auxiliary kernels when no constraints are present in the simulation.
- 11.33.5We shall be able to enforce solution continuity on a conforming mesh for one variable
- 11.33.6We shall be able to enforce solution gradient continuity on a conforming mesh for one variable
- 11.33.7We shall be able to enforce solution continuity on a conforming mesh for two variables
- 11.33.8We shall be able to enforce solution continuity on a conforming mesh for one variable using second order shape functions for both primal and lagrange variables. Note that this may be a relatively unstable discretization
- 11.33.9We shall be able to produce the expected result for a solution continuity test case using the mortar method, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.10We shall be able to produce the expected result for a solution continuity test case using the first order dual basis.
- 11.33.11We shall be able to produce the expected result for a solution continuity test case using the second order dual basis.
- 11.33.12We shall be able to produce the expected result for a fine mesh solution continuity test case using the mortar method, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.13The Jacobian for the solution continuity test case shall be perfect
- 11.33.14The system shall be able to prolong and restrict stateful material properties because of mesh adaptivity in the presense of lower dimensional subdomains that do not have materials and when stateful properties are needed on boundaries (because of integrated boundary conditions)
- 11.33.15We shall be able to produce the expected result for a solution continuity test case with the first order dual basis using VCP.
- 11.33.16We shall be able to produce the expected result for a solution continuity test case with the second order dual basis using VCP.
- 11.33.17The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a HEX8 mesh with curved geometry, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.18The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a HEX27 mesh with curved geometry, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.19The system shall generate a debug mortar mesh the parameter debug_mesh is passed to a mortar constraint
- 11.33.20The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a TET4 conforming mesh, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.21The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a TET10 conforming mesh, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.22The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a TET4 non-conforming mesh, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.23The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a mesh with mixed element types, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.24The system shall be able to produce the expected result for a solution continuity test case using the mortar method on a HEX20 mesh with curved geometry, e.g. the primal variable values across the mortar interface shall be the same.
- 11.33.25The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1 for a mortar solution continuity problem with conforming and non-conforming (HEX8) geometric discretization when using a first order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.26The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 2 for a mortar solution continuity problem with conforming and non-conforming (HEX8) geometric discretization when using a first order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.27The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1.5 for a mortar solution continuity problem with conforming and non-conforming (HEX8) geometric discretization when using a first order basis for the temperature variable and a first order dual basis for the Lagrange multiplier.
- 11.33.28The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 1 for a mortar solution continuity problem with conforming and non-conforming (HEX27) geometric discretization when using a second order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.29The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 2 for a mortar solution continuity problem with conforming and non-conforming (HEX27) geometric discretization when using a second order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.30The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 3 for a mortar solution continuity problem with conforming and non-conforming (HEX27) geometric discretization when using a second order basis for the temperature variable and a second order basis for the Lagrange multiplier.
- 11.33.31The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 3 for a mortar gap-conductance problem with equal, coarse-secondary, and coarse-primary geometric discretizations when using a second order basis for the temperature variable and a second order basis for the Lagrange multiplier.
- 11.33.32The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 2 for a mortar gap-conductance problem with equal, coarse-secondary, and coarse-primary geometric discretizations when using a second order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.33The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1 for a mortar gap-conductance problem with equal, coarse-secondary, and coarse-primary geometric discretizations when using a second order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.34The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 2 for a mortar gap-conductance problem with equal, coarse-secondary, and coarse-primary geometric discretizations when using a first order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.35The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1 for a mortar gap-conductance problem with equal, coarse-secondary, and coarse-primary geometric discretizations when using a first order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.36The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 3 for a mortar solution continuity problem with an equal geometric discretization when using a second order basis for the temperature variable and a second order basis for the Lagrange multiplier.
- 11.33.37The system shall be able to demonstrate asymptotically correct convergence rates of 3 and 2 for a mortar solution continuity problem with an equal geometric discretization when using a second order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.38The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1 for a mortar solution continuity problem with an equal geometric discretization when using a second order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.39The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 2 for a mortar solution continuity problem with an equal geometric discretization when using a first order basis for the temperature variable and a first order basis for the Lagrange multiplier.
- 11.33.40The system shall be able to demonstrate asymptotically correct convergence rates of 2 and 1 for a mortar solution continuity problem with an equal geometric discretization when using a first order basis for the temperature variable and a zeroth order basis for the Lagrange multiplier.
- 11.33.41We shall be able to couple variables between boundary auxiliary kernels and mortar constraints.
- 11.33.42We shall be able to use boundary-restricted material properties in mortar constraints.
- 11.33.43We shall be able to do gap conductance on a dynamic mesh using auxiliary displacements
- 11.33.44The Jacobian for the dynamic aux displacement gap conductance test case shall be perfect
- 11.33.45We shall be able to do gap conductance on a dynamic mesh using auxiliary displacements on a fine mesh
- 11.33.46We shall generate the exact expected analytic solution for the gap conductance problem
- 11.33.47We shall be able to produce the expected result for a gap conductance test case using the mortar method. Specifically, this test yields lagrange multipliers that are correctly proportional to the delta of temperature across the gap, e.g. the heat flux
- 11.33.48The Jacobian for the gap conductance test case shall be perfect
- 11.33.49We shall be able to produce the expected result for a gap conductance test case using the mortar method on a fine mesh. Specifically, this test yields lagrange multipliers that are correctly proportional to the delta of temperature across the gap, e.g. the heat flux
- 11.33.50The system shall give access to the locations in physical space of mortar segment element quadrature points.
- 11.33.51The system shall compute an exact Jacobian for a simulation involving the physical space location of mortar quadrature points.
- 11.33.52We shall be able to enforce periodic boundary conditions on a non-uniform mesh using the mortar method
- 11.33.53The Jacobian for mortar enforcement of periodic boundary conditions shall be perfect
- rdg: Multiapps
- 11.34.1The system shall allow use of automatic differentiation and automatic scaling in sub-applications.
- 11.34.2The system shall support running a transient simulation with sub-applications that can fail and re-execute with smaller timesteps until the execution times for the master and sub-applications are equivalent.
- 11.34.3The system shall include the ability to execute a sub-application at the centroid of every element within the finite element mesh.
- 11.34.4The system shall detect input file problems with sub app input files.
- 11.34.5The system shall CLI argument problems related to sub app input files.
- 11.34.6The system show error when the number of input files is great than one and doesn't match the number of provided sub app positions.
- 11.34.7The system show error when the number of input files is great than one and doesn't match the number of provided sub app positions when using CLI overrides.
- 11.34.8The system shall error when the number of sub app input files doesn't match the number of provided positions files.
- 11.34.9The system shall error when both positions are provided in the input file along with a separate file of positions.
- 11.34.10The system shall error when the multiapp positions file is malformed.
- 11.34.11The system shall error when the Multiapp parameter sub_cycling and catch_up are both set to true.
- 11.34.12The system shall support reading command-line arguments from a file with multiple lines
- 11.34.13The system shall support reading command-line arguments from a file with a single line
- 11.34.14The system shall support reading command-line arguments from multiple files
- 11.34.15The system shall support reading command-line arguments from a file with multiple parameters separated semicolon
- 11.34.16The system shall not support commandLine arguments from a file and an input at the same time
- 11.34.17The system shall make sure the number of commandLine argument files either be only one or match the number of input files
- 11.34.18The system shall provide at least one commandLine argument file when use parameter 'cli_args_files'
- 11.34.19The system shall not use an empty commandLine argument file
- 11.34.20The system shall the total number of commandLine argument strings be only one or match the total number of sub apps
- 11.34.21The system shall the total number of commandLine argument strings from a file be only one or match the total number of positions
- 11.34.22The MultiApp system shall include the ability to set command line parameters for each sub application from the input file.
- 11.34.23The MultiApp system shall include the ability to set common command line parameters for all sub applications from the input file.
- 11.34.24The MultiApp system shall error when the number of command line arguments supplied in the input file differs from the number if sub apps.
- 11.34.25The system shall include the ability to halt the execution of sub-applications when steady-state is detected.
- 11.34.26The system shall be capable of executing a sub-application from a Steady executioner on
- initial and
- final.
- 11.34.27The system shall be capable of executing a sub-application from a Eigenvalue executioner on
- initial and
- final.
- 11.34.28When sub-application solve does not converge, the system shall be able to either
- abort run,
- throw error if error_on_dtmin is not set, or
- continue run.
- 11.34.29The system shall be able to use the solution of a coarse mesh as the initial guess for a fine mesh solution for a
- diffusion problem and a
- variational inequality problem resulting in a significantly reduced number of nonlinear iterations to solve the fine mesh problem
- 11.34.30The system shall be able to solve a fine mesh variational inequality problem without grid sequencing but with a lot more nonlinear iterations
- 11.34.31The system shall error if the execution of a sub-application fails during the initial execution.
- 11.34.32The system shall support creating a Multiapp that is not initially enabled
- 11.34.33The system shall allow forcibly evaluating general user objects on the initial timestep before applying initial conditions.
- 11.34.34The system shall support the ability for a sub-application to adaptive modify the time step of the master application when the sub-application operates at the
- beginning and
- end of a timestep.
- 11.34.35The system shall support limiting the number of processors for sub-applications.
- 11.34.36The system shall support the ability to re-position sub-applications at a specified time
- for single and
- multi-level sub-applications.
- 11.34.37The system shall support the ability to re-position and reset sub-applications at a specified time
- for single and
- multi-level sub-applications.
- 11.34.38The system shall support evaluating multi-level sub-applications:
- where the master application controls the time step for all sub-applications;
- where the master application controls the time step via a function for all sub-applications; and
- where the sub-application controls the time step for the master application,
- 11.34.39The system shall support writing screen output from multi-level sub-applications to a file.
- 11.34.40The system shall be capable of running multiple sub-applications that are defined by input and position file pairs.
- 11.34.41The system shall support outputting sub-application data in a specified position
- for single and
- multi-level sub-applications.
- 11.34.42The MultiApp system shall allow overriding the cliArgs function to provide parameters to the subapp programmatically.
- 11.34.43The system shall support the the ability to set solver options within sub-applications.
- 11.34.44The system shall allow transient multiapps to use Picard iterations to rerun the time step
- 11.34.45The system shall support adaptive time stepping for transient multiapps with Picard iterations controlled by tolerances
- 11.34.46The system shall reject the solve if the maximum number of Picard iterations is reached without converging
- 11.34.47The system shall allow transient multiapps with Picard iterations controlled by relative tolerances
- 11.34.48The system shall allow transient multiapps with Picard iterations controlled by absolute tolerances
- 11.34.49The system shall allow function-defined time stepping for transient multiapps
- 11.34.50The system shall allow steady-state Picard iteration with multiapps
- 11.34.51The system shall allow fixed number of Picard iterations
- 11.34.52The system shall allow steady-state Picard iteration with pseudo-transient multiapps
- 11.34.53The system shall allow convergence check with user defined postprocessor directly.
- 11.34.54The system shall allow convergence check with the convergence of a user defined postprocessor.
- 11.34.55The system shall show the Multiapp coupling convergence history of a user defined postprocessor that is used for convergence check.
- 11.34.56The system shall support performing iterative solves of sub-applications that perform additional time steps to maintain time step consistency with the master application
- resetting the initial condition for every coupling
- or re-using the previous solution as the initial condition for subsequent iterations.
- 11.34.57Multiapps shall be able to be restored when a subapp encounters a solve failure.
- 11.34.58CSV file writing should remain unaffected when a subapp encounters a solve failure.
- 11.34.59Multiapps shall be able to cut the master app time step when any subapp encounters a solve failure.
- 11.34.60The system should be able to restart from the latest solution
- 11.34.61The system should be able to check if users provide valid parameter to restart app using the latest solution
- 11.34.62The system shall support Picard iteration with a FullSolveMultiApp at the root with multiple multiapp levels.
- 11.34.63The system shall be able to run multiple timesteps of a multi-level multi-app simulation, handling the case when Picard coupling between two levels fails to converge.
- 11.34.64The system shall be able to uniformly cut the time-step across levels of a multi-app solve, even when there is no Picard coupling between two levels.
- 11.34.65The system shall support Picard iteration with multiple levels of Multiapps.
- 11.34.66The system shall support the evaluation of TIMESTEP_BEGIN and TIMESTEP_END norms even when there are not active Multiapps on both of those execute_on times.
- 11.34.67The system shall allow multiapp steady-state simulations coupled by a postprocessor transfer using Picard iterations
- with a steady-state sub-application,
- and with pseudo-transient sub-applications.
- 11.34.68The system shall allow transient multiapp simulations coupled by a postprocessor transfer using Picard iterations
- with a failed timestep,
- with adaptive timestepping,
- with a subapp using a smaller timestep,
- with the sub-app and the postprocessor transfers executed at the beginning of each time step,
- with the sub-app executed at the beginning of each time step and postprocessor transfers executed at the end of each timestep,
- with the sub-app executed at the end of each time step and postprocessor transfers executed at the beginning of each timestep,
- with the sub-app and the postprocessor transfers executed at the end of each time step.
- for updating the subapp postprocessor with the sub-app and the variable transfers executed at the beginning of each time step,
- for updating the subapp postprocessor with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- for updating the subapp postprocessor with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- and for updating the subapp postprocessor with the sub-app and the variable transfers executed at the end of each time step.
- 11.34.69The system shall support performing iterative solves of sub-applications that used smaller time steps than master application.
- 11.34.70The system shall support evaluating sub-applications at spatial positions specified in a file.
- 11.34.71The system shall provide an ability to perform iterative solves with sub-applications.
- 11.34.72The system shall provide an ability to relax solutions with iterative solves with sub-applications.
- 11.34.73The system shall provide an ability to relax sub-applications solutions along with the master solution for during iterative solves.
- 11.34.74The system shall provide an ability to relax solutions of array variables with iterative solves with sub-applications.
- 11.34.75The system shall error if provided relaxation factor that is less than or equal to 0 or greater than or equal to 2.
- 11.34.76The system shall support the ability to reset a sub-application at a specified time during the simultation
- for single and
- multi-level sub-applications.
- 11.34.77The system shall support simulations that
- that execute sub-applications, which
- are capable of being restarted from a previous simulation.
- 11.34.78The system shall support simulations that
- that execute with multi-level sub-applications, which
- are capable of being restarted from a previous simulation.
- 11.34.79The system shall support simulations that
- that executes sub-applications, which
- can restart from a previous simulation and project the initial condition from the previous solution to the current, restarted simulation.
- 11.34.80The system shall allow multiapp simulations coupled by a variable transfer transformed using the Secant method for transient problems
- with a failed timestep,
- with adaptive timestepping,
- coupled with a subapp using a smaller timestep,
- with the sub-app and the variable transfers executed at the beginning of each time step,
- with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- with the sub-app and the variable transfers executed at the end of each time step.
- and when updating the subapp variables with the sub-app and the variable transfers executed at the beginning of each time step,
- for when updating the subapp variables with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- for updating the subapp variables with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- and for updating the subapp variables with the sub-app and the variable transfers executed at the end of each time step.
- 11.34.81The system shall allow multiapp steady-state simulations coupled by a postprocessor transfer using the secant method
- with a steady-state sub-application,
- and with pseudo-transient sub-applications.
- 11.34.82The system shall allow transient multiapp simulations coupled by a postprocessor transfer using the secant method
- with a failed timestep,
- with adaptive timestepping,
- with a subapp using a smaller timestep,
- with the sub-app and the postprocessor transfers executed at the beginning of each time step,
- with the sub-app executed at the beginning of each time step and postprocessor transfers executed at the end of each timestep,
- with the sub-app executed at the end of each time step and postprocessor transfers executed at the beginning of each timestep,
- with the sub-app and the postprocessor transfers executed at the end of each time step.
- for updating the subapp postprocessor with the sub-app and the variable transfers executed at the beginning of each time step,
- for updating the subapp postprocessor with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- for updating the subapp postprocessor with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- and for updating the subapp postprocessor with the sub-app and the variable transfers executed at the end of each time step.
- 11.34.83MultiApps shall be properly identified in the PerfGraph
- 11.34.84The system shall support executing sub-applications that operate with smaller time steps then the master application that include material properties that are based on previous time steps.
- 11.34.85The system shall allow multiapp simulations coupled by a variable transfer transformed using Steffensen's method for transient problems
- with a failed timestep,
- with adaptive timestepping,
- coupled with a subapp using a smaller timestep,
- with the sub-app and the variable transfers executed at the beginning of each time step,
- with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- with the sub-app and the variable transfers executed at the end of each time step.
- and when updating the subapp variables with the sub-app and the variable transfers executed at the beginning of each time step,
- for when updating the subapp variables with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- for updating the subapp variables with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- and for updating the subapp variables with the sub-app and the variable transfers executed at the end of each time step.
- 11.34.86The system shall allow multiapp steady-state simulations coupled by a postprocessor transfer using Steffensen's method
- with a steady-state sub-application,
- and with pseudo-transient sub-applications.
- 11.34.87The system shall allow transient multiapp simulations coupled by a postprocessor transfer using Steffensen's method
- with a failed timestep,
- with adaptive timestepping,
- with a subapp using a smaller timestep,
- with the sub-app and the postprocessor transfers executed at the beginning of each time step,
- with the sub-app executed at the beginning of each time step and postprocessor transfers executed at the end of each timestep,
- with the sub-app executed at the end of each time step and postprocessor transfers executed at the beginning of each timestep,
- with the sub-app and the postprocessor transfers executed at the end of each time step.
- for updating the subapp postprocessor with the sub-app and the variable transfers executed at the beginning of each time step,
- for updating the subapp postprocessor with the sub-app executed at the beginning of each time step and variable transfers executed at the end of each timestep,
- for updating the subapp postprocessor with the sub-app executed at the end of each time step and variable transfers executed at the beginning of each timestep,
- and for updating the subapp postprocessor with the sub-app and the variable transfers executed at the end of each time step.
- 11.34.88The system shall support the execution of sub-applications that operate with smaller time steps then the master application:
- with a sub-application that continues to the end time of the master application and
- with a sub-application that specifies and completion time prior to the master application.
- 11.34.89The system shall support the output of sub-application data that operate with smaller time steps then the master application.
- 11.34.90The system shall support the execution of sub-application that operate with adaptive time steps that differ from the master application.
- 11.34.91The system shall support sub-cycling with negative times by particularly ensuring that the sub-app does not advance further than the main app.
- 11.34.92The system shall support the failure of sub-application that operates with differing time steps than the master application.
- The simulation shall continue by reducing the time step and
- support the failure and the ability to limit the number of processors for the sub-application.
- 11.34.93The system shall support a time offset between the master and a subapp when using the Multiapp system.
- 11.34.94The system shall support the execution of sub-applications:
- with a time step governed by the sub-application and
- with a time step governed by the master application.
- 11.34.95The system shall support negative times by particularly ensuring that the sub-app properly updates its time without sub-cycling.
- rdg: Nodalkernels
- 11.35.1The system shall include ability to include contributions to the residual nodes of a finite element mesh
- on a single and
- multiple threads.
- 11.35.2The system shall be able to enforce a lower bound on a variable using nodal NCP, nodal application of resultant forces,
- have no oscillations in the solution, and
- have a non-singular matrix
- 11.35.3The system shall be able to enforce an upper bound on a variable using nodal NCP, nodal application of resultant forces,
- have no oscillations in the solution, and
- have a non-singular matrix
- 11.35.4The system shall be able to enforce an upper and lower bound on a variable using nodal NCP, nodal application of resultant forces,
- have no oscillations in the solution, and
- work with automatic differentiation, and
- have a non-singular matrix, and
- be incompataible with algebraic multigrid
- 11.35.5The system shall be able to enforce an upper and lower bound on a variable using a variational inequality
- reduced space active set solver, which
- is compatible with algebraic multigrid, and
- a semi-smooth solver, which
- is also compatible with algebraic multigrid
- The reduced space active set method shall work with a matrix-free approximation of the Jacobian, and the function evaluations corresponding to the nonlinear residual and the base for finite-differencing shall be equivalent.
- 11.35.6The system shall show violation of bounds when a non-variational-inequality solver is used
- 11.35.7The system shall support the use of Crank-Nicolson time integration scheme.
- 11.35.8The system shall include ability to include contributions to the residual nodes of a finite element mesh using an LU preconditioner.
- 11.35.9The system shall include ability to include contributions to the residual nodes of a finite element mesh and compute the correct Jacobian terms for
- subdomain and
- boundary restricted terms.
- 11.35.10The system shall not duplicate computation of kernels on a node that is shared between two subdomains.
- 11.35.11The system shall support the application of Dirichlet type boundary conditions using the penalty method for nodesets.
- 11.35.12The system shall apply scaling to residuals and Jacobians for volumetric PDE terms applied at nodes
- rdg: Outputs
- 11.36.1The system shall support the ability to append the date to output filenames.
- 11.36.2The system shall support outputting of checkpoint files:
- at a specific interval while only maintaining a specified number of recent files and
- be capable of restarting a simulation from previously exported data at this interval.
- 11.36.3The system shall support outputting of checkpoint files, using a simplified input format:
- at every timestep while maintaining the most recent two files and
- be capable of restarting a simulation from the output data.
- 11.36.4The system shall support outputting of checkpoint files, using a complete input block:
- at every timestep while maintaining the most recent two files and
- be capable of restarting a simulation from the output data.
- 11.36.5The system shall support outputting of simulation data using the ExodusII format using simplified input file syntax.
- 11.36.6The system shall by default display data on the console from:
- the Postprocessor system and
- the scalar variable system.
- 11.36.7The system shall output a running list of coupling iteration residual norms during multiapp coupling iterations.
- 11.36.8The system shall only output the coupling iteration residual TIMESTEP_BEGIN norms when there are no TIMESTEP_END Multiapps.
- 11.36.9The system shall only output the coupling iteration TIMESTEP_END norms when there are no TIMESTEP_BEGIN Multiapps.
- 11.36.10The system shall output the coupling iteration residual norm for TIMESTEP_BEGIN and TIMESTEP_END Multiapps when both exist in the simulation.
- 11.36.11The system shall run a simulation without producing any file-based output.
- 11.36.12The system shall support outputting table based Postprocessor data.
- 11.36.13The system shall output Scalar Variables on the console in a table to the screen.
- 11.36.14The system shall warning when multiple console outputs attempt to write to the screen simultaneously.
- 11.36.15The system shall support outputting console information to a file.
- 11.36.16The system shall output Scalar Variables on the console in a table to a file.
- 11.36.17The system shall support outputting Scalar Variables to a file.
- 11.36.18The system shall support writing the console solve log to an output file.
- 11.36.19The system shall support writing norms to the console for each nonlinear variable in the simulation.
- 11.36.20The system shall output a Performance log based on a command line flag.
- 11.36.21The system shall support writing negative time information in the console.
- 11.36.22The system shall support outputting the Performance Log at user specified intervals.
- 11.36.23The system shall support writing to a buffered console object from every MooseObject-derived object.
- 11.36.24The system shall support writing to a buffered console object from const methods in MooseObject-derived objects.
- 11.36.25The system shall support outputting a transformed input file to the screen.
- 11.36.26The system shall support disabling the linear residual output.
- 11.36.27The system shall output a Performance Log based on a single input file parameter.
- 11.36.28The system shall override Performance Log output when conflicting values appear on the command line and input file.
- 11.36.29The system shall support adding an additional output time option without clobbering existing default options.
- 11.36.30The system shall output a "final" label at the end of the simulation before additional screen output occurs.
- 11.36.31The system shall error when specifying an invalid table fit width option.
- 11.36.32The system shall support the output of postprocessors and scalars to CSV files for steady state problems.
- 11.36.33The system shall support the output of postprocessors and scalars to CSV files for transient propblems.
- 11.36.34The system shall support the output of postprocessors and scalars to CSV files for transient problems without a time column.
- 11.36.35The system shall support the output of postprocessors and scalars to Exodus files for transient problems.
- 11.36.36The system shall support the output of CSV data:
- with checkpoint enabled and
- when restarted creates a new output file or
- optionally appends the existing file from the first part.
- 11.36.37The system shall support CSV output aligned columns and a custom delimiter.
- 11.36.38The system shall support CSV output to the console that is sorted by the variable name.
- 11.36.39The CSV output object shall create a symlink to the final output with with a '_FINAL' suffix for VectorPostprocessor data when there are execute flags in addition to FINAL.
- 11.36.40The CSV output object shall create a symlink to the final output with with a '_FINAL' suffix for VectorPostprocessor data when the execute flag is set to FINAL.
- 11.36.41The CSV output object 'create_final_symlink' parameter shall be able to disable the creation of the final symlink.
- 11.36.42The CSV output object shall create a symlink to the most recent output with with a '_LATEST' suffix for VectorPostprocessor data.
- 11.36.43The CSV output object 'create_latest_symlink' parameter shall be able to disable the creation of the latest symlink.
- 11.36.44The system shall be include the ability to display variable residual norms.
- 11.36.45The system shall include debug syntax that includes the ability to enable variable residual norm output.
- 11.36.46The system shall be include the ability to display material property information.
- 11.36.47The system shall include debug syntax that includes the ability to enable material property information output.
- 11.36.48The system shall be include the ability to display residual information for variables.
- 11.36.49The system shall include debug syntax that includes the ability to enable variable residual information.
- 11.36.50The system shall be include the ability to display residual information for variables that is limited to non-linear iterations.
- 11.36.51The system shall be include the ability to display residual information for scalar variables.
- 11.36.52The system shall include debug syntax that includes material property consumption information.
- 11.36.53The system shall be able to output the
displacedmesh for a model with adaptive mesh refinement. - 11.36.54If the user requested the output of a displaced problem and there is none present, the system shall fallback to using the non-displaced problem.
- 11.36.55If the user asks for no displaced mesh to be created, even though displacements are provided in the mesh block, the system shall not create a displaced mesh
- 11.36.56The Output system shall be capable of applying displacements directly to the outputted mesh for steady problems.
- 11.36.57The Output system shall be capable of applying displacements directly to the outputted mesh for transient problems with Kernels using the displaced configuration.
- 11.36.58The Output system shall be capable of applying displacements directly to the outputted mesh for transient problems.
- 11.36.59The system shall support the ability to output the degree-of-freedom information:
- to a json file,
- to the screen,
- with uniform refinement, and
- with transient adaptivity.
- 11.36.60The system shall error when two outputs with the same name are created.
- 11.36.61The system shall error when two outputs produce a file with the same name.
- 11.36.62The system shall reserve names for output objects:
- "none" and
- "all."
- 11.36.63The system shall support ExodusII output.
- 11.36.64The system ExodusII output shall not use HDF5 unless requested.
- 11.36.65The system shall support including the executed input file within the ExodusII output.
- 11.36.66The system shall support inclusion of initial condition data within the ExodusII output.
- 11.36.67The system shall support writing non-linear, auxililary, scalar, and postprocessor variables to ExodusII format.
- 11.36.68The system shall support the exclusion of non-linear, scalar, and postprocessor variables from ExodusII output.
- 11.36.69The system shall error if the supplied names for including or excluding variables is invalid.
- 11.36.70The system shall support outputting elemental and scalar variables as nodal variables within ExodusII output.
- 11.36.71The system shall support outputting discontinuous finite element types with the ExodusII format.
- 11.36.72The system shall support Nemesis output.
- 11.36.73The system shall support GMV output.
- 11.36.74The system shall be able to dump YAML data.
- 11.36.75The system shall only give Executioner output once.
- 11.36.76The system shall support Tecplot output.
- 11.36.77If the Tecplot API is available, the system shall support Tecplot output given in Tecplot binary format.
- 11.36.78If the Tecplot API is not available, the system shall support Tecplot output given in ASCII format.
- 11.36.79The system shall be able to generate gnuplot PostScript output.
- 11.36.80The system shall be able to generate gnuplot PNG output.
- 11.36.81The system shall be able to generate gnuplot GIF output.
- 11.36.82If a postprocessor utilizes the "outputs" parameter, but postprocessor output is disabled for the console object, the system shall warn the user.
- 11.36.83The system shall print parameters when the
--show-input
flag is used on the command line. - 11.36.84Solution history output shall work
- 11.36.85The system shall support XDR output.
- 11.36.86The system shall be able to dump input file syntax in JSON format.
- 11.36.87The system shall be able to dump input file syntax in JSON format and exclude test object syntax.
- 11.36.88The system shall be able to dump a subset of JSON formatted syntax.
- 11.36.89The system shall dump line information along with JSON formatted syntax.
- 11.36.90The system shall not include RESIDUAL and JACOBIAN template arguments in the JSON syntax format.
- 11.36.91The system shall be able to dump input file (HIT) syntax.
- 11.36.92The system shall be able to dump a subset of input file (HIT) syntax.
- 11.36.93The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check InputChoices
- 11.36.94The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check ChildAtLeastOne
- 11.36.95The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check ValEnums
- 11.36.96The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check active parameter
- 11.36.97The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check normal_sub
- 11.36.98The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check type_sub
- 11.36.99The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check default type
- 11.36.100The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check MinValInc
- 11.36.101The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check default types child parameter promotion
- 11.36.102The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check default subblock_types child parameter promotion
- 11.36.103The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check Mesh file parameter requirement removal
- 11.36.104The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check Boolean type ValEnums choices
- 11.36.105The system shall be able to convert a JsonSyntaxTree into Standard Object Notation (SON) for use by the NEAMS workbench. Check beginning and ending markers
- 11.36.106The system shall support outputting data to the general mesh viewer format.
- 11.36.107The system shall support limiting vector postrocessor data to a specific CSV output object.
- 11.36.108The system shall support the ability to control the output of an aggregate calculation via a parameter of the object itself.
- 11.36.109The system shall support specifying an output interval for an output input file block.
- 11.36.110The system shall support specifying an output interval for all outputs.
- 11.36.111The system shall support limiting output to the final timestep of a simulation.
- 11.36.112The system shall support output at specific simulation times.
- 11.36.113The system shall support multiple output objects that have different simulation synchronization times specified.
- 11.36.114The system shall support the disabling of an output object by restricting the execution settings.
- 11.36.115The system shall support the ability to limit output objects only at the beginning and end of a simulation.
- 11.36.116The system shall not output the same information multiple times when an output object is defined to operate on the end of each timestep and the final timestep.
- 11.36.117The system shall support output during linear and non-linear iterations during transient simulations using the ExodusII format.
- 11.36.118The system shall support output during linear and non-linear iterations during steady simulations using the ExodusII format:
- in a single file or
- in a sequence of files.
- 11.36.119The system shall support output during linear and non-linear iterations during transient simulations using the VTK format.
- 11.36.120The system shall support output during linear and non-linear iterations during transient simulations using the CSV format.
- 11.36.121The system shall support output during linear and non-linear iterations during transient simulations:
- with both the start and end times defined,
- with only the start time defined,
- with the start and end timestep provided,
- with the start timestep given, and
- with the end timestep provided.
- 11.36.122The system shall support JSON output for data.
- 11.36.123The system shall include the ability to output simulation data in JSON format:
- that produces multiple files for parallel distributed data and
- for parallel replicated data in a single file.
- 11.36.124The system shall support creating unique JSON output files per timestep.
- 11.36.125The system shall provide an API for retrieving an output object by type and name.
- 11.36.126The system shall provide an API for retrieving all output objects of a type.
- 11.36.127The system shall provide an API for retrieving output objects for the given names and type.
- 11.36.128The system shall provide an API for retrieving all output object names of a type.
- 11.36.129The system shall support the naming of output files based on the input file block name.
- 11.36.130The Nemesis Output object shall output separate files per process for visualization purposes.
- 11.36.131The Nemesis Output object shall support writing elemental variables.
- 11.36.132The Nemesis Output object shall support writing elemental variables with the same numbering on DistributedMesh.
- 11.36.133The Nemesis Ouput object shall support writing scalar variables.
- 11.36.134The Nemesis Ouput object shall support writing scalar variables when using DistributedMesh.
- 11.36.135The system shall support the ability to specify the output dimension when outputting in ExodusII format.
- 11.36.136The system shall support the ability to limit output to certain sub-applications based on name.
- 11.36.137The system shall include the ability to limit automatic output of adaptivity objects, including
- indicators and
- markers.
- 11.36.138The system shall allow the user to select different console output intervals.
- 11.36.139The system shall display active output information with corresponding execute flags.
- 11.36.140The system shall provide a system for outputting solution variables with a uniformly refined mesh:
- with a shift in output position,
- with a custom filename,
- with mesh adaptivity,
- with a generated mesh,
- with a file mesh, and
- with second order elements from a file mesh.
- 11.36.141The system shall include an example demonstrating the use of oversampling.
- without and
- with mesh adaptivity.
- 11.36.142The system shall include the ability to overwrite existing timesteps when writing ExodusII format.
- 11.36.143The system shall output a performance log information for sub-applications
- that are transient,
- use differing time steps from the main, and
- execute an entire simulation.
- 11.36.144The system shall have the ability to output a detailed performance log
- 11.36.145The system shall be able to produce png images:
- for 2D square images,
- arbitrary shapped domains,
- and complex shapes with periodic boudary conditions.
- 11.36.146The system shall support offseting the spatial position of a domain during output.
- 11.36.147The system shall support the ability to specify the output object for postprocessor data from within the input file block defining the postprocessor.
- 11.36.148The system shall error if an invalid output name is provided within the postprocessor input file block.
- 11.36.149The system shall support limiting postprocessor output to the screen.
- 11.36.150The system shall support limiting postprocessor output to from within the input file syntax of an output object.
- The system shall error if a postprocessor variable is listed for suppression and inclusion within an output object block in the input file.
- 11.36.152The system shall support limiting the output of comma seperated value data to the final timestep:
- for all scalar data and
- for postprocessor data only.
- 11.36.153The system shall support the ability to output single value aggregate calculations to JSON format.
- 11.36.154Correctly set up initial recover files for the part2 test.
- 11.36.155A simulation executed using the "–recover" flag successfully runs a simulation using the specified recover file argument.
- 11.36.156Correctly set up initial recover files for the part2_latest test.
- 11.36.157A simulation executed using the "–recover" flag with a file argument using the placeholder "LATEST" successfully runs a simulation using most recent checkpoint/recover file from the specified directory.
- 11.36.158The system shall automatically output values to a comma separated (CSV) file in
- root/replicated mode
- and distributed mode.
- 11.36.159The system shall support the ability to output the residual norms of individual nodal variables.
- 11.36.160The system shall support the ability to output the residual norms of individual elemental variables.
- 11.36.161The system shall support writing file to sub-directories.
- 11.36.162The system shall print the various components of the simulation information header to the screen
- 11.36.163The system shall print the mesh information to the screen when the mesh changes
- 11.36.164The system shall print the auxiliary system information to the screen when the mesh changes
- 11.36.165The system shall print the nonlinear system information to the screen when the mesh changes
- 11.36.166The system shall support writing ASCII Tecplot output.
- 11.36.167The system shall support appending Tecplot output files.
- 11.36.168The system shall optionally support writing binary Tecplot files.
- 11.36.169The system shall guarantee that scalar variables are in the proper state for output when outputting:
- ExodusII format and
- CSV format.
- 11.36.170The system shall support outputting field and scalar data to the ExodusII format.
- The system shall error if a variable is marked for output and output suppression.
- 11.36.172The system shall error if a variable is perscribed for output but does not exist.
- 11.36.173The system shall test that output of an auxiliary field can be disabled within the input block defining the variable.
- 11.36.174The system shall support a system for including or suppressing output variables the operates when only a single variable for each type exists.
- 11.36.175The system shall support a system for including or suppressing output variables.
- 11.36.176The variables specified in an Output object's 'hide = ' list shall not appear in the output file.
- 11.36.177The system shall support the ability to output vector aggregate calculations to JSON format.
- 11.36.178The system shall optionally support output of files using the VTK format:
- in serial and
- in parallel.
- 11.36.179The system shall support the output of data using native libMesh formats:
- in XDA (ASCII) format and
- in XDR (binary) format.
- 11.36.180The system shall support simultaneous output of the ASCII and binary forms of the libMesh native format.
- 11.36.181The system shall support XML output for vector data that is
- replicated or
- distributed in parallel.
- 11.36.182The system shall support XML output for vector data during nonlinear solve.
- rdg: Parser
- 11.37.1The system shall support active/inactive parameters to selectively enable/disable subblocks within all input file blocks.
- 11.37.2The system shall produce an error when the active parameter refers to a non-exiseant block.
- 11.37.3The system shall produce an error when the inactive parameter refers to a non-existent block.
- 11.37.4The system shall produce an error when both the active and inactive parameters are present in the same block.
- 11.37.5The system shall honor the active or inactive parameters at the top (root) level.
- 11.37.6The system shall support the ability to override input file parameters from the command line.
- 11.37.7The system shall support the ability to globally change MultiApp input file syntax from the command line.
- 11.37.8The system shall support the ability to change a whole MultiApp's (multiple SubApps) input file syntax from the command line.
- 11.37.9The system shall support the ability to change individual SubApp input file syntax from the command line.
- 11.37.10The system shall produce an error when a SubApp command line override index is not valid.
- 11.37.11The system shall output all registered objects in HIT format.
- 11.37.12The system shall output all registered objects in single line format.
- 11.37.13The system shall report an error if the supplied input file is not formatted correctly.
- 11.37.14The system shall be able to read input file syntax and write into map parameters.
- 11.37.15The system shall error if a user supplies an odd number of entries, implying an unbalanced key-value set, to a map parameter.
- 11.37.16The system shall error if a user supplies syntax in a map parameter that cannot be cast to the requested mapped type.
- 11.37.17The system shall support for multiple input files, which are merged into one input specification for a simulation
- where no parameters overlap
- where input files may override parameters in previous inputs
- while locating input errors in the correct file
- and inform the user of parameters from earlier files being overidden by later files
- 11.37.18The system shall raise an error if no input files were specified after the -i option
- 11.37.19The system shall support parameter substitution in input files using command line variable expressions.
- 11.37.20The system shall support parameter substitution in input files using variable expressions from within the same input file.
- 11.37.21The system shall support unit conversion in input files using variable expressions.
- 11.37.22The system shall support reading in jagged double-indexed arrays from the input file using two delimiters for columns and rows respectively.
- 11.37.23The system shall support vector size checking on input parameter vectors:
- for ints,
- for Reals.
- 11.37.24The system shall support vector element checking:
- against constant expressions,
- against other unsigned int vector elements,
- against other long vector elements,
- against other int vector elements, and
- against other Real vector elements.
- 11.37.25The system shall support vector bounds checking on input parameter vectors.
- 11.37.26The system shall support checking for non-empty input parameter vectors.
- rdg: Partitioners
- 11.38.1The system shall support a block-weighted partitioner
- when using ReplicatedMesh
- and when using DistributedMesh.
- 11.38.2The block-weighted partitioner shall report a reasonable error when
- the input blocks do not match the size of the input weights
- an input block is not found in the mesh
- 11.38.3The system shall allow custom partitioners to work with mesh generators
- 11.38.4The system shall allow skipping partitioning after loading a mesh
- 11.38.5The system shall provide a simple regular grid-based partitioner
- 11.38.6The system shall have the ability to do hierarchical partitioning based on a regular grid.
- 11.38.7Make MOOSE support ptscotch via PETSc
- 11.38.8ptscotch shall support element-weighted graphs for balancing workload
- 11.38.9ptscotch shall support side-weighted graphs for minimizing communication
- 11.38.10ptscotch shall take both side weights and element weights into consideration
- 11.38.11Make MOOSE support parmetis via PETSc
- 11.38.12Parmetis shall support element-weighted graphs for balancing workload
- 11.38.13Parmetis shall support side-weighted graphs for minimizing communication
- 11.38.14Parmetis shall take side weights and element weights into consideration
- 11.38.15Parmetis shall support presplit
- 11.38.16The system shall support a serial partitioner Chaco
- 11.38.17The system shall support a serial partitioner party
- 11.38.18The system shall provide a random partitioner
- 11.38.19The system shall allow restricting apps to just one MPI rank
- 11.38.20The system shall error if an out of range rank is given to SingleRankPartitioner
- rdg: Phi Zero
- 11.40.1The system shall be able to construct zero objects for shape functions and shape function gradients consistent with the maximum number ofshape functions and quadrature points in the simulation.
- 11.40.2The system shall be able to construct zero objects for shape functions and shape function gradients consistent with the maximum number ofshape functions and quadrature points in the simulation. This test checks the size of zero objects when using second-order elements and second order-variables.
- rdg: Postprocessors
- 11.41.1The AreaPostprocessor shall compute the "area" or dimension - 1 "volume" of sides.
- 11.41.2The system shall compute the average value of a field variable over time
- at the end of a time step and
- and at the beginning of the time step.
- 11.41.3The system shall compute the average value of a quantity along the axis of rotation in an axisymmetric coordinate system.
- 11.41.4The system shall support calculating the value change overFixedPoint
- with respect to the previous calculation and
- with respect to the initial calculation.
- 11.41.5The system shall issue an error when the dependent "change ofFixedPoint" calculation
- "with respect to initial" isn't calculated at the initial step and
- "with respect to previous" isn't calculated at the previous step.
- 11.41.6The system shall support calculating the value change over time
- with respect to the previous calculation and
- with respect to the initial calculation.
- 11.41.7The system shall issue an error when the dependent "change of time" calculation
- "with respect to initial" isn't calculated at the initial step and
- "with respect to previous" isn't calculated at the previous step.
- 11.41.8The system shall allow for the retrieval of raw elemental degree-of-freedom values directly for elemental evaluations.
- 11.41.9The system shall have the ability to accumulate a scalar value over time.
- 11.41.10The system shall the substitution of a constant value in place of an optional Postprocessor coupling value
- when that value is supplied as a default in the coupling declaration
- or when that value is supplied in the input file.
- 11.41.11The system shall support computing the difference between two scalar Postprocessor values.
- 11.41.12The system shall execute dependent Postprocessors first when computing the difference between two Postprocessors.
- 11.41.13The system shall support running Postprocessors on the the mesh containing displacements:
- elemental and
- side.
- 11.41.14The system shall compute the the average value of a non-AD material property over the domain.
- 11.41.15The system shall compute the the average value of an AD material property over the domain.
- 11.41.16The system shall contain a "Postprocessor" that computes the average value of a variable
- one a single block and
- on multiple blocks.
- 11.41.17The system shall compute the extreme (min/max) values of a functor evaluated at each element over the domain.
- 11.41.18The system shall compute the value of a functor at the element where a proxy functor reaches the extreme (max/min) value over the domain.
- 11.41.19The system shall compute the the extreme (min/max) values of a non-AD material property over the domain.
- 11.41.20The system shall compute the the extreme (min/max) values of an AD material property over the domain.
- 11.41.21The system shall compute the extreme (min/max) values of an elemental field variable over the domain.
- 11.41.22The system shall compute the value of a variable at the point where a proxy variable reaches the extreme (max/min) value over the domain.
- 11.41.23The system shall compute the H1-seminorm between a field variable and a analytical function.
- 11.41.24The system shall compute the element integral of a variable
- over the whole domain and
- over a subset of the domain.
- 11.41.25The system shall compute the average integral quantity over an element of a scalar material property.
- 11.41.26The system shall support computing the integral of a variable quantity over the domain on the mesh
- during the initial setup step
- and at the end of each time step, for FE variables
- and FV variables.
- 11.41.27The system shall compute the L1 error between an elemental field variable and an analytical function.
- 11.41.28The system shall compute the element-wise L2 difference between two field variables.
- 11.41.29The system shall compute the L2-error (Euclidean) between a field variable and a analytical function.
- 11.41.30The system shall compute the volumetric L2 norm of a variable over the mesh.
- 11.41.31The system shall compute the average time derivative of a solution value computed per element in 2D.
- 11.41.32The system shall compute the average time derivative of a solution value computed per element in 1D.
- 11.41.33The system shall support sampling a specific quantity integrated over a single element.
- 11.41.34The system shall support sampling a specific quantity integrated over a single element with finite volume variables.
- 11.41.35The system shall compute the Vector L2 Error of three scalar variables simultaneously as three orthogonal components of a vector.
- 11.41.36Postprocessor objects shall be able to execute and output after the simulation is complete.
- 11.41.37The system shall support an attribute (scalar value) reporter through the "Execution" system.
- 11.41.38The system shall be capable of find a value on a monotonically changing line.
- 11.41.39The system shall report and error when the target value is lower than one of the sampled endpoints.
- 11.41.40The system shall report and error when the target value is greater than one of the sampled endpoints.
- 11.41.41The system shall return the default flag value when the target value is lower than one of the sampled endpoints and error_if_not_found is false.
- 11.41.42The system shall return the default flag value when the target value is greater than one of the sampled endpoints and error_if_not_found is false.
- 11.41.43The system shall return user specified flag value when the target value is lower than one of the sampled endpoints and error_if_not_found is false.
- 11.41.44The system shall return user specified flag value when the target value is greater than one of the sampled endpoints and error_if_not_found is false.
- 11.41.45The system shall report and error when the sampling line extends beyond the mesh bounding box.
- 11.41.46The system shall report and error when the line sampling algorithm fails to converge within the desired depth.
- 11.41.47The system shall integrate functions over volume.
- 11.41.48The system shall compute the integral of a function over a boundary.
- 11.41.49The system shall support evaluating a function of space and time at a single point as a Postprocessor value.
- 11.41.50The system shall be able to correctly compute the volume of blocks and the area of sidesets in 3D.
- 11.41.51The system shall be able to correctly compute the area of blocks and the perimeterof sidesets in 2D and appropriately handle boundary conditions applied to sidesetscreated with respect to different bodies.
- 11.41.52The system shall be able to compute the integral of the diffusive flux at an interface
- with finite element variables,
- and with finite volume variables.
- 11.41.53The system shall be able to compute the average diffusive flux at an interface
- with finite element variables,
- and with finite volume variables.
- 11.41.54Testing the implementation of the InterfaceAverageVariableValuePostprocessor By design at the end of the first step we should observe: an average material property of 7, an average material property absolute jump to 6,a signed material property jump (primary minus secondary) of 6, a signed material propertyjump (secondary minus primary) of -6, a material property value on the primary side of 10, a material property value on the primary side of 4
- 11.41.55Testing the implementation of the InterfaceIntegralVariableValuePostprocessor By design at the end of the first step we should observe: an integral material property of 21, an integral material property absolute jump to 18,a signed integral material property jump (primary minus secondary) of 18, a signed integral material propertyjump (secondary minus primary) of -18, a material integral property value on the primary side of 30, a material integral property value on the primary side of 12
- 11.41.56Testing the implementation of the InterfaceAverageVariableValuePostprocessor for finite volume variables.By design at the end of the first step we should observe: an average material property of 7, an average material property absolute jump to 6,a signed material property jump (primary minus secondary) of 6, a signed material propertyjump (secondary minus primary) of -6, a material property value on the primary side of 10, a material property value on the primary side of 4
- 11.41.57Testing the implementation of the InterfaceIntegralVariableValuePostprocessor for finite volume variables.By design at the end of the first step we should observe: an integral material property of 21, an integral material property absolute jump to 18,a signed integral material property jump (primary minus secondary) of 18, a signed integral material propertyjump (secondary minus primary) of -18, a material integral property value on the primary side of 30, a material integral property value on the primary side of 12
- 11.41.58The system shall support retrieving solution values from neighboring elements for use in internal side calculations.
- 11.41.59The system shall support the ability to compute a linear combination of scalar values (Postprocessors).
- 11.41.60The system shall allow a mix of postprocessor names and real numbers to be provided to PostprocessorName parameters.
- 11.41.61The system shall provide a postprocessor to measure physical and virtual memory usage and the major page fault count, depending on the operating system's ability to make those values available
- 11.41.62The system shall provide a vectorpostprocessor to, on each rank, measure physical and virtual memory usage, major page fault count, and total available ram available, depending on the operating system's ability to make those values available
- 11.41.63The system shall verify calculations using the method of manufactured solutions using a higher order polynomial function for linear elements.
- 11.41.64The system shall verify calculations using the method of manufactured solutions using sine functions for linear elements:
- on a 3D mesh
- verified with an analytical 3D solution and
- on a 2D mesh
- verified with an analytical 2D solution.
- 11.41.65The system shall verify calculations using the method of manufactured solutions using a functional form of an equation outside of the shape function space.
- 11.41.66The system shall have the capability to compute the nearest node number to a given point.
- 11.41.67The system shall have the capability to compute the nearest node number to a given point, and will choose the smallest node number if more than one node is equidistant.
- 11.41.68The system shall have the capability to compute the nearest node number to a given point, including when the mesh is adapting
- 11.41.69The system shall compute the extreme (min/max) values of a nodal field variable over the domain.
- 11.41.70The system shall compute the value of a variable at the point at which a proxy variable reaches the extreme (min/max) value.
- 11.41.71The system shall compute the maximum value of a field variable by sampling nodes
- over the whole domain and
- within a subdomain.
- 11.41.72The system shall compute the sum of nodal values of a variable
- on the whole domain,
- on a subset of the domain, and
- on multiple overlapping blocks visiting some nodes multiple times.
- 11.41.73The system shall report the value of a variable at a specified node
- for auxiliary variables and
- for primary (nonlinear) variables.
- 11.41.74The system shall support selecting the output for a single Postprocessor
- to a file and
- to the console.
- 11.41.75The system shall be capable of running multiple adaptivity cycles in a single solve step.
- 11.41.76They system shall be capable of toggling adaptivity at the start of the simulation.
- 11.41.77They system shall be capable of toggling adaptivity during the simulation.
- 11.41.78The NumDOFs Postprocessor shall report the number of degrees of freedom (DOFS) from one or more equations systems in the simulation.
- 11.41.79The NumElems Postprocessor shall report the number of elements (active or total) in the simulation.
- 11.41.80The NumElems Postprocessor shall report the number of elements (active or total) in the simulation when using distributed (pre-split) mesh.
- 11.41.81The system shall support time integration schemes that compute a consistent number of nonlinear and linear iterations for
- four stage, A-stable DIRK;
- explicit Euler;
- lumped explicit Euler;
- lumped and preconditioned explicit Euler;
- second-order backward difference;
- Crank-Nicloson;
- quasi explicit Euler;
- explicit midpoint;
- two-stage TVD Runge-Kutta;
- Heun;
- implicit Euler;
- implicit midpoint;
- two-stage, L-stable DIRK;
- three stage, L-stable DIRK;
- four stage, L-stable DIRK;
- and Ralston methods.
- 11.41.82The NumNodes Postprocessor shall report the number of nodes (replicated or distributed) in the simulation.
- 11.41.83The NumNodes Postprocessor shall report the number of nodes in the simulation when using distributed (pre-split) mesh.
- 11.41.84The system shall be capable of outputting the number of Residual evaluations
- 11.41.85The NumVars Postprocessor shall report the number of variables from one or more equation systems in the simulation.
- 11.41.86The system shall support the ability to retrieve previously computed Postprocessor values within a Postprocessor calculation:
- old (one timestep back) and
- older (two timesteps back).
- 11.41.87The VectorPostprocessor system shall provide a mechanism to retrieve references to old vectors.
- 11.41.88The VectorPostprocessor system shall provide a mechanism to retrieve references to old vectors while maintaining vector history.
- 11.41.89The system shall be able to compute a postprocessor based on a parsed expression of other postprocessors.
- 11.41.90The system shall have the abililty to pull information from the PerfGraph into a Postprocessor
- 11.41.91The system shall report a reasonable error when trying to obtain information from the PerfGraph for a section that does not exist
- 11.41.92The system shall support the ability to sample a field variable value anywhere within the domain.
- 11.41.93The system shall report an error when a field variable sample location is outside of the domain.
- 11.41.94The system shall include the ability to compare post-processor data and return a boolean value for
- greater than operator and the
- less than operator.
- 11.41.95The system shall support evaluating Postprocessors (UserObjects) in the following order: Elemental, Side, Internal Side, Nodal, and General.
- 11.41.96The system shall support outputting the scalar Postprocessor values at specific intervals
- to a file and
- to the console.
- 11.41.97The system shall support outputting the scalar Postprocessor values to multiple locations with different intervals.
- 11.41.98The system shall have the ability to output performance data to a file.
- 11.41.99The system shall calculate performance time when the data is only used by a Postprocessor.
- 11.41.100The system shall calculate performance time even when the performance graph isn't printed to any output format.
- 11.41.101The system shall compute parallel-agnostic random numbers in the Postprocessor system
- when running a complete simulation, or
- when running the first half of the simulation and
- running the second half of the simulation with recovery and receiving the same values.
- 11.41.102The system shall support the ability to report an input parameter on the screen or to an input file.
- 11.41.103The system shall report an error when a requested parameter for reporting does not exist
- with a wildcard in the name and
- a complete name/
- 11.41.104The system shall support the ability to report a scalar value set by arbitrary objects in the simulation
- with an initial default value and
- with a default previous (older) value.
- 11.41.105The system shall support computing the relative difference between two scalar values (Postprocessors)
- when values are non-zero, and
- when values are approximately zero.
- 11.41.106The system shall be capable of computing the relative norm of the solution difference between two consecutive time steps.
- 11.41.107The system shall support coupling in a scalar variable to the Postprocessing system for calculating values.
- 11.41.108The system shall support reporting scalar variables as Postprocessor (scalar output) values.
- 11.41.109The system shall support the scaling of a post processor quantity by another post processor quantity.
- 11.41.110The system shall compute the area-weighted average of the integral of a variable over a side.
- 11.41.111The system shall support computing the average of a material property over a side on the mesh.
- if the material property is of
Real
type - if the material property is of
RealVectorValue
type - if the material property is of
std::vector<Real>
type - if the material property is of
RankTwoTensor
type - if the material property is of
RankThreeTensor
type - if the material property is of
RankFourTensor
type - And shall error out if the index components do not match the dimension of the supplied property
- if the material property is of
- 11.41.112The system shall be capable of computing the average diffusive flux through a specified boundary on the mesh.
- 11.41.113The system shall be capable of computing the average of the diffusive flux integral of a finite volume variable through a specified boundary on the mesh.
- 11.41.114The system shall be capable of computing the integral of the diffusive flux through a specified boundary on the mesh
- with a scalar diffusivity,
- with an anisotropic vector diffusivity.
- 11.41.115The system shall be capable of computing the integral of the diffusive flux integral of a finite volume variable through a specified boundary on the mesh
- with a scalar diffusivity,
- with a vector diffusivity.
- 11.41.116The system shall yield equivalent results when vector material properties are computed with pre-initialized data or computed on-the-fly.
- 11.41.117The system shall support computing the integral of a variable quantity over a side on the mesh.
- 11.41.118The system shall support computing the integral of a finite volume variable quantity over a side on the mesh.
- 11.41.119The system shall support computing the integral of a material property over a side on the mesh.
- if the material property is of
Real
type - if the material property is of
RealVectorValue
type - if the material property is of
RankTwoTensor
type - And shall error out if the index components do not match teh dimension of the supplied property
- if the material property is of
- 11.41.120The system shall
- support computing the integral of a functor over one or more sides on the mesh.
- support computing the integral of a functor over a functor domain boundary inside a mesh.
- support computing the integral of a functor over one or more evenly refined sides on the mesh.
- 11.41.121The system shall compute an aggregate scalar quantity when applied along multiple boundaries.
- 11.41.122The TableOutput object shall allow the user to override tolerance checks when determining whether new rows should be added (independent variable delta)
- 11.41.123The system shall have the ability to record a minimum or maximum value of a field variable over time.
- 11.41.124The system shall have the ability to return the time at which a minimum or maximum value of a field variable over time occurred.
- 11.41.125The system shall include the ability to compute the inner product of two variables.
- 11.41.126The system shall compute the difference between the test and trial functions (Residual) for a specified variable.
- 11.41.127Vector post-processor values shall be able to be compared and return a boolean value for
- greater than or equal,
- greater than,
- less than, or
- equal.
- 11.41.128The system shall provide a Postprocessor that returns a single specified component of a VectorPostprocessor
- 11.41.129The Postprocessor that returns a single specified component of a VectorPostprocessor shall generate an error if the requested component is out of the range of the vector
- 11.41.130The system shall have the capability of computing the volume of the mesh domain.
- rdg: Preconditioners
- 11.42.1The system shall support the disabling of an automatically created preconditioning object when preforming a Newton solve.
- 11.42.2The system shall automatically create the correct preconditioning object when preforming a Newton solve.
- 11.42.3The system shall not automatically create a preconditioning object when preforming a Newton solve if the auto preconditioning capability is disabled.
- 11.42.4The system shall produce a perfect coloring for the Jacobian when using the finite difference preconditioner.
- 11.42.5The system shall produce a perfect Jacobian when using the stadard finite difference preconditioner.
- 11.42.6The system shall detect missing off-diagonal Jacobian entries when using a full finite different preconditioner.
- 11.42.7The system shall support the use of field split preconditioner on
- a single subdomain and
- multiple subdomains.
- 11.42.8The system shall support the use of HMG (high performance MG)
- 11.42.9The system shall support the use of HMG (high performance MG) for 3D problems
- 11.42.10The system shall support the use of strumpack (sparse direct solver) for 3D problems
- 11.42.11The system shall support the ability to use multiple cycles within hypre during preconditioning with PETSc.
- 11.42.12The system shall support the use of a physics based preconditioner
- without and
- with mesh adaptivity.
- 11.42.13The system shall support the ability to add arbitrary options to the solver when using a physics based precondioner.
- 11.42.14The system shall support the ability to control the variable solve order when using a physics base preconditioner.
- 11.42.15The system shall support the ability to use the conjugate gradient method for preconditioning with PETSc.
- 11.42.16The system shall support the use of a single matrix preconditioner
- without and
- with mesh adaptivity.
- 11.42.17The system shall support the ability to group variables when using a single matrix preconditioner.
- 11.42.18The system shall converge when using the VCP interface with AMG as the preconditioner.
- 11.42.19The system shall converge while computing the full inverse of the coupling matrix.
- 11.42.20The system shall converge while using LU as the solver.
- rdg: Predictors
- 11.43.1The system shall include a means for predicting future solution based on previous solutions.
- 11.43.2The system shall include a means for predicting future solution based on previous solutions and print the scale factor to the output stream.
- 11.43.3The system shall support the ability to skip performing solution predictions
- using solution times or
- previous solution times.
- 11.43.4The system shall support the ability to skip a prediction after a failed time step
- rdg: Problems
- 11.44.1The system shall allow the creation of a custom problem through a user-defined Action.
- 11.44.2The system shall support the creation of a custom problem with parameters in Problem block.
- 11.44.3The system shall error out when Problem block type is not specified.
- 11.44.4The system shall support the creation of a custom problem through Problem block with type specified.
- 11.44.5The system shall support the ability to extend the basic "Problem" interface.
- 11.44.6The system shall have a capability to dump the equivalent input file syntax for all objects added by a given action.
- 11.44.7The system shall include the support for Eigen value calculations that utilize
- an array of residual contributions;
- multiple variables; and
- multiple variables with Eigen values include in preconditioning matrix.
- 11.44.8Eigenvalue system should support standard eigenvalue problems
- 11.44.9Eigenvalue system should support generalized eigenvalue problems
- 11.44.10Eigenvalue system should support IntegratedBC
- 11.44.11Eigenvalue system should not allow users to use inhomogeneous nodal boundary conditions
- 11.44.12Eigenvalue system should use homogeneous boundary conditions only
- 11.44.13Eigenvalue system requires SLEPc installed
- 11.44.14Eigenvalue system should be able to solve a nonlinear eigenvalue problem
- 11.44.15Eigenvalue system should be able to solve a nonlinear eigenvalue problem using Newton
- 11.44.16Eigenvalue system should be able to solve a deficient eigenvalue problem
- 11.44.17Eigenvalue system should be able to compute a nonlinear eigenvalue problem
- 11.44.18Eigenvalue system should be able to compute a coupled nonlinear eigenvalue problem
- 11.44.19Eigenvalue system should be able to handle scalar kernels
- 11.44.20Eigenvalue system should be able to handle DG kernels
- 11.44.21Eigenvalue system shall support Picard iteration using eigenvalue executioner as a master.
- 11.44.22Eigenvalue system shall support Picard iteration using eigenvalue executioner as a master and output eigen vectors as an exodus file.
- 11.44.23Eigenvalue system shall support Picard iteration using eigenvalue executioner as a sub app.
- 11.44.24Eigenvalue system shall support Picard iteration using eigenvalue executioner as a sub app and output eigen vectors as an exodus file.
- 11.44.25Eigenvalue system should be able scale eigenvector such that postprocessor is a certain value
- 11.44.26The system shall be able to automatically condition a nonlinear eigen-solve based on diagonal entries in the preconditioning matrix.
- 11.44.27The system shall be able to automatically scale a nonlinear eigen-solve based on entries in the non-eigen residual vector.
- 11.44.28The system shall provide an initial guess to Newton if users request.
- 11.44.29The system shall support eigenvalue execution without free power iterations.
- 11.44.30The system shall provide an option to output the eigenvalue as its inverse.
- 11.44.31The system shall provide an option to output the eigenvalue on screen as its inverse.
- 11.44.32The system shall support extra power iterations.
- 11.44.33The system shall support extra power iterations and check eigenvalue.
- 11.44.34The system shall support eigenvalue calculations with an initial condition including the initial solution vector and the initial eigenvalue.
- 11.44.35The system shall support use of matrix-vector multiplication as residual evaluation for eigenvalue calculations
- 11.44.36The system shall support evaluation of auxiliary variables on linear with the matrix-only eigenvalue solve type
- 11.44.37The system shall support use of matrix-vector multiplication as residual evaluation for eigenvalue calculations with constant matrices
- 11.44.38The system shall support compatibility of solve type and constant-matrices flag
- 11.44.39The system shall support use of matrix-vector multiplication as residual evaluation for coupled eigenvalue problems
- 11.44.40The system shall support use of matrix-vector multiplication with full-coupled matrices (by default) as residual evaluation for coupled eigenvalue problems
- 11.44.41The system shall support use of matrix-vector multiplication as residual evaluation for non-homogeneous problems
- 11.44.42Eigen solver should work with a physics-based preconditioner
- 11.44.43The system shall support a physics-based preconditioner with using JFNK
- 11.44.44Eigen solver should work with a physics-based preconditioner with a shell preconditioning matrix
- 11.44.45Eigen solver should work with a physics-based preconditioner with a PETSc shell matrix
- 11.44.46Eigen solver should work with a physics-based preconditioner with including eigen kernels in the preconditioning matrix
- 11.44.47The system shall support an code coupling interface that can trigger external solves.
- 11.44.48The system shall support an code coupling interface that can trigger external solves for transient simulations.
- 11.44.49The system shall support different coordinate systems on different subdomains within the mesh.
- 11.44.50The system shall support the ability to disable the check for PDE operators in all or some parts of the domain.
- 11.44.51The system shall support the ability to disable the check for active materials in all parts of the domain.
- 11.44.52The system shall support the ability to disable the check for the existence of all dependent properties within a domain.
- 11.44.53The system shall have the ability to disable the actual nonlinear system solve in a simulation.
- 11.44.54The system shall have the ability to base convergence on the comparison of individual variables to reference quantities of those variables.
- 11.44.55The system shall fail to find a converged solution when basing convergence on individual variable reference quantities with poor scaling.
- 11.44.56The system shall have the ability to automatically scale a originally poorly scaled problem and achieve convergence based on individual reference quantities
- 11.44.57The system shall have the ability to base system convergence on the convergence of a subset of variables.
- 11.44.58The system shall require all grouped variables to be included in the convergence check.
- 11.44.59The system shall support wildcards for choosing the variables to base convergence on.
- rdg: Quadrature
- 11.45.1The system shall support the use of Gauss-Lobatto quadrature for numerical integration.
- 11.45.2The system shall support the ability to manually increase the quadrature order used for numerical integration on the entire mesh.
- 11.45.3The system shall support the ability to manually specify the quadrature order used for numerical integration on a per-block basis with face quadrature between blocks preferring the higher-order between the two sides.
- 11.45.4The system shall support the ability for objects to increase quadrature order in code during runtime.
- 11.45.5The system shall support the ability to control the volumetric and side quadrature orders used for numerical integration on the entire mesh.
- 11.45.6The system shall support the ability to allow object code to increase the quadrature order used for numerical integration on a per-block basis.
- 11.45.7The system shall support the ability to force positive quadrature weights.
- rdg: Relationship Managers
- 11.46.1The CouplingFunctorCheckAction shall add a default coupling functor if it's needed and hasn't already been added by another Action
- 11.46.2The system shall be able to indicate when libMesh Ghosting Functors are in use.
- 11.46.3The system shall ghost additional solution information when running in parallel with an active RelationshipManager
- 11.46.4The system shall ghost additional neighboring elements surrounding a partition when running in parallel with DistributedMesh
- 11.46.5The system shall ghost additional neighboring elements surrounding a partition when running in parallel with DistributedMesh with 3D
- 11.46.6The system shall be able to ghost elements for algebraic relationships.
- 11.46.7The system shall ghost additional neighboring elements without also supplying solution information when a developer registers a RelationshipManager with an optional second argument to restrict functionality
- 11.46.8The system shall ghost additional neighboring elements without also supplying solution information when a developer registers a RelationshipManager with an optional second argument to restrict functionality in 3D
- 11.46.9The system shall allow multiple active objectsto manage ghosting for the same object using
- replicated and
- distributed parallelism of the mesh.
- rdg: Reporters
- 11.47.1The system shall be able to accumulate reporter values over time steps into a vector reporter value.
- 11.47.2The system shall have a system for computing and retrieving aggregate values of arbitrary type.
- 11.47.3The system shall error if an invalid name is provided when retrieving aggregate value.
- 11.47.4The system shall report a reasonable error when declaring a Reporter value and
- the parameter that contains the name was not found,
- the parameter that contains the name is not of the correct type,
- a Reporter with the same name has already been declared, and
- a Reporter with the same name but a different type has been requested.
- 11.47.5The system shall support the mixing of computing and retreiving aggregate values of arbitrary types with the Postprocessor and VectorPostprocessor system.
- 11.47.6The system shall be able to produce arbitrary integer, real number, dof_id_types and string scalar/vector values for use in other calculations.
- 11.47.7The system shall throw an error when producing constant reporter values if
- no values are specified,
- no names are specified,
- or the number of values and names are not equal.
- 11.47.8The system shall output aggregate simulation information to JSON format
- when the aggregate value is declared after object construction
- and with other values declared at construction time.
- 11.47.9The system shall support getting a reference to an aggregate calculation before it is created.
- 11.47.10The system shall be able to report the variable integral parsed by extra IDs to the JSON format:
- single variable integral with single extra ID
- single variable integral with multiple extra IDs
- multiple variable integrals with multiple extra IDs
- 11.47.11The system shall include the ability to report iteration information:
- that outputs all information be default;
- that outputs specific information;
- automatically disables items based on execution;
- 11.47.12The system shall include the ability to report mesh information:
- that outputs all information be default and
- that outputs specific information.
- 11.47.13The system shall include the ability to report performance information
- in JSON format
- and shall provide a tool to post process said information
- 11.47.14The system shall include the ability to serialize report performance information with the recover system
- 11.47.15The system shall include the ability to report performance information from a recovered solve
- in JSON format
- and shall provide a tool to post process said information
- rdg: Restart
- 11.48.1The system shall support reading and writing solutions on meshes containing duplicate or overlapping mesh nodes.
- 11.48.2The system shall support the ability to
- perform residual calculations that accumulate state and
- restart the calculation using the accumulated state.
- 11.48.3The system shall support the ability to
- to name problem objects in a simulation and
- restart the calculation using the defined name.
- 11.48.4The system shall error when
- a simulation is started with multiple processors but
- restarted with a different number processors.
- 11.48.5The system shall error when
- a simulation is started with multiple threads but
- restarted with a different number threads.
- 11.48.6The system shall support running a transient test for the purposed of changing a restart time step size.
- 11.48.7The system shall support changing the time step size during a recover operation.
- 11.48.8The system shall produce an error when an attempt is made to serialize a type without a serialization (dataStore) routine when that data is declared as restartable.
- 11.48.9The system shall store a custom type that contains a data serialization routine that is declared as restartable.
- 11.48.10The system shall produce an error when an attempt is made to deserialize a type without a deserialization (dataLoad) routine when that data is declared as restartable during a restart or recover operation.
- 11.48.11The systen shall support running and saving off a transient solution with stateful material properties for a restart test.
- 11.48.12The systen shall support restart with a solution containing only a subset of the variables in the restart simulation.
- 11.48.13The system shall support outputting a mesh from a simulation
- with uniform refinement to ExodusII format,
- start a new simulation that adds additional refinement,
- which can be used in an third simulation.
- 11.48.14The system shall support outputting a mesh to checkpoint format for restart testing.
- 11.48.15The system shall support starting a transient simulation from a steady simulation result.
- 11.48.16The system shall support renaming a variable read from a solution file upon restart.
- 11.48.17The system shall support writing out several timesteps to a solution file to test reading from a specific point.
- 11.48.18The system shall support restarting from the last timestep using the keyword "LATEST".
- 11.48.19The system shall issue a useful error message stating the valid options when a user requests an invalid time step number or keyword.
- 11.48.20The system shall support running and saving off a transient solution for using in a steady state restart.
- 11.48.21The system shall support restarting a steady state solve from a transient simulation solution.
- 11.48.22The system shall support solving a transient problem as a reference solution for a two part multiapp solve.
- 11.48.23The system shall support writing out checkpoint directly from a subapp, a subtree of the multiapp tree of the master solve.
- 11.48.24The system shall support restarting a subapp, a subtree of the multiapp tree of a master solve without restarting the master application.
- 11.48.25The system shall support executing a
- a steady-state problem
- and restarting a transient simulation from the previous solution.
- 11.48.26The system shall support generating checkpoint files for restart testing with sub apps.
- 11.48.27The system shall support restarting a transient simulation from a steady solution file with sub apps.
- 11.48.28The system shall support generating checkpoint files for restart testing with multiple sub apps.
- 11.48.29The system shall support restarting a transient simulation from a steady solution file with multiple sub apps.
- 11.48.30The system shall support generating checkpoint files for transient to transient restart testing with multiple sub apps.
- 11.48.31The system shall support restarting a transient simulation from a pseudo-transient solution file with multiple sub apps.
- 11.48.32The system shall be capable, on a single process, of
- writing data to a restart file
- and restarting the simulation from the restart file.
- 11.48.33The system shall be capable, in parallel, of
- writing data to a restart file
- and restarting the simulation from the restart file.
- 11.48.34The system shall be able to restart a scalar variable in the presence of other variables with the standard sequence of:
- run initial input
- run restart input
- 11.48.35The system shall support outputting a mesh to checkpoint format for restart testing with "start_time".
- 11.48.36The system shall use the the final time as the "start_time" from the restart file.
- 11.48.37The system shall support resetting "start_time" when restarting from a checkpoint mesh format.
- 11.48.38The system shall support overriding "start_time" when restarting from a checkpoint mesh format to an arbitrary time.
- rdg: Restrictable
- 11.49.1The system shall include an interface to allow objects to be restricted to subdomains.
- 11.49.2The system shall error if an object is restricted to a set of subdomains that differs from a dependant object.
- 11.49.3The system shall include an interface that provides a method for returning all associated subdomains:
- as a list of names or
- as a list of ids.
- 11.49.4The system shall include an interface that provides methods for indicating if the supplied subdomain identifier(s) exists on the object:
- if a single subdomain is supplied ant the object is not restricted;
- if a single subdoman is supplied and the object is restricted to a set of subdomains; and
- if multiple boundaries are supplied and the object is restricted to a set of subdomains.
- 11.49.5The system shall include an interface that provides a method for indicating if the supplied material property exists on the same subdomains as the object:
- the method shall return true if the property subdomains match with the object subdomains and
- the method shall return false if the property subdomains dot not match with the object subdomains.
- 11.49.6The system shall include an interface that provides a method for returning all associated boundaries:
- as a list of names or
- as a list of ids.
- 11.49.7The system shall include an interface that provides methods for indicating if the supplied boundary identifier(s) exists on the object:
- if a single boundary is supplied and the object is restricted to a set of boundaries and
- if multiple boundaries are supplied.
- 11.49.8The system shall include an interface that provides a method for indicating if the supplied material property exists on the same boundaries as the object:
- the method shall return true if the property boundaries match with the object boundaries and
- the method shall return false if the property boundaries dot not match with the object boundaries.
- 11.49.9The system shall error if an object restricted to subdomains is created without valid data
- regarding the problem being solved or
- information regarding the finite element mesh.
- 11.49.10The system shall support the ability to restrict user defined calculations to sides of a subdomain.
- 11.49.11The system shall issue an error when a referenced subdomain does not exist in the mesh.
- rdg: Samplers
- 11.50.1The system shall include a random number sampling system that operates in parallel
- with threads,
- MPI, and
- that operates with a row-based iteration scheme.
- 11.50.2The system shall include a random number sampling system that creates replicated and/or distribute sample data that is consistent:
- on a single processor,
- on a two processors,
- on a three processors,
- on a one processor with random numbers,
- on two processor with random numbers, and
- on thre processor with random numbers.
- 11.50.3The system shall include a random number sampling system that errors
- if the number of rows is altered during sample access,
- if the number of columns is altered during sample access,
- if the number of random number generator seeds is set after object construction,
- if the number of rows is set to zero,
- if the number of columns is set to zero,
- if the number of random number generator seeds is set to zero,
- if the number of entries in the global sample matrix exceeds the maximum allowed,
- if the number of entries in the local sample matrix exceeds the maximum allowed, and
- if the number of entries in the local sample matrix row exceeds the maximum allowed.
- 11.50.4The system shall error when the expected size of a sampler is altered and accessed prior to initialization by accessing the
- the global sample matrix;
- the local sample matrix;
- the local sample matrix row;
- the total row count;
- the local row count;
- the first local row index;
- the last local row index;
- the column count.
- 11.50.5The system shall include a random number sampling system
- that distributes samples in parallel and
- demonstrates efficient parallel scaling of memory use.
- rdg: Scalar Kernels
- 11.51.1We shall be able to couple a scalar variable into AD objects and do some meaningful physics: depleting boundary source diffusion problem
- 11.51.2We shall be able to couple a scalar variable into AD objects and get the correct Jacobian
- 11.51.3The system shall be able to correctly compute the Jacobian of an ADScalarKernel using automatic differentiation.
- 11.51.4The system shall provide the ability to compute the time derivative of a scalar variable and have its Jacobian computed using automatic differentiation.
- rdg: Scaling
- 11.52.1The system shall ignore particular variable automatic scaling factors
- 11.52.2The system shall not allow ignoring of particular variable automatic scaling factors if they are grouped with other variables for scaling
- 11.52.3The system shall be able to automatically compute scaling factors based on Jacobian
- data solely along the diagonal
- data both on- and off-diagonal
- 11.52.4The system shall be able to automatically scale variables and produce a good condition number from a naturally ill-conditioned system using
- automatic and
- manual prescribed settings.
- 11.52.5The system shall display a very poor condition number for an ill-conditioned system.
- 11.52.6The system shall be able to conduct residual based automatic scaling such that the largest residual vector component corresponding to each variable has magnitude unity
- in a one variable problem
- and in a two variable problem.
- 11.52.7The system shall be able to conduct jacobian based automatic scaling such that the largest jacobian diagonal component corresponding to each variable has magnitude unity
- in a one variable problem
- and in a two variable problem
- 11.52.8The system shall print current variable automatic scaling factors
- rdg: Tag
- 11.54.1The system shall support the ability for a specific calculation to fill a labeled or "tagged"
- numeric vector,
- numeric vector (without the variable scaling),
- numeric matrix,
- numeric matrix (without the variable scaling),
- multiple numeric vectors simultaneously, or
- multiple numeric matrices simultaneously.
- 11.54.2The system shall throw an error when the variable orders and families for the tagged and the auxiliary output variables do not match.
- 11.54.3The system shall support filling in labeled or "tagged" vectors or matrices from:
- the scalar kernel system,
- the scalar kernel system (without the variable scaling),
- the discontinous Galerkin system,
- integrated boundary conditions,
- the interface kernels system,
- the Dirac kernel system,
- the nodal kernel system, and
- the eigen system.
- 11.54.4Cached Active object state will be maintained correctly even when objects' active state changes during runtime.
- rdg: Time Integrators
- 11.55.1The system shall include an option that aborts the solve immediately if a solve fails.
- 11.55.2The system shall support the use of explicit solvers, including
- first-order, forward Euler,
- with mass lumping, and
- with mass lumping and preconditioning.
- 11.55.3The system shall report an error if an explicit solver fails to converge with
- first-order, forward Euler,
- with mass lumping, and
- with mass lumping and preconditioning.
- 11.55.4The system shall correctly solve a time dependent Laplace equation using an explicit first-order, forward Euler scheme with:
- for a 1D problem using linear Lagrange elements and Dirichlet boundary conditions;
- for a 1D problem using second-order Lagrange elements and Dirichlet boundary conditions;
- for a 1D problem using second-order Lagrange elements and Neumann boundary conditions;
- for a 2D problem using linear Lagrange elements and Dirichlet boundary conditions;
- for a 2D problem using linear Lagrange elements, Dirichlet boundary conditions, and mesh adaptivity;
- for a 2D problem using second-order Lagrange elements and Dirichlet boundary conditions;
- 11.55.5The system shall correctly solve a time dependent ordinary differential equation using an explicit first-order, forward Euler scheme.
- 11.55.6The system shall support the use of the Adams Bashforth predictor for time integration.
- 11.55.7The system shall support the second-order backward difference method for time integration
- with and
- without mesh adaptivity.
- 11.55.8The CentralDifference time integrator shall correctly compute the first and second time derivatives.
- 11.55.9A central differencing time integrator shall correctly compute the second time derivative of an automatic differentiation variable.
- 11.55.10The system shall include explicit time integration using the Heun method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.11The system shall include explicit time integration using the Ralston method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.12The system shall include explicit time integration using the midpoint method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.13The system shall include explicit time integration using the Euler method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.14The system shall include implicit time integration using the Midpoint method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.15The system shall include implicit time integration using the L-stable DIRK3 method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.16The system shall include implicit time integration using the L-stable DIRK4 method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.17The system shall include implicit time integration using the A-stable DIRK4 method and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.18The system shall include implicit time integration using the A-stable DIRK4 method (bootstrapped with L-stable DIRK) and converge at the theoretical rate with
- a full timestep,
- a half timestep, and
- a quarter timestep.
- 11.55.19The system shall support the second-order Crank-Nicolson method for time integration
- with and
- without mesh adaptivity.
- 11.55.20The system shall support the L-stable DIRK method for time integration
- with and
- without mesh adaptivity.
- 11.55.21The system shall support the use of quasi-explicit Euler solver with
- 1D elements with first order shape functions and Dirichlet boundary conditions;
- 1D elements with second order shape functions and Dirichlet boundary conditions;
- 1D elements with second order shape functions and Neumann boundary conditions;
- 2D elements with first order shape functions and Dirichlet boundary conditions;
- 2D elements with second order shape functions and Dirichlet boundary conditions; and
- 2D elements with second order shape functions and Neumann boundary conditions.
- 11.55.22The system shall include the strong-stability-preserving Runge-Kutta method of
- 1st order
- 2nd order
- 3rd order
- 11.55.23The system shall provide an informative error message when a user uses an invalid solve type for an explicit time integrator.
- 11.55.24The system shall support the use of an implicit Euler solver with
- with and
- without mesh adaptivity.
- 11.55.25The system shall support the use of an implicit Euler solver with discontinuous (first-order Monomial) shape functions.
- 11.55.26Multi-stage time integrators shall check convergence for all stages
- 11.55.27The NewmarkBeta time integrator shall correctly compute the first and second time derivatives of a variable using the default beta and gamma parameters.
- 11.55.28The NewmarkBeta time integrator shall correctly compute the first and second time derivatives of a variable using user provided beta and gamma parameters.
- 11.55.29The NewmarkBeta time integrator shall correctly use the inactive_tsteps parameter.
- 11.55.30A Newmark-beta method time integrator shall correctly compute the second time derivative of an automatic differentiation variable using the default beta and gamma parameters.
- 11.55.31The system shall support the use of an explicit midpoint time integration scheme for
- 1D elements with linear finite element shape functions and
- 2D elements with quadratic finite element shape functions.
- 11.55.32The system shall compute the Jacobian during explicit midpoint time integration for
- 1D elements with linear finite element shape functions and
- 2D elements with quadratic finite element shape functions.
- 11.55.33The system shall support th used of Crank-Nicolson time integration method for scalar variables with
- scalar variables within and ordinary differential equations including
- stiff and
- nonlinear systems.
- 11.55.34The system shall support the use of an total variation diminishing Runge-Kutta time integration schemefor
- 1D elements with linear finite element shape functions and
- 2D elements with quadratic finite element shape functions.
- 11.55.35The system shall compute the Jacobian during total variation diminishing Runge-Kutta time integration for
- 1D elements with linear finite element shape functions and
- 2D elements with quadratic finite element shape functions.
- rdg: Time Steppers
- 11.56.1The system shall calculate the time step size based one the number of steps and the end time of the simulation when the initial time step size is not supplied:
- when the start time is not supplied, and
- when the start time is supplied.
- 11.56.2The system shall include a means for performing simulations with a constant time step.
- 11.56.3The system shall support the ability to regrow a time step that has been previously cut due to a solve failure.
- 11.56.4The system shall support how time step size is cut, using user-specified cutback_factor_at_failure, due to a solve failure. Here, the original time step size is specified as a constant value.
- 11.56.5The system shall support how time step size is cut, using user-specified cutback_factor_at_failure, due to a solve failure. Here, the original time step size is specified as a function of time.
- 11.56.6The system shall suppport the ability to sample a piecewise linear function for time step sizes while supporting a minimum time step size.
- 11.56.7The system shall support the ability to sample a piecewise constant function for time step sizes choosing either the left or right values between adjacent constants.
- 11.56.8The system shall support the ability to force time steps consistent with points specified in a function.
- 11.56.9The system shall check that a timestep limiting function has been defined when a user specifies the 'force_step_every_function_point' parameter as true.
- 11.56.10The system shall check that a timestep limiting function has been defined when a user specifies a value for the 'max_function_change' parameter.
- 11.56.11The system shall support the ability to grow the time step size when specifying the initial value of dt in the TimeStepper.
- 11.56.12The system shall support the ability to grow the time step size when specifying the initial value of dt in the TimeStepper after a restart.
- 11.56.13The system shall support the ability to grow the time step size when specifying the values of t and dt in the TimeStepper.
- 11.56.14The system shall support the ability to grow the time step size when specifying the values of t and dt in the TimeStepper after a restart.
- 11.56.15The system shall support the ability to limit the time step size based on the optimal iterations and linear_iteration ratio.
- 11.56.16The system shall support the ability to limit the time step size based on the optimal iterations and linear_iteration ratio after a restart.
- 11.56.17The system shall support the ability to limit the time step size based on a postprocessor value.
- 11.56.18The system shall support the ability to reject a time step based on a threshold value for the ratio of the ideal step size to the limit.
- 11.56.19The system shall support the ability to force time steps to resolve sudden changes in piecewise linear functions.
- 11.56.20The system shall support the ability to force time steps to match changes in piecewise constant functions.
- 11.56.21The system shall support the ability to force time steps to hit all nodes in a set of piecewise linear functions.
- 11.56.22The system shall support the ability to force time steps to resolve sudden changes in multiple piecewise linear functions.
- 11.56.23The system shall support the ability to force time steps to hit all nodes in a set of piecewise linear and constant functions.
- 11.56.24The system shall support the ability to set a new time step size after syncing the previous time step with piecewise linear and constant functions.
- 11.56.25The system shall support the ability to select a time step size based upon a scaled log-constant calculation.
- 11.56.26The system shall support the ability to use a scalar value computed after a solve to be used as a scaled time step size.
- 11.56.27The system shall support the ability to select time step sizes based upon the ratio of the real (wall) time of the solve and the size of the time step.
- 11.56.28The system shall support the ability to choose time step sizes based on a sequence of increasing numbers:
- beginning at the default start time,
- beginning at an earlier time than the sequence numbers,
- beginning at a time somewhere in-between existing sequence numbers, and
- when reading the sequence from an ExodusII formatted input file.
- that must be sorted in ascending order,
- that must be sorted in strictly ascending order,
- when reading the sequence from a comma-separated input file.
- 11.56.29The system shall support the ability to override time sequence time step sizes when solves fail.
- 11.56.30The system shall support the ability to run a calculation for the purpose of creating a time sequence restart file:
- when writing the checkpoint file,
- when restarting where the time sequence is identical, and
- when restarting where the time sequence is different after the point of the checkpoint.
- 11.56.31The system shall support the ability to run a calculation for the purpose of creating a time sequence restart file suitable for failure:
- when writing the checkpoint file,
- when restarting where the time sequence is different prior to the failure.
- 11.56.32The system shall report an error if the initial time step size is calculated to be zero.
- rdg: Transfers
- 11.57.1The system shall error if the user does not provide sufficient information to determine the originator and destination of transfer information.
- 11.57.2The system shall error if the user provides a mix of non-deprecated and deprecated parameters.
- 11.57.3The system shall support the transfer of data from a completed solve within sub-application to the master application.
- 11.57.4The system shall include an interface for retrieving objects that pertain to transferring data between applications.
- 11.57.5The system shall support conservative transfers
- 11.57.6The system shall check execute_on for PP in sub app
- 11.57.7The system shall support conservative transfers using regular postprocessors
- 11.57.8The system shall check execute_on for PP in master app
- 11.57.9The system shall support conservative transfers with nearestpoint VectorPostprocessors
- 11.57.10The system shall check execute_on for vector PP in master app
- 11.57.11The system shall be able to output the adjusting values in conservative transfers
- 11.57.12The system shall support conservative transfers in MultiAppUserObjectTransfer
- 11.57.13The system shall be able to output the adjusting values in conservative transfers for MultiAppUserObjectTransfer
- 11.57.14The systen shall allow adjustment if both from and to adjuster are negative.
- 11.57.15The systen shall allow to skip adjustments without throwing an error if from/to adjusters do not satisfy conditions.
- 11.57.16The system shall support direct copy of array variables from a sub-application to the main application.
- 11.57.17The system shall support the transfer of auxiliary field variables between identical meshes:
- from a sub-application and
- to a sub-application.
- 11.57.18The system shall error if a variable, during a direct copy of auxiliary field variables, does not exist
- in the sub-application when transferring form it and
- in the master application when transferring for it.
- 11.57.19The system shall support the transfer of auxiliary field variables between identical meshes:
- between two subapps
- 11.57.20The system shall support direct copy of a constant monomial auxiliary variable from a sub-application to a constant monomial nonlinear variable in the main application.
- 11.57.21The system shall support direct copy of a constant monomial auxiliary variable from a the main application to a constant monomial nonlinear variable in the sub-application.
- 11.57.22The system shall error when the MultiAppCopyTransfer object is used on non-identical meshes.
- 11.57.23The system shall error when the MultiAppCopyTransfer object is used on meshes with different variable types.
- 11.57.24The system shall support direct copy of a linear Lagrange nonlinear variable from a sub-application to the main application.
- 11.57.25The system shall support direct copy of a linear Lagrange nonlinear variable to a sub-application from the main application.
- 11.57.26The system shall support direct copy of multiple nonlinear variables from a sub-application to the main application.
- 11.57.27The system shall support direct copy of a second-order Lagrange nonlinear variable from a sub-application to the main application.
- 11.57.28The system shall support direct copy of a second-order Lagrange nonlinear variable to a sub-application from the main application.
- 11.57.29The system shall support the transfer of field variables with solution vectors indicated by tags.
- 11.57.30The system shall support direct copy of a third-order monomial auxiliary variable from a sub-application to a third-order monomial nonlinear variable in the main application.
- 11.57.31The system shall support direct copy of a third-order auxiliary variable from a the main application to a third-order monomial nonlinear variable in the sub-application.
- 11.57.32The system shall support mesh to mesh interpolation with the first order elemental variable
- 11.57.33The system shall support mesh to mesh interpolation with the first order elemental variable when a different mesh is used in sub
- 11.57.34The system shall support nearest node transfer with the first order elemental variable
- 11.57.35The system shall support interpolation transfer with the first order elemental variable
- 11.57.36The system shall support user object transfer with the first order elemental variable
- 11.57.37The system shall support conservative transfer with L2 nonlinear variable
- 11.57.38The system shall allow to interpolate variables from the master app to the sub apps
- 11.57.39The system shall allow to interpolate variables from the sub apps to the master app
- 11.57.40The system shall allow to interpolate block restricted variables from the sub apps to the master app
- 11.57.41The system shall support the transfer of data using the finite element solution function:
- to a sub-application,
- from a sub-application,
- from a deformed mesh to a sub-application,
- from to a sub-application with a deformed mesh,
- from a sub-application with deformed mesh, and
- from a sub-application to a deformed mesh.
- 11.57.42The system shall error if preforming a transfer of data using the finite element solution if:
- the evaluation point does not exist and
- if the execution settings do not match between the master and sub-applications.
- 11.57.43The system shall transfer both nodal and elemental fields to a SubApp from the Master App.
- 11.57.44The system shall transfer both nodal and elemental fields from SubApps to the Master App.
- 11.57.45The system shall transfer values from SubApps which set the displaced_source_mesh flag to true.
- 11.57.46The system shall support the 'fixed_meshes' flag which allows caching of nearest neighbors.
- 11.57.47The system shall transfer values to multiple SubApps from the Master App's boundary.
- 11.57.48The system shall transfer values from a SubApp boundary to the Master App.
- 11.57.49The system shall transfer values to multiple target boundaries in both the Master and Sub App.
- 11.57.50The system shall work when there are multiple SubApps present.
- 11.57.51The system shall work in parallel between meshes with different spatial dimensions.
- 11.57.52The system shall support target boundary transfer when use multiple mpi ranks
- 11.57.53The system shall support source boundary transfer when use multiple mpi ranks
- 11.57.54The system shall support source-and-target boundary transfer when use multiple mpi ranks
- 11.57.55The system shall support the transfer of scalars to a field variable between an application and sub-applications:
- using a inverse distance algorithm,
- if the destination variable is CONSTANT MONOMIAL,
- using a radial basis algorithm,
- with multi-level sub-applications,
- with multiple sub-application files, and
- with a single sub-application file.
- 11.57.56The system shall report an error if a data transfer is requested for a data variable that is not defined.
- 11.57.57The system shall report an error if a variable is specified that is not LINEAR LAGRANGE or CONSTANT MONOMIAL
- 11.57.58The system shall report an error if parameters for an unsupported direction are provided for the transfer between sub-app scalars and a main app field variablea.
- 11.57.59The system shall support the transfer of scalar post processing data to scalar auxiliary variables between multiapps
- 11.57.60The system shall support the transfer of data between a master and sub-applications for scalar unknowns and postprocessing data:
- from the master application to the sub-applications and
- to the master application from the sub-applications.
- 11.57.61The system shall error during the transfer of scalar variable and postprocessor data if the number of sub-applications differs from the order of the scalar variable if
- the order is too large and
- the order is too small.
- 11.57.62The system shall support the transfer of scalar post processing data between multiapps
- 11.57.63The system shall support the transfer of scalar post processing data:
- from the master application to sub-applications and
- to the master application from sub-applications.
- 11.57.64The system shall support the transfer of scalar post processing data from a single sub-application.
- 11.57.65The system shall support the transfer of field data using L2 projection:
- from the master application to sub-applications and
- to the master application from sub-applications.
- 11.57.66The system shall support the transfer of field data using L2 projection for first order shaped monomial shape functions.
- 11.57.67The system shall support the transfer of field data using L2 projection and include optimization for non deforming meshes.
- 11.57.68The system shall support the transfer of reporter data between multiapps
- 11.57.69The system shall support the ability to transfer vectorpostprocessor data
- from the main application to all sub-applications,
- from the main application to a single sub-applications,
- and from a sub-application to the main application.
- 11.57.70The system shall support the ability to transfer integer, real, vector, and string reporter data.
- 11.57.71The system shall support the ability to transfer reporter data and error if an invalid sub-application number is supplied when transferring data
- to a sub-application,
- from a sub-application.
- from multiple sub-applications.
- 11.57.72The system shall support declaring reporter value clone on a main application and transferring sub-application data into it
- in serial and
- in parallel.
- 11.57.73If processors do not contain a sub-application and reporter clone transfer is requested, the system shall
- be able to transfer if reporter types are specified and
- error if types are not specified.
- 11.57.74The system shall support the transfer of scalar variables to auxiliary scalar variables between multiapps.
- 11.57.75The system shall include the ability to transfer scalar variables to an applications from sub-applications.
- 11.57.76The system shall error if the variable order does not match when transferring scalar variables to an application from sub-applications.
- 11.57.77The system shall include the ability to transfer scalar variables from an applications to sub-applications.
- 11.57.78The system shall error if the variable order does not match when transferring scalar variables from an application to sub-applications.
- 11.57.79The system shall be able to create virtually translated points during MultiApp transfers.
- 11.57.80The system shall support an interface for transferring user-defined spatial data
- to a master application from sub-applications,
- to a master application from the nearest sub-applications,
- from a master application to sub-applications,
- from a master application to sub-applications that have a deformed mesh, and
- between a 3D master application and 1D sub-applications.
- 11.57.81The system shall transfer user-defined spatial data into block and boundary restricted nodal variables.
- 11.57.82The system shall transfer user-defined spatial data into block and boundary restricted elemental variables.
- 11.57.83MultiAppUserObjectTransfer shall generate an error if a master node/element is not contained within any sub application domains.
- 11.57.84MultiAppUserObjectTransfer shall allow skipping the bounding box test.
- 11.57.85The system shall include the ability to transfer a field variable sampled at a point to populate a field variable on the sub-application with the supplied value.
- 11.57.86The system shall include the ability to transfer a component of an array field variable sampled at a point to post processing variable on the sub-application.
- 11.57.87The system shall include the ability to transfer a field variable sampled at a point to post processing variable on the sub-application
- from a linear Lagrange source variable and
- from a constant monomial source variable and
- from a finite volume constant monomial source variable.
- 11.57.88The system shall support the ability to disable the use of parallel barriers when streaming text to the screen.
- 11.57.89The system shall guarantee that constant monomial variables transferred via MultiAppVariableValueSamplePostprocessorTransfer to the subapp are retrieved unchanged when transferred back using MultiAppVariableValueSamplePostprocessorTransfer in case the CentroidMultiApp is used.
- 11.57.90The systen shall error out if more than one sub-applications are in the same distance from an element.
- 11.57.91The systen shall error out if the MultiAppVariableValueSamplePostprocessorTransfer transfers postprocessor values on sub-applications to a primary variable on the main application.
- 11.57.92The systen shall allow transferring CONSTANT MONOMIAL variables from the sub-applications
- using block restriction in the CentroidMultiApp and
- using block restriction in both the CentroidMultiApp and the variable.
- 11.57.93The system shall support the ability transfer vectors of post processing data between the master application and sub-applications.
- 11.57.94The system shall support support the ability to perform interpolation between time steps when transferring field data between a master application and sub-applications.
- 11.57.95The Transfer system shall support execution with the EXEC_FINAL flag.
- 11.57.96The system shall support the transfer of data between a master application and sub-applications after a sub-application as been reset.
- rdg: Userobjects
- 11.59.1The system shall terminate the execution of a solve based on post-processing calculations performed within the simulation.
- 11.59.2The system shall abort the current step in a solve based on post-processing calculations performed within the simulation to cut the timestep.
- 11.59.3The terminator system shall output a custom info, warning, or error message.
- 11.59.4The terminator system shall check the compatibility of the suplied parameters.
- 11.59.5The terminator system shall check that if a message is supplied, an appropriate error level for reporting that message is also used.
- 11.59.6The system shall check a criterion for early termination of the run, but continue with the regular simulation when that criterion is not met.
- 11.59.7The system shall support the use of data produced by a custom user object calculations within a kernel object.
- 11.59.8The system shall evaluate the quality of all the mesh elements and report
- a warning when the "warning" option is selected,
- an error when the "error" option is selected, or
- a message when the selected metric does not apply to the element type being examined.
- 11.59.9The framework shall include the ability to change element subdomain during simulation
- reversibly,
- irreversibly,
- with and without a specified boundary,
- with solution
- and stateful material properties properly initialized.
- 11.59.10The framework shall include the ability to change element subdomain for a steady state simulation
- 11.59.11The system shall support overriding the inter-system dependency resolution to allow for developers to decide when specific calculations should be forced into a specific order,
- by forcing a user object to execute before auxiliary kernels
- by forcing a user object to execute after auxiliary kernels
- 11.59.12The system shall be able to integrate a function over layers
- 11.59.13The system shall support "snapping" or moving new nodes and sides created by mesh adaptivity to the surface of a geometric sphere to capture high fidelity features on curved geometries.
- 11.59.14Testing the implementation of the InterfaceQpValueUserObject. This test also shows the use of InterfaceValueUserObjectAux AuxKernel. InterfaceValueUserObjectAux use interface values computed and stored at each qp from the InterfaceQpValueUserObject and output them into an auxvaraible.Values on the interface are then computed via SideAverageValue PP.By design at the end of the first step we should observe: an average material property of 7, an average material property absolute jump fo 6, a singed material property jump (primary-secondary) of 6 a singed material propertyjump (secondary-primary) of -6 a material property value on the primary side of 10 a material property value on the primary side of 4
- 11.59.15The InterfaceUserObject system shall be able to get updated bulk, boundary and interface material property values.This test uses two specific test materials (e.g. LinearNonLinearIterationMaterial and LinearNonLinearIterationInterfaceMaterial) and one test userobject (e.g. InterfaceUserObjectTestGetMaterialProperty).This test will produce an error if the computed an retrived material property are not the same.
- 11.59.16Testing the implementation of the InterfaceQpValueUserObject when computing the variable rate or increment.
- 11.59.17Testing the implementation of the InterfaceQpMaterialPropertyRealUO.
- 11.59.18The system shall support executing custom algorithms on all internal sides of the mesh where properties retrieved on that side come from:
- the same subdomain, or
- different subdomains.
- 11.59.19The system shall allow taking averages of variables along a coordinate axis in layers
- 11.59.20The system shall allow automatic specification of points to output the unique user object values
- 11.59.21The system shall be capable of computing layered averages of a variable given bounds.
- 11.59.22The system shall error when computing layered averages of a variable if
- the bounding box is set along with the number of layers or
- sample interpolate and
- if neither the bounds or number of layers are set.
- 11.59.23The system shall allow interpolating between layers for layered averages
- 11.59.24The system shall respect mesh displacements in layered average
- 11.59.25The system shall be capable of computing layered averages of a variable
- within a subdomain and
- within a prescribed region in a subdomain.
- 11.59.26The system shall respect block restriction for layered averages even when using num_layers
- 11.59.27The system shall allow bounds for layered averages when using num_layers to come from a block different than the block restriction
- 11.59.28The system shall have the ability to maintain persistent generic user data stored in "layers" that may persist across invocations in the form of file data.
- 11.59.29The system shall include the ability to computes volume integrals of a variable storing partial sums for the specified number of intervals in a direction (x,y,z)
- using 3 layers with
- automatic specification of points to output unique values and
- as a cumulative calculation and
- as a cumulative calculation in the negative direction and
- as an average calculation,
- and using finite volume variables.
- 11.59.30The system shall correctly compute layered integrals along a specified boundary.
- 11.59.31The system shall allow automatic specification of points to output the unique user object values for a layered integral.
- 11.59.32The system shall correctly compute layered integrals of finite volume variables along a specified boundary.
- 11.59.33The system shall allow taking averages of variables along a coordinate axis in layers on a boundary.
- 11.59.34The system shall allow automatic specification of points to output the unique user object values for a layered average.
- 11.59.35The system shall allow taking averages of the diffusive flux of variables along a coordinate axis in layers on a boundary.
- 11.59.36The system shall allow taking averages of the diffusive flux of finite volume variables along a coordinate axis in layers on a boundary.
- 11.59.37The system shall not allow both the block and boundary parameter to be specified for layered side integrals.
- 11.59.38The system shall support late binding of material properties to other objects so that those objects may be created first, or material property retrieval may be delayed until the system is initialized.
- 11.59.39The system shall compute layered averages that computed from the closest values for a list of points that are explicitly specified in an input file
- 11.59.40The system shall compute layered averages that computed from the closest values for a list of points that are specified in an external file
- 11.59.41The system shall report an error when points are not specified in an input file nor an external file when computing nearest point layered averages
- 11.59.42The system shall report an error when points are specified both in an input file and an external file when computing nearest point layered averages
- 11.59.43The system shall report an error when there is not enough coordinates specified in an external file specifing the point for computing nearest point layered averages
- 11.59.44The system shall compute layered averages for concentric cylindrical rings with equal thickness for a list of points that correspond to the average radius of each ring
- 11.59.45The system shall compute layered averages computed from the closest values for a list of points and output to a spatial vector postprocessor with one point per unique nearest point and layer
- 11.59.46The system shall compute radial layered averages computed from the closest values for a list of points and output to a spatial vector postprocessor with one point per unique nearest point and layer
- 11.59.47The system shall error if user-set direction bounds conflict with block-type bound specifications
- 11.59.48The system shall error if a direction bound is missing
- 11.59.49The system shall error if the maximum bound is lower than the minimum bound
- 11.59.50The system shall allow specification of direction bounds to skip bounding box calculation
- 11.59.51The system shall compute layered integrals that computed from the closest values for a list of points that are specified in an external file
- 11.59.52The system shall compute layered integrals computed from the closest values for a list of points and output to a spatial vector postprocessor with one point per unique nearest point and layer
- 11.59.53The system shall compute layered side averages that computed from the closest values for a list of points
- 11.59.54The system shall compute layered side integrals that computed from the closest values for a list of points
- 11.59.55The system shall be able to keep track of a postprocessor value associated with a sub-app at a geometrical location
- 11.59.56The system shall consider that when auxkernel depends on a UO, the exec flag will be taken into consideration to determin when the UO must be executed preaux.
- 11.59.57The system shall execute objects associated with mesh entities corresponding to the number of times those objects appear:
- once for general user objects,
- for each element,
- for each side,
- for each internal side, and
- for each node.
- 11.59.58The system shall support optionally initializing shape function data structures for use in custom algorithm (UserObject) calculations.
- 11.59.59The system shall compute the proper shape functions which can be used to verify Residual and Jacobian calculations
- of a single variable,
- of two coupled variables with explicit off-diagonals requested,
- of two coupled variables with a full Jacobian matrix
- on the side of elements, and
- for a full physics test.
- 11.59.60The system shall error if a user attempts to use nonlocal residual objects without appropriate coupling specified in a preconditioning object. These residual objects include
- kernels
- boundary conditions
- 11.59.61The system shall be able to perform automatic scaling in the presence of nonlocal residual objects such as
- kernels
- boundary conditions
- 11.59.62The system shall error if the boundary is not specified when computing the average value of a variable on a boundary.
- 11.59.63The system shall be capable of writing out a solution file with both continuous and discontinuous fields for the purpose of verifying that ability to read those solutions back into a new simulation.
- 11.59.64The system shall be capable of reading in field information and producing gradient values from both continuous and discontinuous fields.
- 11.59.65The system shall support creating n-thread copies of user-defined objects (GeneralUserObjects) for the purpose of running multiple related calculations simultaneously, avoiding thread locks during common look-up operations, where individual thread ids may be used to calculate a quantity based on the number of threads for:
- one thread,
- two threads,
- three threads,
- four threads,
- five threads,
- six threads,
- seven threads, and
- eight threads.
- 11.59.66The system shall support the ability to toggle mesh adaptivity:
- off when it has been turned on in the input file,
- off when we are using initial adaptivity in the input file,
- off after a specific time, or
- off after some number of steps.
- rdg: Utils
- 11.60.1The system shall support a piecewise bilinear interpolation object to be constructed from x, y data read from an external file.
- 11.60.2The system shall support a piecewise bilinear interpolation object to be constructed from x, y data.
- 11.60.3The system shall error when a file and data are supplied simultaneously in the PiecewiseBilinear object.
- 11.60.4The system shall error when there is a mismatch in vector lengths in the PiecewiseBilinear object.
- 11.60.5The system shall error when there are insufficient parameters supplied for the PiecewiseBilinear object.
- 11.60.6The system shall provide a method for transferring common parameters from one object to another.
- 11.60.7The system shall prevent the user from copying InputParameters objects inside of MooseObject-derived objects.
- 11.60.8The system shall throw an error
- when encountering an unsupported activation function for the neural network.
- when encountering the wrong number of activation functions.
- 11.60.9The system shall be able to create and evaluate a neural network with
- relu activation functions.
- sigmoid activation functions.
- gelu activation functions.
- elu activation functions.
- linear activation functions.
- 11.60.10The system shall have a function that evaluates the polynomial and derivative of polyonimal of varying degree and arbitrary coefficients
- 11.60.11The system shall have a clamp function that returns a value limited to upper and lower bounds
- 11.60.12The system shall have a smootherstep function that returns a smooth transition value between an upper and lower bound
- 11.60.13The system shall support the use of the Dennis-Schnabel method for computing the finite difference parameter for matrix free finite difference solver.
- 11.60.14The mesh system shall report a reasonable error when using a subdomain name that is reserved for internal use
- 11.60.15The system shall automatically report input errors when a required parameter is not specified.
- 11.60.16The PerfGraph shall report a reasonable error when
- registering a section without a name
- registering a section without a live message
- requesting the ID of a section that does not exist
- requesting the section info for a section that does not exist
- 11.60.17The system shall allow for timing sections of code and having automated print-outs when they take too long or use too much memory
- 11.60.18The system shall include a utility for swapping values within a vector of data.
- 11.60.19The system shall include a utility for shuffling values within a vector of data.
- 11.60.20The system shall include a utility for resampling values within a vector of data.
- 11.60.21The system shall include a utility for computing spline functions.
- 11.60.22The system shall include a utility for computing bicubic spline functions
- using the x-component, and
- using the y-component.
- using the z-component,
- rdg: Variables
- 11.61.1The system shall provide an ability to add array variables with constant initial conditions.
- 11.61.2The system shall be able to define an array variable with component size one.
- 11.61.3The system shall report a reasonable error when defining a variable with multiple components not as an array variable.
- 11.61.4The system shall support the automated creation of array variables.
- 11.61.5The system shall support direct calculation of field variables on multiple mesh subdomains.
- 11.61.6The system shall be able to solve a finite volume problem while caching all variable values and gradients.
- 11.61.7The system shall be able to solve a finite volume problem without caching face values, except at extrapolated boundary faces.
- 11.61.8The system shall be able to solve a finite volume problem without caching face gradients, except at extrapolated boundary faces.
- 11.61.9The system shall be able to solve a finite volume problem without caching face values or gradients, except at extrapolated boundary faces.
- 11.61.10The system shall support the ability to couple a scalar auxiliary calculation for use in a field auxiliary calculation:
- using current scalar values,
- using previously calculated scalar values (old), and
- using values calculated from two steps back (older).
- 11.61.11The system shall support the ability to use a default value when an optional scalar coupling is requested but not supplied.
- 11.61.12The system shall support the ability to use the initial value of a scalar auxiliary calculation when it is coupled into another object that executes at the beginning of the simulation.
- 11.61.13The system shall support "curvilinear" elements (elements that contain curved edges.
- 11.61.14The system shall support the hierarchical family of shape functions on mesh
- in 1D,
- in 2D, and
- in 3D.
- 11.61.15The system shall produce the correct convergence rate for third-order Hermite shape function discretizations as mesh refinement is performed:
- when using periodic boundary conditions, and
- when using Dirichlet boundary conditions.
- 11.61.16The system shall support the hierarchical family of shape functions on mesh including:
- first-order on 1D elements,
- second-order on 1D elements,
- third-order on 1D elements,
- first-order on 2D elements,
- second-order on 2D elements,
- third-order on 2D elements,
- first-order on 3D elements,
- second-order on 3D elements, and
- third-order on 3D elements.
- 11.61.17The system shall support the constant Monomial family of shape functions on mesh elements:
- in one dimension,
- in two dimensions, and
- in three dimensions.
- 11.61.18The system shall support the direct retrieval of "elemental solution" or "degree of freedom" values without the need to sample the finite element shape function:
- for current solution values,
- for previous solution values (old), and
- for solution values calculated two steps back (older).
- 11.61.19The system shall support second and third order Monomial family of shape functions.
- 11.61.20The system shall support the ability to have mixed field variable orders on the same mesh.
- 11.61.21The system shall support the ability to have multiple independent block restricted variables in a mesh contain multiple blocks.
- 11.61.22Allow optional variable coupling where a default constant value is assumed when the user omits specifying a variable.
- 11.61.23Users are allowed to provide constant numeric values as input to an optionally coupled variable in addition to variable names that overrides the default constant value specified in code.
- 11.61.24Simulations with second derivative variable coupling shall not crash due to access to uninitialized data structures.
- 11.61.25Coupleable shall provide an interface that allows providing default values for a variables that operates
- with defaults or
- a vector of coupled variables.
- 11.61.26The system shall report an error when users couple constant values and variables together
- 11.61.27The system shall report an error when requested default vector value is out of range and
- accessed by name or
- accessed by index.
- 11.61.28The system shall support the ability to couple to a previous field variable calculation to produce another field such that there is no Jacobian contribution due to the lagged coupling.
- 11.61.29The system shall ensure that coupled second derivative calculations are only performed when requested and are only performed on the minimum required fields.
- 11.61.30The system shall initialize SIDE_HIERARCHIC variables as instructed
- 11.61.31The system shall compute time derivatives on a neighbor element for constant monomials
- rdg: Vectorpostprocessors
- 11.62.1Line sampling shall account for floating point precision error.
- 11.62.2The system shall be able to produce arbitrary vectors of values for use in other calculations.
- 11.62.3The system shall be able to produce multiple arbitrary vectors of values for use in other calculations.
- 11.62.4The system shall support the ability to read a comma separated file into an object and make it accessible through easy to use standard C++ containers.
- 11.62.5The system shall support the ability to read CSV data on only one processor and broadcast it to other ranks.
- 11.62.6The system shall error if the broadcast CSV data does not match on all ranks in a parallel job.
- 11.62.7The system shall support the ability to read a comma separated file into an object prior to initial setup.
- 11.62.8The system shall issue an error if the CSVReader is used in a UserObjectTransfer because the former does not have any notion of "spatial" information.
- 11.62.9The system shall support the computation of averages of variables over cylindrical shells.
- 11.62.10The system shall support writing a vector of data
- that is completely stored on a single processor or
- distributed across many and
- allows for the creation of symbolic links to the the most recent and final files on each processor.
- 11.62.11The system shall support dynamic numbers of sample points during the simulation.
- 11.62.12The system shall support dynamic numbers of sample points during the simulation with move semantics of the points vector.
- 11.62.13The system shall have the ability to retrieve element integers when visiting elements.
- 11.62.14The system shall have the ability to retrieve element integers when visiting elements only on certain subdomains.
- 11.62.15The system shall have the ability to retrieve element integers of attached elements when visiting sides of a side set.
- 11.62.16The system shall have the ability to retrieve element integers of attached elements on both sides when visiting internal interfaces.
- 11.62.17The system shall have the ability to retrieve element integers of attached elements on both sides when visiting all internal sides.
- 11.62.18The system shall support sampling of a field variable at the centroid of every element in the domain
- for elemental FE variables and
- for FV variables,
- but not for nodal variables.
- 11.62.19The system shall be capable of locating the maximum distances (the element) between two field variables:
- the true maximum involving a simple difference, and
- the absolute maximum involving the difference between absolute values.
- 11.62.20The ElementsAlongLine VectorPostprocessor shall output the IDs of all elements intersected by a line on a 1D mesh
- 11.62.21The ElementsAlongLine VectorPostprocessor shall output the IDs of all elements intersected by a line on a 2D mesh
- 11.62.22The ElementsAlongLine VectorPostprocessor shall output the IDs of all elements intersected by a line on a 3D mesh
- 11.62.23The ElementsAlongPlane VectorPostprocessor shall output the IDs of all elements intersected by a plane on a 1D mesh
- 11.62.24The ElementsAlongPlane VectorPostprocessor shall output the IDs of all elements intersected by a plane on a 2D mesh
- 11.62.25The ElementsAlongPlane VectorPostprocessor shall output the IDs of all elements intersected by a plane on a 3D mesh
- 11.62.26The system shall be able to integrate variables parsed by extra IDs
- with a single variable integral and a single extra ID
- with a single variable integral and multiple extra IDs
- with multiple variable integrals and multiple extra IDs
- 11.62.27The system shall be able to compute a histogram of each vector of data produced by a vector data producer (VectorPostprocessor).
- 11.62.28The histogram vector postprocessor shall generate an error if the vector postprocessor that it operates on does not have any declared vectors
- 11.62.29The system shall support finding all of the elements intersected by a line:
- in 1D,
- in 2D, and
- in 3D.
- 11.62.30The system shall have late binding producers of vector quantities (VectorPostprocessors) that may be declared after system initialization.
- 11.62.31The LeastSquaresFit vectorpostprocessor shall compute a least squares fit of a first-order polynomial sampled from a solution field using LineValueSampler with shifting and scaling parameters specified
- 11.62.32The LeastSquaresFit vectorpostprocessor shall compute a least squares fit of a zeroth-rder polynomial with data provided by a CSVReader
- 11.62.33The LeastSquaresFit vectorpostprocessor shall compute a least squares fit of a first-rder polynomial with data provided by a CSVReader
- 11.62.34The LeastSquaresFit vectorpostprocessor shall compute a least squares fit of a second-rder polynomial with data provided by a CSVReader
- 11.62.35The LeastSquaresFit vectorpostprocessor shall generate an error if a fit for a third-order polynomial is requested and only three data points are provided
- 11.62.36The system shall support computing the least squares fit of a set of time values obtained from an aggregate operation defined by the developer.
- 11.62.37The system shall support sampling one or more spatial functions along a line with fixed sampling intervals.
- 11.62.38The system shall support the ability to sample a scalar material along an arbitrary line through the mesh domain.
- 11.62.39The system shall allow sampling of variables at equally spaced points for outputting.
- 11.62.40The system shall allow sampling of variables at equally spaced points in parallel.
- 11.62.41The system shall allow scaling the line value sampler with a postprocessor.
- 11.62.42The system shall allow sampling of auxvariables at equally spaced points with CSV delimiter and precision setting.
- 11.62.43The system shall be able to output material properties calculated at quadrature points on user-defined elements in a comma separated format.
- 11.62.44The system shall issue an error if material output samples are attempted for elements:
- but the material is restricted to a boundary, or
- the material is restricted to a block not containing the desired elements.
- 11.62.45The system shall compute integrals computed from the closest values for a list of points and output to a spatial vector postprocessor with one point per point
- 11.62.46The system shall support sampling of a field variable at every node in the domain.
- 11.62.47The system shall issue an error when a nodal sampler is used on a field that does not have values defined at the nodes.
- 11.62.48The system shall provide VectorPostprocessor results to all processors as scattered data.
- 11.62.49The system shall provide VectorPostprocessor results to all processors as replicated data.
- 11.62.50The system shall support the ability to sample field variables at user specified points.
- 11.62.51The system shall support the ability to sample field FV variables at user specified points.
- 11.62.52The system shall report an error when requested sample points do not fall within the mesh domain.
- 11.62.53The system shall report a warning when variables requested are discontinuous and requested sample points are
- on element faces and
- on element nodes.
- 11.62.54The system shall make a consistent choice as to which element value to report when variables requested are discontinuous and requested sample points are
- on element faces and
- on element nodes.
- whether elements are renumbered or not and
- on process domain boundaries.
- 11.62.55The VectorPostprocessor system takes a parameter "contains_complete_history" which guarentees the vector state is left alone between invocations resulting in a single CSV output file.
- 11.62.56The system shall be capable of sampling one or more field variables along a side/boundary at each quadrature point along the side.
- 11.62.57The system shall be capable of sampling one or more field variables along an internal side at each quadrature point along the side.
- 11.62.58The system shall allow outputting relevant information about sidesets
- 11.62.59The system shall be able to query a spatial user object and aggregate the results into a vector postprocessor.
- 11.62.60The system shall error if the points are specified in more than one manner for a spatial vector postprocessor.
- 11.62.61The system shall support computing the spherical average of a variable as a function of radius throughout the mesh domain.
- 11.62.62The system shall support the ability to output a separate comma separated value file containing time and time time information corresponding to vector Postprocessor output.
- 11.62.63The system shall allow support the creation of histogram or binned data of volume fractions with respect to variable values.
- 11.62.64The system shall be able to aggregate an arbitrary set of scalar data producers (Postprocessors) into a single vector of Postprocessors.
- 11.62.65The system shall have the ability to compute several statistics related to the balance of the mesh partitioning
- on replicated meshes, and
- on distributed meshes.
Usability Requirements
- rdg: Usability
- 11.58.1The system will be operated using a command-line interface that
- reports the available options when none are provided and
- accepts defined command-line flags.
- 11.58.2The system will be operated using
- an input file and
- command-line options.
- 11.58.3The system shall return usage messages when unidentified arguments or incorrectly used arguments are passed.
- 11.58.4The system shall provide diagnostics when the input file fails to parse, or the format is incorrect.
- 11.58.5The system will provide on screen information about the simulation characteristics of the solves under normal operating conditions.
Performace Requirements
- rdg: Performance
- 11.39.1The system shall support the use of multiple processors using
- distributed memory,
- shared memory, and
- both distributed and shared memory.
- 11.39.2The system shall support execution on
- macOS and
- Linux operating systems.
System Interfaces
- rdg: System Interfaces
- 11.53.1The system shall support the use of message passing interface (MPI).
- 11.53.2The system shall support the use of shared memory threads using
- 'pthreads' or
- OpenMP.
- 11.53.3The system shall support the use of the following parallel mesh partitioners:
- Chaco,
- ParMETIS,
- Party, and
- PTScotch.
- 11.53.4The system shall support the use of the following solver packages:
- SuperLU,
- MUMPS, and
- SLEPc.
- 11.53.5The system shall support the use of the following C++ libraries:
- Visualization ToolKit (VTK) and
- BOOST.
- 11.53.6The system shall interface operate with the following C++ compilers:
- Clang and
- GCC.
System Operations
Human System Integration Requirements
MOOSE is a command line driven application which conforms to all standard terminal behaviors. Specific human system interaction accommodations shall be a function of the end-user's terminal. MOOSE does support optional coloring within the terminal's ability to display color, which may be disabled.
Maintainablity
- The latest working version (defined as the version that passes all tests in the current regression test suite) shall be publicly available at all times through the repository host provider. - Flaws identified in the system shall be reported and tracked in a ticket or issue based system. The technical lead will determine the severity and priority of all reported issues and assign resources at his or her discretion to resolve identified issues. - The software maintainers will entertain all proposed changes to the system in a timely manner (within two business days). - The core framework in its entirety will be made publicly available under the LGPL version 2.0 license.
Reliability
The regression test suite will cover at least 80% of all lines of code at all times. Known regressions will be recorded and tracked (see Maintainablity) to an independent and satisfactory resolution.
System Modes and States
MOOSE applications normally run in normal execution mode when an input file is supplied. However there are a few other modes that can be triggered with various command line flags as indicated here:
Command Line Flag | Description of mode |
---|---|
-i <input_file> | Normal execution mode |
--split-mesh <splits> | Read the mesh block splitting the mesh into two or more pieces for use in a subsequent run |
--use-split | (inplies -i flag) Execute the the simulation but use pre-split mesh files instead of the mesh from the input file |
--yaml | Output all object descriptions and available parameters in YAML format |
--json | Output all object descriptions and available parameters in JSON format |
--syntax | Output all registered syntax |
--registry | Output all known objects and actions |
--registry-hit | Output all known objects and actions in HIT format |
--mesh-only (implies -i flag) | Run only the mesh related tasks and output the final mesh that would be used for the simulation |
--start-in-debugger <debugger> | Start the simulation attached to the supplied debugger |
The list of system-modes may not be extensive as the system is designed to be extendable to end-user applications. The complete list of command line options for applications can be obtained by running the executable with zero arguments. See the command line usage.
Phyisical Characteristics
MOOSE is software only with no associated physical media. See System Requirements for a description of the minimum required hardware necessary for running a MOOSE-based application.
Environmental Conditions
Not Applicable
System Security
MOOSE based applications have no requirements or special needs related to system-security. The framework is designed to run completely in user-space with no elevated privileges required nor recommended.
Information Management
The core framework in its entirety will be made publicly available on an appropriate repository hosting site. Backups and security services will be provided by the hosting service.
Polices and Regulations
MOOSE-based applications must comply with all export control restrictions.
System Life Cycle Sustainment
MOOSE-based development follows various agile methods. The system is continuously built and deployed in a piecemeal fashion since objects within the system are more or less independent. Every new object requires a test, which in turn requires an associated requirement and design description. Some MOOSE-based development teams follow the NQA-1 standards.
Packaging, Handling, Shipping and Transportation
No special requirements are needed for packaging or shipping any media containing MOOSE source code. However, some MOOSE-based applications maybe be export controlled in which case all export control restrictions must be adhered to when packaging and shipping media.
Verification
The regression test suite will employ several verification tests using comparison against known analytical solutions, the method of manufactured solutions, and convergence rate analysis.