Skip to content

Commit

Permalink
Add more content to SQA pages (idaholab#73)
Browse files Browse the repository at this point in the history
Still have system purpose/scope to do.
  • Loading branch information
cticenhour committed May 17, 2023
1 parent e341904 commit dc8d565
Show file tree
Hide file tree
Showing 8 changed files with 159 additions and 25 deletions.
7 changes: 5 additions & 2 deletions doc/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Content:
- ${MOOSE_DIR}/modules/fluid_properties/doc/content # pulled in by navier_stokes
- ${MOOSE_DIR}/modules/heat_conduction/doc/content
- ${MOOSE_DIR}/modules/level_set/doc/content
- ${MOOSE_DIR}/modules/misc/doc/content
- ${MOOSE_DIR}/modules/navier_stokes/doc/content
- ${MOOSE_DIR}/modules/phase_field/doc/content
- ${MOOSE_DIR}/modules/ray_tracing/doc/content # pulled in by heat_conduction
Expand All @@ -30,7 +31,7 @@ Extensions:
Documentation and Resources:
Complete Code Manual: syntax/index.md
Thermal Contact Verification: verification/thermal_contact_verification.md
Code Standards: development/code_standards.md
Code Standards: sqa/malamute_scs.md
Developer Information Links: development/moose_developer_info.md
Software Quality Assurance (SQA) Information: /sqa/index.md
Code Coverage: https://mooseframework.inl.gov/malamute/docs/coverage/
Expand All @@ -52,12 +53,13 @@ Extensions:
electromagnetics: !include ${MOOSE_DIR}/modules/electromagnetics/doc/sqa_electromagnetics.yml
fluid_properties: !include ${MOOSE_DIR}/modules/fluid_properties/doc/sqa_fluid_properties.yml
heat_conduction: !include ${MOOSE_DIR}/modules/heat_conduction/doc/sqa_heat_conduction.yml
level_set: !include ${MOOSE_DIR}/modules/level_set/doc/sqa_level_set.yml
misc: !include ${MOOSE_DIR}/modules/misc/doc/sqa_misc.yml
navier_stokes: !include ${MOOSE_DIR}/modules/navier_stokes/doc/sqa_navier_stokes.yml
phase_field: !include ${MOOSE_DIR}/modules/phase_field/doc/sqa_phase_field.yml
ray_tracing: !include ${MOOSE_DIR}/modules/ray_tracing/doc/sqa_ray_tracing.yml
rdg: !include ${MOOSE_DIR}/modules/rdg/doc/sqa_rdg.yml
tensor_mechanics: !include ${MOOSE_DIR}/modules/tensor_mechanics/doc/sqa_tensor_mechanics.yml
level_set: !include ${MOOSE_DIR}/modules/level_set/doc/sqa_level_set.yml
reports: !include ${ROOT_DIR}/doc/sqa_reports.yml
repos:
default: https://github.com/idaholab/malamute
Expand All @@ -69,3 +71,4 @@ Extensions:
- batten1997average
- hales15homogenization
- kim_phase-field_1999
- popp2014dual
21 changes: 0 additions & 21 deletions doc/content/development/code_standards.md

This file was deleted.

12 changes: 12 additions & 0 deletions doc/content/sqa/malamute_cci.md
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
!template load file=sqa/app_cci.md.template app=MALAMUTE category=malamute

!template item key=general-communication
Please use the [{{app}} Discussion forum](https://github.com/idaholab/{{category}}/discussions) for all
questions and inquires.

!template item key=problem-reporting
If you are having a problem with a specific release of {{app}} please contact the team
using the [{{app}} Discussion forum](https://github.com/idaholab/{{category}}/discussions) and be sure
to include the release information with the inquiry.

!template item key=contributing
With the exception of the location of the [code repository for {{app}}](https://github.com/idaholab/{{category}}), the same processes outlined in the instructions for contributing to the MOOSE framework [framework/contributing.md] apply for contributing to {{app}}.
8 changes: 8 additions & 0 deletions doc/content/sqa/malamute_rtm.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
!template load file=sqa/app_rtm.md.template app=MALAMUTE category=malamute

!template! item key=system-scope
!include malamute_srs.md start=system-scope-begin end=system-scope-finish
!template-end!

!template! item key=system-purpose
!include malamute_srs.md start=system-purpose-begin end=system-purpose-finish
!template-end!
25 changes: 25 additions & 0 deletions doc/content/sqa/malamute_scs.md
Original file line number Diff line number Diff line change
@@ -1 +1,26 @@
!template load file=sqa/app_scs.md.template app=MALAMUTE category=malamute

## Clang Format

!style halign=left
Like MOOSE, MALAMUTE uses `clang-format` with a customized
[config file](https://github.com/idaholab/malamute/blob/devel/.clang-format)
for code formatting. If you have clang installed, you can run

```
git clang-format [<branch>]
```

to automatically format code changed between your currently checked-out branch
and `<branch>` (if left out, it defaults to the `HEAD` commit). If you don't do
this before submitting your code, don't worry! The continuous integration
testing system, [CIVET](https://civet.inl.gov), that is triggered when
you submit a pull request will check your code and provide information on the
changes needed to conform to the code style (if any).

## MOOSE Code Standard

!style halign=left
For extended information on file guidelines, naming conventions, example code,
doxygen documentation, and other tips, please see
[the MOOSE Code Standards](sqa/framework_scs.md).
62 changes: 62 additions & 0 deletions doc/content/sqa/malamute_sdd.md
Original file line number Diff line number Diff line change
@@ -1 +1,63 @@
!template load file=sqa/app_sdd.md.template app=MALAMUTE category=malamute

!template! item key=introduction
Many of the phenomena related to advanced manufacturing processes depend on the solutions of multiple
physics models, which can be described by partial differential equations that provide spatially and
temporally varying values of solution variables. These models for individual physics often depend on
each other. {{app}} relies on the MOOSE framework to solve these physics models, accounting for the
couplings that may occur between them. This document describes the system design of {{app}}.
!template-end!

!template! item key=system-scope
!include malamute_srs.md start=system-scope-begin end=system-scope-finish
!template-end!

!template! item key=dependencies-and-limitations
{{app}} inherits the [software dependencies of the MOOSE framework](framework_sdd.md#dependencies-and-limitations),
with no additional dependencies.
!template-end!

!template! item key=design-stakeholders
!include framework_sdd.md start=design-stakeholders-begin end=design-stakeholders-finish
!template-end!

!template! item key=system-design
{{app}} relies on MOOSE to solve the coupled physics models underlying advanced manufacturing processes,
accounting for the couplings that may occur between them. The design of MOOSE is based on the concept
of modular code objects that define all of the aspects of the physics model. {{app}} 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.

{{app}} provides specialized `Kernel` classes that compute the contributions from the terms in the
partial differential equations for heat conduction and electric current transport in an electric field
assisted sintering apparatus; the heat conduction, fluid flow, and surface deformation of a melt pool
and laser welding; and for simulating directed energy deposition (DED) processes. It also provides
specialized `Material` classes that define the constitutive behavior of materials of interest for
sintering, DED, melt pools, and the level set method. In addition, it provides miscellaneous `BC` and
`InterfaceKernel` classes to facilitate various aspects of these simulations. Much of the functionality
of {{app}} is provided by the MOOSE modules that it builds on.
!template-end!

!template! item key=system-structure
{{app}} relies on the MOOSE framework to provide the core functionality of solving multiphysics problems
using the finite element method. It also relies on the MOOSE modules for much of its core functionality.
A summary listing of the current modules required for complete MALAMUTE operation are shown below:

- [Contact](contact/index.md)
- [Electromagnetics](electromagnetics/index.md)
- [Heat Conduction](heat_conduction/index.md)
- [Level Set](level_set/index.md)
- [Miscellaneous Module](misc/index.md)
- [Navier Stokes](navier_stokes/index.md)
- [Phase Field](phase_field/index.md)
- [Tensor Mechanics](tensor_mechanics/index.md)

The structure of {{app}} is based on defining C++ classes that derive from classes in the MOOSE framework
or modules that provide functionality that is specifically tailored to the structural degradation
problem. By using the interfaces defined in MOOSE base classes for these classes, {{app}} 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.
!template-end!

!syntax complete subsystems=False actions=False objects=False
!template-end!
45 changes: 45 additions & 0 deletions doc/content/sqa/malamute_srs.md
Original file line number Diff line number Diff line change
@@ -1 +1,46 @@
!template load file=sqa/app_srs.md.template app=MALAMUTE category=malamute

!template! item key=system-scope
!! system-scope-begin

MALAMUTE models....

!! system-scope-finish
!template-end!

!template! item key=system-purpose
!! system-purpose-begin
The purpose of MALAMUTE is to simulate....
!! system-purpose-finish
!template-end!

!template! item key=assumptions-and-dependencies
{{app}} has no constraints on hardware and software beyond those of the MOOSE framework and modules listed in their respective SRS documents, which are accessible through the links at the beginning of this document.

{{app}} provides access to a number of code objects that perform computations such as material behavior and boundary conditions. These objects each make their own physics-based assumptions, such as the units of the inputs and outputs. Those assumptions are described in the documentation for those individual objects.
!template-end!

!template! item key=user-characteristics
{{app}} has three main classes of users:

- +{{app}} Developers+: These are the core developers of {{app}}. They are responsible for designing, implementing, and maintaining the software, while following and enforcing its software development standards.
- +Developers+: These are scientists or engineers that modify or add capabilities to {{app}} for their own purposes, which may include research or extending its capabilities. They will typically have a background in structural or mechanical engineering, and in modeling and simulation techniques, but may have more limited background in code development using the C++ language. In many cases, these developers will be encouraged to contribute code back to {{app}}.
- +Analysts+: These are users that run {{app}} to run simulations, but do not develop code. The primary interface of these users with {{app}} is the input files that define their simulations. These users may interact with developers of the system requesting new features and reporting bugs found.
!template-end!

!template! item key=information-management
{{app}} as well as the core MOOSE framework in its entirety will be made publicly available on an appropriate repository hosting site. Day-to-day backups and security services will be provided by the hosting service. More information about backups of the public repository on [!ac](INL)-hosted services can be found on the following page: [sqa/github_backup.md]
!template-end!

!template! item key=policies-and-regulations
!include framework_srs.md start=policies-and-regulations-begin end=policies-and-regulations-finish
!template-end!

!template! item key=packaging
No special requirements are needed for packaging or shipping any media containing the [!ac](MOOSE) and {{app}} source code. However, some [!ac](MOOSE)-based applications that use the {{app}} code may be export-controlled, in which case all export control restrictions must be adhered to when packaging and shipping media.
!template-end!

!template item key=reliability
The regression test suite will cover at least 65% of all lines of code at all times. Known
regressions will be recorded and tracked (see [#maintainability]) to an independent and
satisfactory resolution.
4 changes: 2 additions & 2 deletions doc/sqa_reports.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Documents:
failure_analysis_report: sqa/malamute_far.md
software_library_list: sqa/malamute_sll.md
communication_and_contact_information: sqa/malamute_cci.md
software_coding_standards: development/code_standards.md
software_coding_standards: sqa/malamute_scs.md
log_default: WARNING
show_warning: false
working_dirs:
Expand All @@ -41,12 +41,12 @@ Requirements:
- ${MOOSE_DIR}/modules/fluid_properties/doc/content # pulled in by navier_stokes
- ${MOOSE_DIR}/modules/heat_conduction/doc/content
- ${MOOSE_DIR}/modules/level_set/doc/content
- ${MOOSE_DIR}/modules/misc/doc/content
- ${MOOSE_DIR}/modules/navier_stokes/doc/content
- ${MOOSE_DIR}/modules/phase_field/doc/content
- ${MOOSE_DIR}/modules/ray_tracing/doc/content # pulled in by heat_conduction
- ${MOOSE_DIR}/modules/rdg/doc/content # pulled in by navier_stokes
- ${MOOSE_DIR}/modules/tensor_mechanics/doc/content
- ${MOOSE_DIR}/modules/level_set/doc/content
directories:
- ${ROOT_DIR}/test
log_default: WARNING
Expand Down

0 comments on commit dc8d565

Please sign in to comment.