Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SQA docs #355

Merged
merged 1 commit into from
Jan 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions doc/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,13 @@ Extensions:
- tests
directories:
- ${ROOT_DIR}/test/tests
reports: !include ${ROOT_DIR}/doc/sqa_reports.yml
blackbear:
specs:
- tests
directories:
- ${BLACKBEAR_DIR}/test/tests
reports: !include ${BLACKBEAR_DIR}/doc/sqa_reports.yml
framework: !include ${MOOSE_DIR}/framework/doc/sqa_framework.yml
tensor_mechanics: !include ${MOOSE_DIR}/modules/tensor_mechanics/doc/sqa_tensor_mechanics.yml
stochastic_tools: !include ${MOOSE_DIR}/modules/stochastic_tools/doc/sqa_stochastic_tools.yml
Expand Down
33 changes: 1 addition & 32 deletions doc/content/sqa/index.md
Original file line number Diff line number Diff line change
@@ -1,32 +1 @@
# Software Quality

## Initiation

- [Safety Software Determination (SSD)](https://jwebapps3.inl.gov/SafeSWDetermination/OfficialRecord?ssdNumber=SSD-000642)
- [Quality Level Determination (QLD; ALL-000834)](https://edmvaultprd.inl.gov/edm17l/29442/7360459.pdf)
- [Enterprise Architecture Entry](https://itarchitecture.inl.gov/pls/earch1/appreport.init_hist_report?app_id=382105&prevNext=EQ)

## Planning

- [Software Quality Assurance for Modeling and Simulation Software (PLN-4005)](https://inl-edms/pls/inl_docs/doc_3?f_doc=PLN-4005)

## Requirements

- [System Requirement Specification (SRS)](sqa/mastodon_srs.md)

## Design

- [System Design Description (SDD)](sqa/mastodon_sdd.md)

## Testing

- [Software Test Plan (STP)](sqa/mastodon_stp.md)
- [Requirements Traceability Matrix (RTM)](sqa/mastodon_rtm.md)
- [Verification and Validation Results Report](sqa/mastodon_vvr.md)

## Other Documentation

- [Theory Manual](manuals/theory/index.md)
- [User Manual](manuals/user/index.md)

!sqa report
!template load file=app_index.md.template app=MASTODON category=mastodon
127 changes: 1 addition & 126 deletions doc/content/sqa/mastodon_srs.md
Original file line number Diff line number Diff line change
@@ -1,126 +1 @@
!!template load file=app_srs.md.template app=MASTODON category=mastodon

!!!
!SQA-load system_requirements_specification.md

!SQA-template-item project_description

!alert construction
Work in Progress

The template for this page is currently under development, the completed SRS is available
as a pdf here: [MASTODON SRS](https://hpcgitlab.inl.gov/idaholab/mastodon/uploads/d50895b47f1cf489b504bf3036d79bae/MastodonSoftwareRequirementsSpecification.pdf).

MASTODON is a nonlinear, three-dimensional seismic soil-structure interaction analysis framework.

!END-template-item

!SQA-template-item system_scope

Multi-hazard Analysis for STOchastic time-DOmaiN phenomena (MASTODON) is a finite element application
that analyzes the response of 3-D soil-structure systems to earthquakes. MASTODON currently focuses
on the simulation of seismic events and has the capability to perform extensive 'source-to-site'
simulations including earthquake fault rupture, nonlinear wave propagation and nonlinear
soil-structure interaction (NLSSI) analysis. MASTODON is being developed to be a dynamic
probabilistic risk assessment framework that enables analysts to not only perform deterministic
analyses, but also easily perform probabilistic or stochastic simulations for the purpose of risk
assessment.

MASTODON is a MOOSE-based application and performs finite-element analysis of the dynamics of solids,
mechanics of interfaces and porous media flow. It is equipped with numerical material models of dry
and saturated soils including a nonlinear hysteretic soil model, and a uP-U model for saturated
soil, as well as structural materials such as reinforced concrete. It is also equipped with
interface models that simulate gapping, sliding and uplift at the interfaces of solid media such as
the foundation-soil interface of structures. MASTODON also includes absorbing boundary models for
the simulation of infinite or semi-infinite domains, fault rupture model for seismic source
simulation, and the domain reduction method for the input of complex, three dimensional wave fields.
Since MASTODON is a MOOSE-based application, it can efficiently solve problems using either standard
workstations or very large high-performance computers.

!END-template-item

!SQA-template-item system_context

!alert construction
Under Development

The current MOOSE template for the SRS is not complete and the sections do not align with
the SRS for {{PROJECT}}. As development continues sections will be more configurable to meet
the needs of application.

!END-template-item

!SQA-template-item system_requirements

### Technical and Functional Requirements

!SQA-requirement-list title=Time Integration
F1.1 The system shall be capable of performing time integration using the Newmark Beta method
F1.2 The system shall be capable of performing time integration using the HHT method

!SQA-requirement-list title=Small Strain Damping
F2.1 The system shall allow Rayleigh damping
F2.2 The system shall allow frequency-independent damping

!SQA-requirement-list title=Soil Layers and Meshing
F3.1 The system shall allow automatic mesh adaptivity to maintain a user-defined number of solid hexagonal elements per wavelength
F3.2 The system shall allow automatic mesh generation based on a user-defined dynamic shear wave velocity
F3.3 The system shall allow for scenarios with both horizontal and non-horizontal soil layers

!SQA-requirement-list title=Material Models
F4.1 The system shall simulate a linear elastic material
F4.2 The system shall simulate a nonlinear soil material (ISoil)

!SQA-requirement-list title=Foundation-Soil Interface Models
F5.1 The system shall allow for the simulation of a foundation-soil interface using the thin-layer method
F5.2 The system shall allow for the simulation of a foundation-soil interface using cyclic frictional contact algorithms

!SQA-requirement-list title=Special Boundary Conditions
F6.1 The system shall allow Domain Reduction Method (DRM)
F6.2 The system shall allow non-reflecting boundary conditions
F6.3 The system shall allow a preset acceleration boundary condition
F6.4 The system shall allow a seismic force boundary condition

!SQA-requirement-list title=Earthquake Fault Rupture
F7.1 The system shall allow for fault rupture using multiple point sources

!SQA-requirement-list title=Post-Processing
F8.1 The system shall allow the calculation of response histories. Acceleration, velocity, and displacement time histories are used by analysts to evaluate structural response.
F8.2 The system shall allow the calculation of response spectra
F8.3 The system shall allow for the calculation of Housner Spectrum Index (HSI)

### Design Inputs, Outputs and Design Constraints

!SQA-requirement-list title=Design Inputs
DI1.1 The system shall use the input file syntax as defined by MOOSE
DI1.2 The system shall employ the dynamic time domain input file. Uses time integration.
DI1.3 The system shall allow the location of the interfaces to be provided as input for scenarios with horizontal soil layers
DI1.4 The system shall allow images (.jpg, .png, etc.) of the soil profile to be provided as input for mesh generation for scenarios where the soil layers are non-horizontal and non-planar

!SQA-requirement-list title=Design Constraints
DC1.1 The system shall be implemented in MOOSE, INL's HPC development and runtime framework
DC1.2 The system shall be written with object oriented programming language C++

!SQA-requirement-list title=Output File Structure
DO1.1 The system shall use the output capabilities of MOOSE framework
DO1.2 The system shall provide the PRA output (file structure TBD)

### System Interfaces

!SQA-requirement-list
SI1.1 MOOSE
SI1.2 BlackBear

### Installation Considerations

Detailed installation instructions, including the following installation considerations, will be included in the MASTODON User's Manual.

!SQA-requirement-list
IC1.1 The user shall obtain a valid license.
IC1.2 MOOSE Environment Setup: The user's system environment must be set up for MOOSE.
IC1.3 Code repository access: The user must establish a secure connection between their computer and the system where the source code repository is hosted.
IC1.4 Code Checkout: It is necessary to build LibMesh before building any application. Once LibMesh has been successfully compiled, the system can be compiled.
IC1.5 Verification Testing: Once the system has been compiled successfully, it is required to run the tests to make sure the version of the code installed is running correctly.

!END-template-item
!!!
!template load file=app_srs.md.template app=MASTODON category=mastodon
2 changes: 1 addition & 1 deletion doc/content/sqa/mastodon_stp.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
!!template load file=app_stp.md.template app=MASTODON category=MastodonApp
!template load file=app_stp.md.template app=MASTODON category=mastodon
2 changes: 1 addition & 1 deletion doc/content/sqa/v_and_v/materials/isoil/darendeli.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The hysteresis stress-strain curve in the ZX plane is shown in [darendeli-hyster
id=darendeli-hysteresis-loop
caption=Plot of the element hysteresis stress-strain curve in the ZX plane over the duration of the simulation.

Since the engineering strain in the ZX plane, $\gamma_{zx}$, is equal to two times the tensor shear strain, $\epsilon_{zx}$, it was necessary to multiply the strains output by MOOSE TensorMechanics by two to get the shear stresses, $\tau_{zx}$, which correspond to those determined by [shear]. Next, the engineering shear stress-strain curve was superimposed over the 100 points, calculated by hand with [shear], as shown in [darendeli-backbone-curve]. The backbone curve was obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [#problem-statement]). It is clear from [darendeli-backbone-curve] that the analytical solution of the Darendeli model was consistent with the MASTODON one.
Since the engineering strain in the ZX plane, $\gamma_{zx}$, is equal to two times the tensor shear strain, $\epsilon_{zx}$, it was necessary to multiply the strains output by MOOSE TensorMechanics by two to get the shear stresses, $\tau_{zx}$, which correspond to those determined by [shear]. Next, the engineering shear stress-strain curve was superimposed over the 100 points, calculated by hand with [shear], as shown in [darendeli-backbone-curve]. The backbone curve was obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [isoil/problem_statement.md]). It is clear from [darendeli-backbone-curve] that the analytical solution of the Darendeli model was consistent with the MASTODON one.

!media media/materials/isoil/darendeli_backbone.png
id=darendeli-backbone-curve
Expand Down
2 changes: 1 addition & 1 deletion doc/content/sqa/v_and_v/materials/isoil/gqh.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ The hysteresis stress-strain curve in the ZX plane is shown in [gqh-hysteresis-l
id=gqh-hysteresis-loop
caption=Plot of the element hysteresis stress-strain curve in the ZX plane over the duration of the simulation.

Since the engineering strain in the ZX plane, $\gamma_{zx}$, is equal to two times the tensor shear strain, $\epsilon_{zx}$, it was necessary to multiply the strains output by MOOSE TensorMechanics by two to get the shear stresses, $\tau_{zx}$, which correspond to those determined by [backbone]. Next, the engineering shear stress-strain curve was superimposed over the 100 points, calculated by hand with [curve] and [backbone], as shown in [gqh-backbone-curve]. The backbone curve was obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [#problem-statement]). It is clear from [gqh-backbone-curve] that the analytical solution of the GQ/H model was consistent with the MASTODON one.
Since the engineering strain in the ZX plane, $\gamma_{zx}$, is equal to two times the tensor shear strain, $\epsilon_{zx}$, it was necessary to multiply the strains output by MOOSE TensorMechanics by two to get the shear stresses, $\tau_{zx}$, which correspond to those determined by [backbone]. Next, the engineering shear stress-strain curve was superimposed over the 100 points, calculated by hand with [curve] and [backbone], as shown in [gqh-backbone-curve]. The backbone curve was obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [isoil/problem_statement.md]). It is clear from [gqh-backbone-curve] that the analytical solution of the GQ/H model was consistent with the MASTODON one.

!media media/materials/isoil/GQH_backbone.png
id=gqh-backbone-curve
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ To conserve dynamic equilibrium in the first time-step, the element was initiali
\sigma_{initial}=[-12613\,\,\,\,0\,\,\,\,0\,\,\,\,0\,\,\,\,-12613\,\,\,\,0\,\,\,\,0\,\,\,\,0\,\,\,\,-29430]^{\mathrm{T}}\,\,\,\text{Pa}
\end{equation}

Then a body force equal to three times the force of gravity was applied thereby increasing the vertical pressure experienced by the element. Finally a ramp displacement was applied in the manner described in [#problem-statement].
Then a body force equal to three times the force of gravity was applied thereby increasing the vertical pressure experienced by the element. Finally a ramp displacement was applied in the manner described in [isoil/problem_statement.md].

I-Soil is capable of varying the shear yield strength and the shear modulus as a function of engineering strain, $\gamma$, mean effective stress, $p$, a specified reference pressure, $p_{ref}$, and a tension pressure cutoff value, $p_0<0$. Assuming positive compression, MASTODON computes the mean effective stress as

Expand Down Expand Up @@ -65,7 +65,7 @@ The five cases described in [strength-cases] were used to investigate the behavi

#### Results

The engineering shear stress-strain backbone curve results for Cases 1, 2, and 3 are presented in [strength-comparison1], and those for Cases 2, 4, and 5 are presented in [strength-comparison2]. Both figures show their results along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [#problem-statement]). It can be seen in [strength-comparison1] and [strength-comparison2] that MASTODON effectively modifies the shear strength. In some cases, stiffness changes on those strain increments for which the mean effective stress exceeds $\tau_{y}(p,\gamma)$ can also be observed in these two figures, even though $b=0$. This is reasoned by the fact that, at a constant rate of strain, a change in strength of a material naturally (and numerically) leads to one in stiffness.
The engineering shear stress-strain backbone curve results for Cases 1, 2, and 3 are presented in [strength-comparison1], and those for Cases 2, 4, and 5 are presented in [strength-comparison2]. Both figures show their results along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [isoil/problem_statement.md]). It can be seen in [strength-comparison1] and [strength-comparison2] that MASTODON effectively modifies the shear strength. In some cases, stiffness changes on those strain increments for which the mean effective stress exceeds $\tau_{y}(p,\gamma)$ can also be observed in these two figures, even though $b=0$. This is reasoned by the fact that, at a constant rate of strain, a change in strength of a material naturally (and numerically) leads to one in stiffness.

!media media/materials/isoil/pressure_dependent_strength1.png
id=strength-comparison1
Expand Down Expand Up @@ -94,7 +94,7 @@ The three cases described in [stiffness-cases] were used to investigate the beha

#### Results

The engineering shear stress-strain backbone curve results for all cases are presented in [stiffness-comparison]. The results are shown along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [#problem-statement]). It can be seen in [stiffness-comparison] that MASTODON effectively modifies the shear modulus. For reasons similar to why the curves shown in [strength-comparison1] and [strength-comparison2] exhibit stiffness changes, strength changes, particularly at the lower strains of Case 1 and Case 2, can also be observed in this figure, even though $a_{0}=1$, $a_{1}=0$, and $a_{2}=0$. However, the ultimate shear strength at which the material completely fails, which corresponds to the maximum stress value defined by the backbone curve ([p-ref-backbone-input]), remains the same.
The engineering shear stress-strain backbone curve results for all cases are presented in [stiffness-comparison]. The results are shown along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [isoil/problem_statement.md]). It can be seen in [stiffness-comparison] that MASTODON effectively modifies the shear modulus. For reasons similar to why the curves shown in [strength-comparison1] and [strength-comparison2] exhibit stiffness changes, strength changes, particularly at the lower strains of Case 1 and Case 2, can also be observed in this figure, even though $a_{0}=1$, $a_{1}=0$, and $a_{2}=0$. However, the ultimate shear strength at which the material completely fails, which corresponds to the maximum stress value defined by the backbone curve ([p-ref-backbone-input]), remains the same.

!media media/materials/isoil/pressure_dependent_stiffness.png
id=stiffness-comparison
Expand All @@ -118,7 +118,7 @@ The two cases described in [strength-stiffness-cases] were used to simultaneousl

#### Results

The engineering shear stress-strain backbone curve results for both cases are presented in [strength-stiffness-comparison]. The results are shown along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [#problem-statement]). It can be seen in [strength-stiffness-comparison] that MASTODON effectively modifies both the strength and stiffness for a particular strain increment. Specifically, one should compare the curve shown in this figure to those in [strength-comparison1], [strength-comparison2], and [stiffness-comparison].
The engineering shear stress-strain backbone curve results for both cases are presented in [strength-stiffness-comparison]. The results are shown along with the user-defined backbone curve shown in [p-ref-backbone-input]. The backbone curves were obtained in MOOSE by sampling the data during the initial load cycle, i.e., from 3 seconds to 4 seconds (see [isoil/problem_statement.md]). It can be seen in [strength-stiffness-comparison] that MASTODON effectively modifies both the strength and stiffness for a particular strain increment. Specifically, one should compare the curve shown in this figure to those in [strength-comparison1], [strength-comparison2], and [stiffness-comparison].

!media media/materials/isoil/stiffness_and_strength_pressure_dependency.png
id=strength-stiffness-comparison
Expand Down
Loading