-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #74 from cticenhour/sqa-73
Fill in MALAMUTE SQA documents
- Loading branch information
Showing
23 changed files
with
240 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
AM: advanced manufacturing | ||
EFAS: electric field-assisted sintering | ||
SPS: spark plasma sintering |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
!template load file=sqa/app_index.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_index.md.template app=MALAMUTE category=malamute |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,13 @@ | ||
!template load file=sqa/app_cci.md.template app=MalamuteApp category=malamute | ||
!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 inquiries. | ||
|
||
!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}}. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
!template load file=sqa/app_far.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_far.md.template app=MALAMUTE category=malamute |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,9 @@ | ||
!template load file=sqa/app_rtm.md.template app=MalamuteApp category=malamute | ||
!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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,26 @@ | ||
!template load file=sqa/app_scs.md.template app=MalamuteApp category=malamute | ||
!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). | ||
|
||
## MALAMUTE Code Standards | ||
|
||
!style halign=left | ||
MALAMUTE follows the MOOSE code standards for all development. For information on file guidelines, naming conventions, example code, | ||
doxygen documentation, and other tips, please see | ||
[the MOOSE standard here](sqa/framework_scs.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,63 @@ | ||
!template load file=sqa/app_sdd.md.template app=MalamuteApp category=malamute | ||
!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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
!template load file=sqa/app_sll.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_sll.md.template app=MALAMUTE category=malamute |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,65 @@ | ||
!template load file=sqa/app_srs.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_srs.md.template app=MALAMUTE category=malamute | ||
|
||
!template! item key=system-scope | ||
!! system-scope-begin | ||
|
||
MALAMUTE performs simulations related to [!ac](AM) processes. These models often include highly coupled | ||
systems of equations related to heat conduction, electromagnetics, Navier Stokes, mechanics, and surface | ||
morphology, amongst others. Material models are also included to support these simulations (such as | ||
graphite and stainless steel), and they themselves are often dependent on simulation variables: temperature, | ||
electromagnetic field strength, stress/strain, etc. While many models within MALAMUTE are performed | ||
at the "engineering scale" (i.e., at the scale of centimeters and meters), the [syntax/MultiApps/index.md] | ||
can be leveraged to allow for multiscale coupling to the micro- and nano-scale of a given experiment. | ||
This allows for not only experimental process design and evaluation at the operator level but also | ||
evaluation of a process on the formation of a part and the experiment's end result. | ||
|
||
In addition to modeling full experiments (like in [!ac](EFAS)), MALAMUTE also contains building blocks | ||
for use in larger manufacturing models or as individual studies, such as directed energy deposition | ||
and laser welding (with surface deformation and melting). Mechanics models for pressing procedures are | ||
also under development. | ||
|
||
!! system-scope-finish | ||
!template-end! | ||
|
||
!template! item key=system-purpose | ||
!! system-purpose-begin | ||
The purpose of MALAMUTE is to serve as a simulation platform and library for a variety of advanced | ||
manufacturing (AM) processes and to connect the microscale characteristics and evolution of materials | ||
with their engineering-scale, post-manufacture performance. MALAMUTE currently simulates several main | ||
[!ac](AM) processes, including: [!ac](EFAS) (also known as [!ac](SPS)), directed energy deposition, | ||
and surface melting. MALAMUTE's main goal is to bring together the combined multiphysics capabilities | ||
of the [!ac](MOOSE) ecosystem to provide an open platform for future research in novel materials development | ||
and [!ac](AM) technologies. | ||
!! 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
!template load file=sqa/app_stp.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_stp.md.template app=MALAMUTE category=malamute |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
!template load file=sqa/app_vvr.md.template app=MalamuteApp category=malamute | ||
!template load file=sqa/app_vvr.md.template app=MALAMUTE category=malamute |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.