MASTODON System Design Description

This template follows INL template TEM-140, "IT System Design Description."

Introduction

Calculating earthquake response using response history analysis involves performing a transient analysis and solving the equation of motion using finite-element methods. MASTODON uses the MOOSE framework and several of its modules to solve this problem but includes various material models, boundary conditions, postprocessors, and other objects that are relevant to earthquake engineering. MASTODON also uses the MOOSE framework to account for the coupling between different physics such as fluid structure interaction. This document describes the system design of MASTODON.

System Purpose

The Software Design Description provided here is description of each object in the system. The pluggable architecture of the underlying framework of MASTODON makes MOOSE and MOOSE-based applications straightforward to develop as each piece of end-user (developer) code that goes into the system follows a well-defined interface for the underlying systems that those object plug into. These descriptions are provided through developer-supplied "markdown" files that are required for all new objects that are developed as part of MASTODON. More information about the design documentation for MOOSE-based applications like MASTODON can be found in Documenting MOOSE.

System Scope

MASTODON models vibration response of structures with a prime focus on earthquakes. Applications include earthquake response of structures like nuclear power plant buildings and dams, linear and nonlinear site response and soil-structure interaction analysis, and large-scale source-to-site earthquake simulations. MASTODON can be used to both model simple 1D and 2D structures built using beam and shell elements, as well as more complex geometries represented using 3D continuum elements. MASTODON is primarily intended for response history analysis for both linear and nonlinear problems including material and geometric nonlinearities. It includes the most commonly-used and versatile hysteretic soil material models, and seismic protective devices. MASTODON is also capable of performing acoustic fluid structure interaction simulations through the Fluid Structure Interaction (FSI) module, seismic analysis of structures undergoing aging-related deterioration through inclusion of Blackbear, and uncertainty quantification (UQ) studies through the Stochastic Tools Module (STM). MASTODON also includes automated seismic risk assessment capabilities using the Multiple Stripes Analysis, fragility evaluation. It can also provides Fault Tree and Event Tree analysis capability through a Python library that is included in the MASTODON package.

Dependencies and Limitations

MASTODON inherits the software dependencies of the MOOSE framework, with no additional dependencies.

Definitions and Acronyms

This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.

Definitions

  • Pull (Merge) Request: A proposed change to the software (e.g. usually a code change, but may also include documentation, requirements, design, and/or testing).

  • Baseline: A specification or product (e.g., project plan, maintenance and operations (M&O) plan, requirements, or design) that has been formally reviewed and agreed upon, that thereafter serves as the basis for use and further development, and that can be changed only by using an approved change control process (NQA-1, 2009).

  • Validation: Confirmation, through the provision of objective evidence (e.g., acceptance test), that the requirements for a specific intended use or application have been fulfilled (24765:2010(E), 2010).

  • 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

AcronymDescription
APIApplication Programming Interface
DOE-NEDepartment of Energy, Nuclear Energy
FEfinite element
HITHierarchical Input Text
HPCHigh Performance Computing
I/OInput/Output
INLIdaho National Laboratory
MOOSEMultiphysics Object Oriented Simulation Environment
MPIMessage Passing Interface
SDDSoftware Design Description

Design Stakeholders and Concerns

Design Stakeholders

Stakeholders for MOOSE include several of the funding sources including DOE-NE and the INL. However, Since MOOSE is an open-source project, several universities, companies, and foreign governments have an interest in the development and maintenance of the MOOSE project.

Stakeholder Design Concerns

Concerns from many of the stakeholders are similar. These concerns include correctness, stability, and performance. The mitigation plan for each of these can be addressed. For correctness, MASTODON development requires either regression or unit testing for all new code added to the repository. The project contains several comparisons against analytical solutions where possible and also other verification methods such as MMS. For stability, MASTODON maintains multiple branches to incorporate several layers of testing both internally and for dependent applications. Finally, performance tests are also performed as part of the the normal testing suite to monitor code change impacts to performance.

System Design

MASTODON relies on MOOSE to solve the equation of motion using a transient analysis. The MOOSE design is based on the concept of modular code objects that define all of the aspects of the physics model. MASTODON follows this design, providing code objects that define specific aspects of the solutions for its physics that derive from the base classes defined by the MOOSE framework and the modules that it depends on.

MASTODON provides specialized Material classes that define the constitutive behavior of soils, structures, and seismic protective systems that are often used in earthquake engineering. MASTODON also provides DiracKernels that describe the energy release during an earthquake, BCs that create an absorbing boundary to simulate an infinite domain, and miscellaneous Action and VectorPostprocessor classes to facilitate various aspects of these simulations. Much of the functionality of MASTODON is provided by the MOOSE modules that it builds on.

System Structure

