-
Notifications
You must be signed in to change notification settings - Fork 7
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 #31 from cticenhour/sqa-doco
Fill in empty fields in SQA documentation
- Loading branch information
Showing
9 changed files
with
173 additions
and
8 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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,13 @@ | ||
!template load file=sqa/app_rtm.md.template app=FENIX category=fenix | ||
!template load file=sqa/app_rtm.md.template app=FENIX category=fenix | ||
|
||
!template! item key=system-scope | ||
!include fenix_srs.md start=system-scope-begin end=system-scope-finish | ||
!template-end! | ||
|
||
!template! item key=system-purpose | ||
!include fenix_srs.md start=system-purpose-begin end=system-purpose-finish | ||
!template-end! | ||
|
||
!template! item key=log-revisions | ||
Currently, no errors in issue references related to the changelog have been discovered. | ||
!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,57 @@ | ||
!template load file=sqa/app_sdd.md.template app=FENIX category=fenix | ||
!template load file=sqa/app_sdd.md.template app=FENIX category=fenix | ||
|
||
!template! item key=introduction | ||
Many of the phenomena related to fusion energy systems 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. [!ac]({{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 [!ac]({{app}}). | ||
!template-end! | ||
|
||
!template! item key=system-scope | ||
!include fenix_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 | ||
Stakeholders for [!ac]({{app}}) include several of the funding sources including [!ac](DOE) and [!ac](INL). | ||
However, since [!ac]({{app}}) is an open-source project, several universities, companies, and foreign | ||
governments have an interest in the development and maintenance of the [!ac]({{app}}) project. | ||
!template-end! | ||
|
||
!template! item key=system-design | ||
[!ac]({{app}}) relies on MOOSE to solve the coupled physics models underlying fusion energy systems, | ||
accounting for the couplings that may occur between various components and sub-systems of this class | ||
of devices. The design of MOOSE is based on the concept of modular code objects that define all of | ||
the aspects of the physics model. [!ac]({{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. [!ac]({{app}}) provides specialized | ||
[UserObject](syntax/UserObjects/index.md) classes that compute data for velocity updating, charge | ||
accumulation, and [Ray](source/raytracing/Ray.md) data necessary for simple [!ac](PIC) simulations. | ||
It also provides specialized utilities for accumulating field data on rays. Much of the remaining | ||
functionality is provided by MOOSE modules (electromagnetics, ray tracing), the | ||
[Cardinal](https://cardinal.cels.anl.gov/) application ([!ac](CFD) and Monte Carlo radiation transport), | ||
and the [Tritium Migration Analysis Program Version 8 (TMAP8)](https://mooseframework.inl.gov/TMAP8) | ||
application (tritium migration) that [!ac]({{app}}) builds on. | ||
!template-end! | ||
|
||
!template! item key=system-structure | ||
[!ac]({{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 [!ac]({{app}}) operation are shown below: | ||
|
||
- [Electromagnetics](electromagnetics/index.md) | ||
- [Ray Tracing](ray_tracing/index.md) | ||
|
||
The structure of [!ac]({{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 fusion device | ||
modeling and simulation. By using the interfaces defined in MOOSE base classes for these classes, | ||
[!ac]({{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 |
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,84 @@ | ||
!template load file=sqa/app_srs.md.template app=FENIX category=fenix | ||
!template load file=sqa/app_srs.md.template app=FENIX category=fenix | ||
|
||
!template! item key=system-scope | ||
!! system-scope-begin | ||
FENIX is an application for performing system-level, engineering scale (i.e., at the scale of | ||
centimeters and meters), and microstructure-scale (i.e., at the scale of microns) multiphysics | ||
calculations related to fusion energy systems. These models often include highly coupled systems of | ||
equations related to plasma physics, electromagnetics, heat conduction, scalar transport, thermal | ||
hydraulics, [!ac](CFD), and thermomechanics, amongst others. Interfaces to other MOOSE-based codes, | ||
including tritium transport (TMAP8) and neutronics (Cardinal) are also included to support FENIX | ||
simulations. FENIX will enable high-fidelity modeling of irradiation levels and plasma exposure | ||
conditions of plasma facing components and their impact on heat and tritium distributions, as well | ||
as the resulting mechanical constraints experienced by the plasma facing components. The [syntax/MultiApps/index.md] | ||
is leveraged to allow for the multiscale, multiphysics coupling. Further, other MOOSE capabilities | ||
(such as the stochastic tools module) will eventually enable engineering studies, allowing for extended | ||
uncertainty quantification and risk analysis studies for particular system designs. Interfaces for | ||
[!ac](CAD) meshing workflows to model complex geometries are also included. FENIX therefore supports | ||
design, safety, engineering, and research projects. | ||
!! system-scope-finish | ||
!template-end! | ||
|
||
!template! item key=system-purpose | ||
!! system-purpose-begin | ||
The purpose of FENIX is to perform fully integrated, high-fidelity, multiphysics simulations of fusion | ||
energy systems and devices at different length scales with a variety of materials, system configurations, | ||
and component designs in order to better understand component degradation and operational impacts on | ||
system performance. FENIX's main goal is to bring together the combined multiphysics capabilities of | ||
the [!ac](MOOSE) ecosystem to provide an open platform for future research, safety assessment, | ||
engineering, and design studies of fusion energy systems. | ||
!! system-purpose-finish | ||
!template-end! | ||
|
||
!template! item key=assumptions-and-dependencies | ||
[!ac]({{app}}) has no constraints on hardware and software beyond those of the MOOSE framework and | ||
modules listed in their respective [!ac](SRS) documents, which are accessible through the links at | ||
the beginning of this document. | ||
|
||
[!ac]({{app}}) provides access to a number of code objects that perform computations, such as particle | ||
transport, 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 | ||
[!ac]({{app}}) has three main classes of users: | ||
|
||
- +[!ac]({{app}}) Developers+: These are the core developers of [!ac]({{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 [!ac]({{app}}) | ||
for their own purposes, which may include research or extending its capabilities. They will typically | ||
have a background in fusion energy sciences, plasma physics, tritium migration, radiation transport, | ||
heat conduction, and/or material science as well as 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 [!ac]({{app}}). | ||
- +Analysts+: These are users that run [!ac]({{app}}) to run simulations, but do not develop code. | ||
The primary interface of these users with [!ac]({{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 | ||
[!ac]({{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 [!ac]({{app}}) source code. However, some [!ac](MOOSE)-based applications that use the [!ac]({{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 90% of all lines of code at all times. Known | ||
regressions will be recorded and tracked (see [#maintainability]) to an independent and | ||
satisfactory resolution. | ||
!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,5 @@ | ||
!template load file=sqa/app_vvr.md.template app=FENIX category=fenix | ||
!template load file=sqa/app_vvr.md.template app=FENIX category=fenix | ||
|
||
!template! item key=introduction | ||
The [!ac](VVR) for {{app}} provides evidence that {{app}} fulfills its intended purpose. | ||
!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 |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# FENIX Theory Manual | ||
|
||
Documentation for all the theory supporting FENIX is contained in the [syntax/index.md] page. |
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 @@ | ||
# FENIX User Manual | ||
|
||
Documentation for all FENIX input file objects, and how they can be used in the creation of a simulation, is contained in the [syntax/index.md] page. |
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