MASTODON Failure Analysis Report
Introduction
The FAR for MASTODON describes the system functional and non-functional requirements that describe the expected interactions that the software shall provide.
Dependencies
The MASTODON application is developed using MOOSE and is based on various modules, as such the FAR for MASTODON is dependent upon the following documents.
- BlackBear Failure Analysis Report
- Framework Failure Analysis Report
- MOOSE Tools Failure Analysis Report
- Contact Failure Analysis Report
- Fluid Properties Failure Analysis Report
- FSI Failure Analysis Report
- Heat Transfer Failure Analysis Report
- Misc Failure Analysis Report
- Navier Stokes Failure Analysis Report
- Ray Tracing Failure Analysis Report
- Stochastic Tools Failure Analysis Report
- Solid Mechanics Failure Analysis Report
- XFEM Failure Analysis Report
Failure Analysis Requirements
The following is a complete list for all the requirements related to failure analysis for MASTODON.
- mastodon: Auxkernels
- 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: Bcs
- 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
- 1.2.6The SeismicDisplacement action shall produce an error if the displacements, velocities, accelerations, input functions and input components are not of the same length.
Specification(s): action_wrong_size_error
Design: SeismicDisplacement Syntax
Issue(s): #28
Collection(s): FUNCTIONALFAILURE_ANALYSIS
Type(s): RunException
- 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: Dirackernels
- 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
- 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: Interfaces
- 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: Mastodonblock
- 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: Materials
- 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.44The ComputeIsotropicElasticityTensorSoil class shall produce an error if the 'shear_modulus' vector is not the same length as the 'layer_ids' vector.
Specification(s): linear_isotropic_size_error
Design: ComputeIsotropicElasticityTensorSoil
Issue(s): #10
Collection(s): FUNCTIONALFAILURE_ANALYSIS
Type(s): RunException
- 1.11.45The ComputeIsotropicElasticityTensorSoil 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): linear_isotropic_layer_id_error
Design: ComputeIsotropicElasticityTensorSoil
Issue(s): #10
Collection(s): FUNCTIONALFAILURE_ANALYSIS
Type(s): RunException
- 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
- 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: Misc
- 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: Userobjects
- 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
- 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