MASTODON relies on the MOOSE framework to provide the core functionality of solving the dynamic equation of motion using the finite element method. It also relies on the MOOSE modules such as Solid Mechanics and Fluid Structure Interaction for much of its core functionality. The structure of MASTODON is based on defining C++ classes that derive from classes in the MOOSE framework or modules that provide functionality that is specifically tailored to earthquake engineering and seismic risk assessment problems. By using the interfaces defined in MOOSE base classes for these classes, MASTODON is able to rely on MOOSE to execute these models at the appropriate times during the simulation and use their results in the desired ways.

Data Design and Control

At a high level, the system is designed to process HIT input files to construct several objects that will constitute an FE simulation. Some of the objects in the simulation may in turn load other file-based resources to complete the simulation. Examples include meshes or data files. The system will then assemble systems of equations and solve them using the libraries of the Code Platform. The system can then output the solution in one or more supported output formats commonly used for visualization.

Human-Machine Interface Design

The MASTODON application is a command-line driven program. All interaction with MASTODON is ultimately done through the command line. This is typical for HPC applications that use the MPI interface for running on super computing clusters. Optional GUIs may be used to assist in creating input files and launching executables on the command line.

System Design Interface

All external system interaction is performed either through file I/O or through local API calls. Neither MASTODON, nor the MOOSE framework, nor the MOOSE modules are designed to interact with any external system directly through remote procedure calls. Any code to code coupling performed using the framework are done directly through API calls either in a static binary or after loading shared libraries.

Security Structure

The MASTODON application does not require any elevated privileges to operate and does not run any stateful services, daemons or other network programs. Distributed runs rely on the MPI library.

