From dc8d5652c69b1678c434b3b7afbfb35f36805220 Mon Sep 17 00:00:00 2001 From: "Icenhour, Casey Tyler" Date: Wed, 17 May 2023 09:49:55 -0600 Subject: [PATCH] Add more content to SQA pages (#73) Still have system purpose/scope to do. --- doc/config.yml | 7 ++- doc/content/development/code_standards.md | 21 -------- doc/content/sqa/malamute_cci.md | 12 +++++ doc/content/sqa/malamute_rtm.md | 8 +++ doc/content/sqa/malamute_scs.md | 25 +++++++++ doc/content/sqa/malamute_sdd.md | 62 +++++++++++++++++++++++ doc/content/sqa/malamute_srs.md | 45 ++++++++++++++++ doc/sqa_reports.yml | 4 +- 8 files changed, 159 insertions(+), 25 deletions(-) delete mode 100644 doc/content/development/code_standards.md diff --git a/doc/config.yml b/doc/config.yml index c65b28cf..4bd3f8d4 100644 --- a/doc/config.yml +++ b/doc/config.yml @@ -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 @@ -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/ @@ -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 @@ -69,3 +71,4 @@ Extensions: - batten1997average - hales15homogenization - kim_phase-field_1999 + - popp2014dual diff --git a/doc/content/development/code_standards.md b/doc/content/development/code_standards.md deleted file mode 100644 index 4b4ef150..00000000 --- a/doc/content/development/code_standards.md +++ /dev/null @@ -1,21 +0,0 @@ -# MALAMUTE Code Standards - -!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 [] -``` - -to automatically format code changed between your currently checked-out branch -and `` (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). - -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). diff --git a/doc/content/sqa/malamute_cci.md b/doc/content/sqa/malamute_cci.md index cb19b721..e51109e5 100644 --- a/doc/content/sqa/malamute_cci.md +++ b/doc/content/sqa/malamute_cci.md @@ -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}}. diff --git a/doc/content/sqa/malamute_rtm.md b/doc/content/sqa/malamute_rtm.md index 334105d2..0f716b5f 100644 --- a/doc/content/sqa/malamute_rtm.md +++ b/doc/content/sqa/malamute_rtm.md @@ -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! diff --git a/doc/content/sqa/malamute_scs.md b/doc/content/sqa/malamute_scs.md index 472406b7..4f579861 100644 --- a/doc/content/sqa/malamute_scs.md +++ b/doc/content/sqa/malamute_scs.md @@ -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 [] +``` + +to automatically format code changed between your currently checked-out branch +and `` (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). diff --git a/doc/content/sqa/malamute_sdd.md b/doc/content/sqa/malamute_sdd.md index c918abf0..06f1637f 100644 --- a/doc/content/sqa/malamute_sdd.md +++ b/doc/content/sqa/malamute_sdd.md @@ -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! diff --git a/doc/content/sqa/malamute_srs.md b/doc/content/sqa/malamute_srs.md index 0695e17b..67526979 100644 --- a/doc/content/sqa/malamute_srs.md +++ b/doc/content/sqa/malamute_srs.md @@ -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. diff --git a/doc/sqa_reports.yml b/doc/sqa_reports.yml index 9f2526e7..fac7446f 100644 --- a/doc/sqa_reports.yml +++ b/doc/sqa_reports.yml @@ -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: @@ -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