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.

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