Requirements Cross-Reference

  • mastodon: MaterialRealCMMAux
  • 1.1.1The MaterialRealCMMAux AuxKernel shall accurately calculate the AuxVariable from a ColumnMajorMatrix material property.

    Specification(s): cmm_spring

    Design: MaterialRealCMMAux

    Issue(s): #374

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: UniformLayerAuxKernel
  • 1.1.2Mastodon shall create uniform layers of material for a one dimensional model

    Specification(s): 1d

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.1.3Mastodon shall create uniform layers of material for a two dimensional model

    Specification(s): 2d

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.1.4Mastodon shall create uniform layers of material for a three dimensional model

    Specification(s): 3d

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.1.5Mastodon shall create uniform layers of material for a three dimensional model and automatically name each layer using the default indexing scheme

    Specification(s): 3d_default_layers

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.1.6Mastodon shall create uniform layers of material for a two dimensional model - Amdrew, finish this one up. I dont know what is different between this and the other 2D model

    Specification(s): 2d_nodal

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.1.7Mastodon shall produce an error message if the supplied direction vetor is not valid for the corresponding mesh

    Specification(s): error_bad_direction

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.1.8Mastodon shall produce an error if the number of interfaces supplied does not match the number of layer ids supplied

    Specification(s): error_vector_mismatch

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.1.9Mastodon shall produce an error if an interface value is supplied that is not contained within the model domain

    Specification(s): error_bad_interfaces

    Design: UniformLayerAuxKernel

    Issue(s): #2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: NonReflectingBC
  • 1.2.1The NonReflectingBC class shall produce an error if the number of the displacement variables is not the same as the mesh dimension.

    Specification(s): displacements_error

    Design: NonReflectingBC

    Issue(s): #12

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.2The NonReflectingBC class shall produce an error if the number of velocity variables is not the same as the mesh dimension.

    Specification(s): velocities_error

    Design: NonReflectingBC

    Issue(s): #12

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.3The NonReflectingBC class shall produce an error if the number of acceleration variables is not the same as the mesh dimension.

    Specification(s): accelerations_error

    Design: NonReflectingBC

    Issue(s): #12

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.4The NonReflectingBC class shall produce an error if the size of the component vector is not the same as the mesh dimension.

    Specification(s): component_error

    Design: NonReflectingBC

    Issue(s): #12

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: SeismicForce Syntax
  • 1.2.7The SeismicForce class shall accurately convert the user-provided input velocities to shear tractions at the boundary.

    Specification(s): seismic_force_test_x_y

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.2.8The SeismicForce class shall accurately convert the user-provided input velocity to normal traction at the boundary.

    Specification(s): seismic_force_test_z

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.2.9The SeismicForce class shall produce an error if the value provided for 'component' is greater than mesh dimension - 1.

    Specification(s): seismic_force_compenent_mesh_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.10The SeismicForce class shall produce an error if the value provided for 'vel_component' is greater than mesh dimension - 1.

    Specification(s): seismic_force_vel_compenent_mesh_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.11The SeismicForce class shall produce an error if a function or variable describing the input velocity is not supplied as input by the user.

    Specification(s): seismic_force_no_velocity_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.12The SeismicForce action shall produce an error if a list of functions or variables describing the input velocity are not supplied as input by the user.

    Specification(s): action_no_velocity_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.13The SeismicForce action shall produce an error if the length of the 'input_components' vector is not the same as that of the 'velocities' vector.

    Specification(s): action_var_velocity_size_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.14The SeismicForce action shall produce an error if the length of the 'input_components' vector is not the same as that of the 'velocity_functions' vector.

    Specification(s): action_func_velocity_size_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.2.15The SeismicForce action shall produce an error if the length of the displacements vector is different from the mesh dimension.

    Specification(s): action_displacement_size_error

    Design: SeismicForce Syntax

    Issue(s): #11

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: FunctionPointForce
  • 1.3.1The FunctionPointForce class shall accurately apply the force at any point within an element.

    Specification(s): function_point_force_1

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.3.2The FunctionPointForce class shall accurately apply a force at multiple points within the computational domain.

    Specification(s): function_point_force_multi

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.3.3The FunctionPointForce class shall produce an error if neither a point nor a set of points, supplied through the x, y and z position functions, are provided as input.

    Specification(s): function_point_no_point_error

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.4The FunctionPointForce class shall produce an error if the 'number' parameter is not supplied by the user when providing a set of points through the position functions.

    Specification(s): function_point_no_number_error

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.5The FunctionPointForce class shall produce an error if both x and y position functions are not provided as input for a 2D mesh.

    Specification(s): function_point_no_y_position_error

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.6The FunctionPointForce class shall produce an error if not all x, y and z position functions are provided as input for a 3D mesh.

    Specification(s): function_point_no_z_position_error

    Design: FunctionPointForce

    Issue(s): #6

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: SeismicSource
  • 1.3.7The SeismicSource action and the SeismicSource class shall accurately apply a point source at the user-provided point within the computational domain.

    Specification(s): one_seismic_source

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.3.8The SeismicSource action and the SeismicSource class shall accurately apply multiple point sources at the user-provided points within the computational domain, and also trigger all these point sources to rupture at the same time.

    Specification(s): synchronous_rupture

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.3.9The SeismicSource action and the SeismicSource class shall accurately apply multiple point sources at the user-provided points within the computational domain, and also trigger the point sources to rupture with a time delay calculated based on the rupture velocity and the distance of the point source from the epicenter.

    Specification(s): asynchronous_rupture

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.3.10The SeismicSource class shall produce an error when the number of provided displacement variables does not match the mesh dimension.

    Specification(s): displacement_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.11The SeismicSource class shall produce an error if neither the point nor the set of points at which the source is located is not supplied as input.

    Specification(s): point_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.12The SeismicSource class shall produce an error when a position_function is used to define the set of source points, but the number of source points is not supplied as input.

    Specification(s): number_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.13The SeismicSource class shall produce an error when the number of position functions does not match the mesh dimension.

    Specification(s): position_number_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.14The SeismicSource class shall produce an error if only the epicenter is provided as input, but not the rupture speed.

    Specification(s): no_rupture_speed_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.15The SeismicSource class shall produce an error if only the rupture speed is provided as input, but not the epicenter.

    Specification(s): no_epicenter_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.16The SeismicSource class shall produce an error if the length of the epicenter vector is not the same as the mesh dimension.

    Specification(s): epicenter_number_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.17The SeismicSource class shall produce an error if the epicenter and rupture speed are provided as input for a single seismic source.

    Specification(s): point_rupture_speed

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.18The SeismicSource class shall produce an error if the user-provided rupture speed is not positive.

    Specification(s): negative_speed_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.19The SeismicSource class shall produce a warning if a non-zero strike angle is provided as input for 2D models, indicating that out-of-plane earthquake waves would be generated.

    Specification(s): 2D_non_strike_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.3.20The SeismicSource class shall produce an error if it is used on a 1D mesh.

    Specification(s): 1D_error

    Design: SeismicSource

    Issue(s): #19

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: ImageFunction
  • 1.5.1The ImageFunction class shall accurately read the layer variable values from the 2D soil layer profile presented in the image.

    Specification(s): basic_read

    Design: ImageFunction

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: LayerInterfaceIndicator
  • 1.6.1The LayerInterfaceIndicator and ShearWaveIndicator classes shall accurately mesh the soil domain taking into account the variation in shear wave velocity across soil layers, as well as the locations of the soil layer interfaces.

    Specification(s): parallel

    Design: LayerInterfaceIndicatorShearWaveIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.6.2The LayerInterfaceIndicator class shall accurately mesh the soil domain taking into account the locations of the soil layer interfaces.

    Specification(s): test

    Design: LayerInterfaceIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.17.1Mastodon shall create a mesh using the shear wave indicator and minimum element size marker

    Specification(s): test

    Design: LayerInterfaceIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.17.2Mastodon shall create a mesh using the shear wave indicator and layer interface indicator, and the minimum element size marker and error tolerance marker.

    Specification(s): test

    Design: LayerInterfaceIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: ShearWaveIndicator
  • 1.6.1The LayerInterfaceIndicator and ShearWaveIndicator classes shall accurately mesh the soil domain taking into account the variation in shear wave velocity across soil layers, as well as the locations of the soil layer interfaces.

    Specification(s): parallel

    Design: LayerInterfaceIndicatorShearWaveIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.6.3The ShearWaveIndicator class shall accurately mesh the soil domain taking into account the variation in shear wave velocity across soil layers.

    Specification(s): test

    Design: ShearWaveIndicator

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: LayeredMaterialInterface
  • 1.7.1The LayeredMaterialInterface class shall produce an error if the parent class does not set the documentation for the 'layer_ids' parameter.

    Specification(s): doc_string_error

    Design: LayeredMaterialInterface

    Issue(s): #13

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.7.2The LayeredMaterialInterface class shall produce an error if the template class is not a Material object.

    Specification(s): type_error

    Design: LayeredMaterialInterface

    Issue(s): #13

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: User Manual
  • 1.8.1MASTODON shall correctly analyze the simple diffusion problem.

    Specification(s): test

    Design: User Manual

    Issue(s): #173

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.13.1Mastodon shall throw an error if an unused parameter is supplied to the input file.

    Specification(s): unused

    Design: User Manual

    Issue(s): #37

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: MinimumElementSizeMarker
  • 1.9.1The MinimumElementSizeMarker shall accurately mark an element for mesh refinement if the minimum element size is greater than that recommended by the specified indicator.

    Specification(s): test

    Design: MinimumElementSizeMarker

    Issue(s): #2#351

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.9.2The MinimumElementSizeMarker shall accurately mark an element for mesh refinement if the minimum element size is greater than that recommended by user specified value.

    Specification(s): test_value

    Design: MinimumElementSizeMarker

    Issue(s): #2#351

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: Mastodon Block
  • 1.10.1MASTODON shall accurately evaluate a single 3D element dynamics problem when the MastodonBlock actions are not used.

    Specification(s): noaction

    Design: Mastodon Block

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.2MASTODON shall accurately evaluate a single 2D element dynamics problem when the MastodonBlock actions are not used.

    Specification(s): noaction_2D

    Design: Mastodon Block

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.3Using the MastodonBlock action should produce results that are identical to those calculated without the action for a single 3D element dynamic problem.

    Specification(s): mastodon_block_actions

    Design: Mastodon Block

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.4Using the MastodonBlock action should produce results that are identical to those calculated without the action for a single 2D element dynamic problem.

    Specification(s): mastodon_block_actions_2D

    Design: Mastodon Block

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: Mastodon Model Action
  • 1.10.5MASTODON shall correctly perform a single element 3D static analysis without MastodonModel action.

    Specification(s): noaction_static

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.6Using the MastodonModel action for a single element 3D static analysis should produce results that are identical to those calculated without using the MastodonModel action.

    Specification(s): model_static

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.7MASTODON shall correctly perform a single element 3D dynamic analysis without MastodonModel action.

    Specification(s): noaction_dynamic

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.8MASTODON shall correctly perform a single element 2D dynamic analysis without MastodonModel action.

    Specification(s): noaction_dynamic_2D

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.9Using the MastodonModel action for a single element 3D dynamic analysis should produce results that are identical to those calculated without using the MastodonModel action.

    Specification(s): model_dynamic

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.10Using the MastodonModel action for a single element 2D dynamic analysis should produce results that are identical to those calculated without using the MastodonModel action.

    Specification(s): model_dynamic_2D

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.10.11MASTODON shall throw an error when the dim parameter in MastodonModel action is not consistent with the dimension of the mesh in the mesh block.

    Specification(s): model_dynamic_2D_dim_error

    Design: Mastodon Model Action

    Issue(s): #50

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: References
  • 1.11.1The ComputeFPIsolatorElasticity class shall accurately model the pressure, temperature and velocity dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_PTV

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.2The ComputeFPIsolatorElasticity class shall accurately model the velocity dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_V

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.3The ComputeFPIsolatorElasticity class shall accurately model the temperature dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_T

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.4The ComputeFPIsolatorElasticity class shall accurately model the pressure dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_P

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.5The ComputeFPIsolatorElasticity class shall accurately model the pressure, temperature and velocity dependent behavior of the isolator under seismic loading.

    Specification(s): seismic_PTV

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: References
  • 1.11.1The ComputeFPIsolatorElasticity class shall accurately model the pressure, temperature and velocity dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_PTV

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.2The ComputeFPIsolatorElasticity class shall accurately model the velocity dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_V

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.3The ComputeFPIsolatorElasticity class shall accurately model the temperature dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_T

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.4The ComputeFPIsolatorElasticity class shall accurately model the pressure dependent behavior of the isolator under sinusoidal shear loading.

    Specification(s): shear_P

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.5The ComputeFPIsolatorElasticity class shall accurately model the pressure, temperature and velocity dependent behavior of the isolator under seismic loading.

    Specification(s): seismic_PTV

    Design: ReferencesReferences

    Issue(s): #128

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: References
  • 1.11.6The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction.

    Specification(s): axial

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.7The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 4605988 and an alpha of 0.6.

    Specification(s): axial2

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.8The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 1090485 and an alpha of 0.01.

    Specification(s): axial3

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.9The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 37947331 and an alpha of 1.5.

    Specification(s): axial4

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.10The ComputeFVDamperElasticity class shall accurately damp the response of the portal frame under seismic loading.

    Specification(s): seismic

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: References
  • 1.11.6The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction.

    Specification(s): axial

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.7The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 4605988 and an alpha of 0.6.

    Specification(s): axial2

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.8The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 1090485 and an alpha of 0.01.

    Specification(s): axial3

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.9The ComputeFVDamperElasticity class shall accurately damp the response of the system in the axial direction for a cd of 37947331 and an alpha of 1.5.

    Specification(s): axial4

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.10The ComputeFVDamperElasticity class shall accurately damp the response of the portal frame under seismic loading.

    Specification(s): seismic

    Design: ReferencesReferences

    Issue(s): #208

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: The I_Soil System
  • 1.11.11The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve from a user provided data file.

    Specification(s): data_file

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.12The ISoil action and ComputeISoilStress class shall accurately construct the backbone curve from a user provided data file.

    Specification(s): data_file_verification

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.13The ComputeISoilStress class shall accurately construct the stress-strain curve from a user provided data file without the use of the ISoilAction.

    Specification(s): data_file_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.14The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve from a user provided data file and shall also auto construct the Jacobian matrix.

    Specification(s): data_file_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.15The ComputeISoilStress class shall accurately construct the stress-strain curve from a user provided data file without the use of the ISoilAction and shall also auto construct the Jacobian matrix.

    Specification(s): data_file_noaction_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.16The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve using the Darendeli formulation.

    Specification(s): darendeli

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.17The ISoil action and ComputeISoilStress class shall accurately construct the backbone curve using the Darendeli formulation.

    Specification(s): darendeli_verification

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.18The ComputeISoilStress class shall accurately construct the stress-strain curve using the Darendeli formulation without the use of the ISoilAction.

    Specification(s): darendeli_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.19The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve using the Darendeli formulation and shall also automatically compute the Jacobian matrix.

    Specification(s): darendeli_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.20The ComputeISoilStress class shall accurately construct the stress-strain curve using the Darendeli formulation without the use of the ISoilAction and shall also automatically compute the Jacobian matrix.

    Specification(s): darendeli_noaction_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.21The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve using the GQ/H formulation.

    Specification(s): GQH

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.22The ISoil action and ComputeISoilStress class shall accurately construct the backbone curve using the GQ/H formulation.

    Specification(s): GQH_verification

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.23The ComputeISoilStress class shall accurately construct the stress-strain curve using the GQ/H formulation without the use of the ISoilAction.

    Specification(s): GQH_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.24The ComputeISoilStress class shall accurately construct the stress-strain curve using the GQ/H formulation with two soil layers.

    Specification(s): GQH_twolayers

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.25The ComputeISoilStress class shall accurately construct the stress-strain curve using the GQ/H formulation without action and with two soil layers.

    Specification(s): GQH_twolayers_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.26The ISoil action and ADComputeISoilStress class shall accurately model the nonlinear dynamic response of the system when automatic differentiation is used along with the auto-generated GQH stress-strain curves.

    Specification(s): GQH_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.27The ADComputeISoilStress class shall accurately model the nonlinear dynamic response of the system when automatic differentiation is used along with the auto-generated GQH stress-strain curves.

    Specification(s): GQH_noaction_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.28The ADComputeISoilStress class shall accurately compute the jacobian for a quasi-static nonlinear response of a soil column subjected to pure shear.

    Specification(s): data_file_jac_check

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 1.11.29The ADComputeISoilStress class shall accurately compute the jacobian for the dynamic pressure-dependent nonlinear response of a soil column subjected to vertical displacement as well as pure shear.

    Specification(s): data_file_pressure_jac_check

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): PetscJacobianTester

  • 1.11.30The ComputeISoilStress class shall fail under tension and regain strength under compression.

    Specification(s): data_file_pressure_contact

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.31The ADComputeISoilStress class shall fail under tension and regain strength under compression.

    Specification(s): data_file_pressure_contact_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.32The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve for a thin-layer formulation.

    Specification(s): thin_layer

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.33The ComputeISoilStress class shall accurately construct the stress-strain curve for a thin-layer formulation without the use of the ISoilAction.

    Specification(s): thin_layer_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.34The ISoil action and ComputeISoilStress class shall accurately construct the stress-strain curve for a thin-layer formulation and shall also automatically construct the Jacobian matrix.

    Specification(s): thin_layer_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.35The ComputeISoilStress class shall accurately construct the stress-strain curve for a thin-layer formulation without the use of the ISoilAction and shall also automatically construct the Jacobian matrix.

    Specification(s): thin_layer_noaction_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.36The ISoilAction and ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in stiffness of the soil.

    Specification(s): pressure_dependent_stiffness

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.37The ISoilAction and ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in strength of the soil.

    Specification(s): pressure_dependent_strength

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.38The ISoilAction and ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in both stiffness and strength of the soil.

    Specification(s): stiffness_and_strength_pressure_dependency

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

    Verification: Analytical Verification of The I-Soil Constitutive Model

  • 1.11.39The ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in stiffness and strength of the soil without the use of the ISoilAction.

    Specification(s): stiffness_and_strength_pressure_dependency_noaction

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.40The ISoilAction and ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in stiffness and strength of the soil and shall automatically construct the Jacobian matrix.

    Specification(s): stiffness_and_strength_pressure_dependency_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.41The ComputeISoilStress class shall accurately adjust the stress-strain curve to account for pressure dependent changes in stiffness and strength of the soil without the use of the ISoilAction and shall also automatically construct the Jacobian matrix.

    Specification(s): stiffness_and_strength_pressure_dependency_noaction_AD

    Design: The I_Soil System

    Issue(s): #26

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: LinearSoilMaterial
  • 1.11.46The LinearSoilMaterial class accurately sets the shear modulus and density values for different soil layers.

    Specification(s): math

    Design: LinearSoilMaterial

    Issue(s): #2

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.47The LinearSoilMaterial class shall produce an error if the 'shear_modulus' vector is not the same length as the 'layer_ids' vector.

    Specification(s): error_size_mismatch

    Design: LinearSoilMaterial

    Issue(s): #2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.11.48The LinearSoilMaterial class shall produce an error if the layer id variable takes a value that is not provided as part of the 'layer_ids' vector.

    Specification(s): error_missing_id

    Design: LinearSoilMaterial

    Issue(s): #2

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: References
  • 1.11.50The ComputeLRIsolatorElasticity class shall accurately model the tensile and compressive response of the isolator.

    Specification(s): lr_isolator_axial_ct

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.51The ComputeLRIsolatorElasticity class shall accurately model the tensile response of the isolator.

    Specification(s): lr_isolator_tension

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.52The ComputeLRIsolatorElasticity class shall accurately model the shear response of the isolator.

    Specification(s): lr_isolator_shear

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.53The ComputeLRIsolatorElasticity class shall accurately model the P-Delta effects in the isolator.

    Specification(s): lr_isolator_Pdelta

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.54The ComputeLRIsolatorElasticity class shall accurately model the seismic response of the isolator.

    Specification(s): lr_isolator_seismic

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.55The ComputeLRIsolatorElasticity class shall produce an error if the lengths of the displacement and rotation vectors do not match.

    Specification(s): deformation_error1

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.11.56The ComputeLRIsolatorElasticity class shall produce an error if the 'y_orientation' provided as input is not perpendicular to the axis of the isolator.

    Specification(s): deformation_error2

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.11.57The ComputeLRIsolatorElasticity class shall produce an error if the parameter 'alpha' is either negative or greater than 1.

    Specification(s): elasticity_error1

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: References
  • 1.11.50The ComputeLRIsolatorElasticity class shall accurately model the tensile and compressive response of the isolator.

    Specification(s): lr_isolator_axial_ct

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.51The ComputeLRIsolatorElasticity class shall accurately model the tensile response of the isolator.

    Specification(s): lr_isolator_tension

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.52The ComputeLRIsolatorElasticity class shall accurately model the shear response of the isolator.

    Specification(s): lr_isolator_shear

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.53The ComputeLRIsolatorElasticity class shall accurately model the P-Delta effects in the isolator.

    Specification(s): lr_isolator_Pdelta

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.11.54The ComputeLRIsolatorElasticity class shall accurately model the seismic response of the isolator.

    Specification(s): lr_isolator_seismic

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.11.55The ComputeLRIsolatorElasticity class shall produce an error if the lengths of the displacement and rotation vectors do not match.

    Specification(s): deformation_error1

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.11.56The ComputeLRIsolatorElasticity class shall produce an error if the 'y_orientation' provided as input is not perpendicular to the axis of the isolator.

    Specification(s): deformation_error2

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 1.11.57The ComputeLRIsolatorElasticity class shall produce an error if the parameter 'alpha' is either negative or greater than 1.

    Specification(s): elasticity_error1

    Design: ReferencesReferences

    Issue(s): #127

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: BeamMeshGenerator
  • 1.12.1MASTODON shall generate a 1D mesh based on the node and element information provided through a text file.

    Specification(s): beam_mesh_generator_test

    Design: BeamMeshGenerator

    Issue(s): #209

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 1.12.2The BeamMeshGenerator shall accurately create the mesh from node and element information provided through a text file.

    Specification(s): mesh_gen_test

    Design: BeamMeshGenerator

    Issue(s): #209

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • mastodon: HazardCurveMultiApp
  • 1.14.1The HazardCurveMultiApp shall execute the sub file for each ground motion in the GroundMotionReader UserObject for each bin of the HazardCurve UserObject.

    Specification(s): run

    Design: HazardCurveMultiApp

    Issue(s): #61

    Collection(s): FUNCTIONAL

    Type(s): CheckFiles

  • 1.16.1MASTODON shall perform probabilistic simulations for seismic probabilistic risk assessment for a given hazard curve, number of bins, ground motions and a finite element model.

    Specification(s): pra

    Design: HazardCurveMultiApp

    Issue(s): #101

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: HazardCurveTransfer
  • 1.18.1The HazardCurve transfer shall scale the ground motions from the GroundMotionReader UserObject according to the hazard curve in the Hazard UserObject and transfer the ground motions to the sub file.

    Specification(s): run

    Design: HazardCurveTransfer

    Issue(s): #61

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: GroundMotionReader
  • 1.19.1The GroundMotionReader object shall run without errors.

    Specification(s): run

    Design: GroundMotionReader

    Issue(s): #61

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 1.19.2The GroundMotionReader object shall throw an error when the ground motion files with the provided pattern are not found.

    Specification(s): bad_pattern

    Design: GroundMotionReader

    Issue(s): #61

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: HazardCurve
  • 1.19.3The HazardCurve userobject shall run without errors.

    Specification(s): run

    Design: HazardCurve

    Issue(s): #61

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 1.19.4The HazardCurve userobject shall throw an error when the reference_acceleration input is not a scalar, or a vector of the size equal to the number of bins.

    Specification(s): ref_size_error

    Design: HazardCurve

    Issue(s): #61

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • mastodon: Fragility
  • 1.20.1The Fragility vectorpostprocessor shall accurately evaluate the median demands, beta, and the conditional probability of failure of the SSC at each intensity, and the median and beta of the enhanced fragility fit for the SSC using a brute force approach.

    Specification(s): fragility

    Design: Fragility

    Issue(s): #44

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.2The Fragility vectorpostprocessor shall accurately evaluate the median demands, beta, and the conditional probability of failure of the SSC at each intensity, and the median and beta of the enhanced fragility fit for the SSC using the randomized gradient descent algorithm.

    Specification(s): fragility_rgd

    Design: Fragility

    Issue(s): #44

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.3The Fragility vectorpostprocessor shall accurately evaluate the median demands, beta, and the conditional probability of failure of the SSC at each intensity, and the median and beta of the enhanced fragility fit for the SSC using the randomized gradient descent algorithm when stochastic demands file is provided.

    Specification(s): fragility_rgd_stoc_demands

    Design: Fragility

    Issue(s): #44

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: HousnerSpectrumIntensity
  • 1.20.4The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history on a serial execution.

    Specification(s): hsi

    Design: HousnerSpectrumIntensity

    Issue(s): #39

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.5The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history during a multiple core execution.

    Specification(s): hsi_parallel

    Design: HousnerSpectrumIntensity

    Issue(s): #39

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.6The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history during a multiple thread execution.

    Specification(s): hsi_threads

    Design: HousnerSpectrumIntensity

    Issue(s): #39

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.7The HSICalculator vectorpostprocessor shall accurately calculate the HSI of a response history during a multiple core and multiple thread execution.

    Specification(s): hsi_threads_parallel

    Design: HousnerSpectrumIntensity

    Issue(s): #39

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: ResponseHistoryBuilder
  • 1.20.8The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a serial execution.

    Specification(s): builder

    Design: ResponseHistoryBuilder

    Issue(s): #35

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.9The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a multiple core execution.

    Specification(s): builder_parallel

    Design: ResponseHistoryBuilder

    Issue(s): #35

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.10The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a multiple thread execution.

    Specification(s): builder_threads

    Design: ResponseHistoryBuilder

    Issue(s): #35

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.11The ResponseHistoryBuilder vectorpostprocessor shall accurately evaluate the response histories for node input as well as boundary input during a multiple core and multiple thread execution.

    Specification(s): builder_threads_parallel

    Design: ResponseHistoryBuilder

    Issue(s): #35

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: ResponseHistoryMean
  • 1.20.12The ResponseHistoryMean vectorpostprocessor shall accurately calculate the mean response history during a serial execution.

    Specification(s): meanhist

    Design: ResponseHistoryMean

    Issue(s): #219

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.13The ResponseHistoryMean vectorpostprocessor shall accurately calculate the mean response history during a mutiple core execution.

    Specification(s): meanhist_parallel

    Design: ResponseHistoryMean

    Issue(s): #219

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.14The ResponseHistoryMean vectorpostprocessor shall accurately calculate the mean response history during a multiple thread execution.

    Specification(s): meanhist_threads

    Design: ResponseHistoryMean

    Issue(s): #219

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.15The ResponseHistoryMean vectorpostprocessor shall accurately calculate the mean response history during a mutiple core and multiple thread execution.

    Specification(s): meanhist_threads_parallel

    Design: ResponseHistoryMean

    Issue(s): #219

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • mastodon: ResponseSpectraCalculator
  • 1.20.16The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a serial execution.

    Specification(s): spectrum

    Design: ResponseSpectraCalculator

    Issue(s): #36

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.17The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a multiple core execution.

    Specification(s): spectrum_parallel

    Design: ResponseSpectraCalculator

    Issue(s): #36

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.18The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a multiple thread execution.

    Specification(s): spectrum_threads

    Design: ResponseSpectraCalculator

    Issue(s): #36

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 1.20.19The ResponseSpectraCalculator vectorpostprocessor shall accurately calculate the response spectra during a multiple core and multiple thread execution.

    Specification(s): spectrum_threads_parallel

    Design: ResponseSpectraCalculator

    Issue(s): #36

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

References

  1. ISO/IEC/IEEE 24765:2010(E). Systems and software engineering—Vocabulary. first edition, December 15 2010.[BibTeX]
  2. 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]

ActionComponents

Adaptivity

Adaptivity/Indicators

Adaptivity/Markers

Application

AuxKernels

AuxScalarKernels

AuxVariables

BCs

BCs/CavityPressure

BCs/CoupledPressure

BCs/InclinedNoDisplacementBC

BCs/NonReflectingBC

BCs/Periodic

BCs/Pressure

BCs/SeismicDisplacement

BCs/SeismicForce

Bounds

ChainControls

Constraints

Constraints/EqualValueEmbeddedConstraint

Contact

Controls

Convergence

Correctors

Covariance

DGKernels

Dampers

Debug

Debug/MaterialDerivativeTest

DeprecatedBlock

DiracKernels

DiracKernels/SeismicSource

Distributions

DomainIntegral

Executioner

Executioner/Adaptivity

Executioner/Predictor

Executioner/Quadrature

Executioner/TimeIntegrator

Executioner/TimeIntegrators

Executioner/TimeStepper

Executioner/TimeSteppers

Executors

ExplicitDynamicsContact

FVBCs

FVICs

FVInterfaceKernels

FVKernels

FluidProperties

FluidPropertiesInterrogator

Functions

FunctorMaterials

GlobalParams

GrayDiffuseRadiation

HDGKernels

ICs

InterfaceKernels

Kernels

Kernels/DynamicSolidMechanics

Kernels/DynamicTensorMechanics

Kernels/PoroMechanics

Kernels/SolidMechanics

Kernels/TensorMechanics

Likelihood

LinearFVBCs

LinearFVKernels

Mastodon

Mastodon/Model

Mastodon/Outputs

Materials

Materials/I_Soil

Mesh

Mesh/BatchMeshGeneratorAction

Mesh/Partitioner

MeshDivisions

MeshModifiers

Modules

Modules/CompressibleNavierStokes

Modules/FluidProperties

Modules/HeatTransfer

Modules/HeatTransfer/ThermalContact

Modules/HeatTransfer/ThermalContact/BC

Modules/IncompressibleNavierStokes

Modules/NavierStokesFV

Modules/TensorMechanics

Modules/TensorMechanics/CohesiveZoneMaster

Modules/TensorMechanics/DynamicMaster

Modules/TensorMechanics/GeneralizedPlaneStrain

Modules/TensorMechanics/GlobalStrain

Modules/TensorMechanics/LineElementMaster

Modules/TensorMechanics/Master

Modules/TensorMechanics/MaterialVectorBodyForce

MortarGapHeatTransfer

MultiApps

NEML2

NodalKernels

NodalNormals

Outputs

ParameterStudy

Physics

Physics/Diffusion

Physics/Diffusion/ContinuousGalerkin

Physics/Diffusion/FiniteVolume

Physics/HeatConduction

Physics/HeatConduction/FiniteElement

Physics/HeatConduction/FiniteVolume

Physics/NavierStokes

Physics/NavierStokes/Flow

Physics/NavierStokes/FlowSegregated

Physics/NavierStokes/FluidHeatTransfer

Physics/NavierStokes/FluidHeatTransferSegregated

Physics/NavierStokes/ScalarTransport

Physics/NavierStokes/ScalarTransportSegregated

Physics/NavierStokes/SolidHeatTransfer

Physics/NavierStokes/Turbulence

Physics/NavierStokes/TwoPhaseMixture

Physics/NavierStokes/TwoPhaseMixtureSegregated

Physics/SolidMechanics

Physics/SolidMechanics/CohesiveZone

Physics/SolidMechanics/Dynamic

Physics/SolidMechanics/GeneralizedPlaneStrain

Physics/SolidMechanics/GlobalStrain

Physics/SolidMechanics/LineElement

Physics/SolidMechanics/LineElement/QuasiStatic

Physics/SolidMechanics/MaterialVectorBodyForce

Physics/SolidMechanics/QuasiStatic

Positions

Postprocessors

Preconditioning

Problem

ProjectedStatefulMaterialStorage

RayBCs

RayKernels

Reporters

Samplers

ScalarKernels

StochasticTools

Surrogates

ThermalContact

Times

Trainers

Transfers

UserObjects

VariableMappings

Variables

VectorPostprocessors

XFEM