Contact System Design Description

This template follows INL template TEM-140, "IT System Design Description."

commentnote

This document serves as an addendum to Framework System Design Description and captures information for SDD specific to the Contact module.

Introduction

In simulations of deformable bodies, it is often important to impose constraints on the solutions to ensure that the bodies do not interpenetrate, and to appropriately represent the physical behavior of the interacting surfaces. The MOOSE Contact module provides the capabilities to enforce these mechanical constraints in simulations of deformable bodies. This module relies on MOOSE for solving its system of equations, and works in conjunction with models for the deformation of those bodies provided by the Solid Mechanics module. This document describes the system design of the Contact module.

System Purpose

The Software Design Description provided here is description of each object in the system. The pluggable architecture of the underlying framework of the Contact module makes MOOSE and MOOSE-based applications straightforward to develop as each piece of end-user (developer) code that goes into the system follows a well-defined interface for the underlying systems that those object plug into. These descriptions are provided through developer-supplied "markdown" files that are required for all new objects that are developed as part of the Contact module. More information about the design documentation for MOOSE-based applications and like the Contact module can be found in Documenting MOOSE.

System Scope

The MOOSE Contact module provides capabilities for enforcing a variety of types of mechanical contact constraints between surfaces on deforming bodies. These constraints typically enforce the condition that the two surfaces do not penetrate each other. They can also optionally enforce that the two surfaces do not separate or slide relative to each other, or allow for slip only when the frictional capacity has been reached. Multiple methods are provided for enforcing these constraints, including node-on-face and mortar-based formulations. In addition to providing the capabilities for enforcing contact constraints, the Contact module also provides various supporting tools to facilitate setting up these models and outputting the results related to contact.

Dependencies and Limitations

The MOOSE Contact module inherits the software dependencies of the MOOSE framework and Solid Mechanics module with no additional dependencies.

Definitions and Acronyms

This section defines, or provides the definition of, all terms and acronyms required to properly understand this specification.

Definitions

  • Pull (Merge) Request: A proposed change to the software (e.g. usually a code change, but may also include documentation, requirements, design, and/or testing).

  • Baseline: A specification or product (e.g., project plan, maintenance and operations (M&O) plan, requirements, or design) that has been formally reviewed and agreed upon, that thereafter serves as the basis for use and further development, and that can be changed only by using an approved change control process (NQA-1, 2009).

  • Validation: Confirmation, through the provision of objective evidence (e.g., acceptance test), that the requirements for a specific intended use or application have been fulfilled (24765:2010(E), 2010).

  • Verification: (1) The process of: evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. (2) Formal proof of program correctness (e.g., requirements, design, implementation reviews, system tests) (24765:2010(E), 2010).

Acronyms

AcronymDescription
APIApplication Programming Interface
DOE-NEDepartment of Energy, Nuclear Energy
FEfinite element
HITHierarchical Input Text
HPCHigh Performance Computing
I/OInput/Output
INLIdaho National Laboratory
MOOSEMultiphysics Object Oriented Simulation Environment
MPIMessage Passing Interface
SDDSoftware Design Description

Design Stakeholders and Concerns

Design Stakeholders

Stakeholders for MOOSE include several of the funding sources including DOE-NE and the INL. However, Since MOOSE is an open-source project, several universities, companies, and foreign governments have an interest in the development and maintenance of the MOOSE project.

Stakeholder Design Concerns

Concerns from many of the stakeholders are similar. These concerns include correctness, stability, and performance. The mitigation plan for each of these can be addressed. For correctness, Contact module development requires either regression or unit testing for all new code added to the repository. The project contains several comparisons against analytical solutions where possible and also other verification methods such as MMS. For stability, the Contact module (located within the MOOSE repository) maintains multiple branches to incorporate several layers of testing both internally and for dependent applications. Finally, performance tests are also performed as part of the the normal testing suite to monitor code change impacts to performance.

System Design

The MOOSE Contact module relies on MOOSE to solve the equilibrium equations for mechanical deformation, taking into account the additional conditions imposed for mechanical contact enforcement. The design of MOOSE is based on the concept of modular code objects that define all of the aspects of the physics model. This module 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.

The Contact module provides specialized Constraint classes that perform the majority of the effort involved in contact enforcement. This module is designed to work in conjunction with models provided outside this module, typically by the Solid Mechanics module, that solve the equilibrium equations for mechanical deformation of the bodies, and augments those solutions with the terms due to contact. It also provides other Action, AuxKernel, Damper, LineSearch, Postprocessor, Problem, Split, and UserObject classes to facilitate various aspects of these simulations.

System Structure

The MOOSE Contact module relies on the MOOSE framework to provide the core functionality of solving multiphysics problems using the finite element method, and on the Solid Mechanics module to provide the models for mechanical deformation of the interacting bodies. The structure of the Contact module is based on defining C++ classes that derive from classes in the MOOSE framework to provide functionality for mechanical contact enforcement. By using the interfaces defined in MOOSE base classes for these classes, this module 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.

Data Design and Control

At a high level, the system is designed to process HIT input files to construct several objects that will constitute an FE simulation. Some of the objects in the simulation may in turn load other file-based resources to complete the simulation. Examples include meshes or data files. The system will then assemble systems of equations and solve them using the libraries of the Code Platform. The system can then output the solution in one or more supported output formats commonly used for visualization.

Human-Machine Interface Design

The Contact module is a command-line driven program. All interaction with the Contact module is ultimately done through the command line. This is typical for HPC applications that use the MPI interface for running on super computing clusters. Optional GUIs may be used to assist in creating input files and launching executables on the command line.

System Design Interface

All external system interaction is performed either through file I/O or through local API calls. Neither the Contact module, nor the MOOSE framework, nor the other MOOSE modules are designed to interact with any external system directly through remote procedure calls. Any code to code coupling performed using the framework are done directly through API calls either in a static binary or after loading shared libraries.

Security Structure

The Contact module does not require any elevated privileges to operate and does not run any stateful services, daemons or other network programs. Distributed runs rely on the MPI library.

Requirements Cross-Reference

  • contact: Constraints System
  • 3.1.1The system shall solve a 3D frictionless bouncing block problem with mortar constraint

    Specification(s): frictionless-mortar-3d

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.2The system shall solve a 3D frictionless bouncing block problem with mortar constraint using Petrov-Galerkin approach.

    Specification(s): frictionless-mortar-3d_pg

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.3The system shall solve a 3D frictionless bouncing block problem with mortar constraints where the primary suface is composed of a single element and the secondary side is composed of first order faces with a required derivative container size of less than 50.

    Specification(s): frictionless-mortar-3d-test-derivative-trimming

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): RunApp

  • 3.1.4The system shall solve a 3D frictionless bouncing block problem with mortar constraint using the contact action.

    Specification(s): frictionless-mortar-3d-action

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.5The system shall solve a 3D frictionless bouncing block problem with mortar constraint using Petrov-Galerkin approach in contact action.

    Specification(s): frictionless-mortar-3d-pg-action

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.6The system shall solve a 3D frictionless bouncing block problem with mortar constraint using the contact action and selecting the temporary flag correct edge dropping.

    Specification(s): frictionless-mortar-3d-action-correct-edge-dropping

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.7The system shall solve a 3D frictionless bouncing block problem with mortar constraint and output the mortar segment mesh for debugging purposes.

    Specification(s): frictionless-mortar-3d-debug-mesh

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.8The system shall solve a 3D frictional bouncing block problem with mortar constraint using nodal-attached geometry.

    Specification(s): frictional-mortar-3d

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.9The system shall solve a 3D frictional bouncing block problem with mortar constraint using the Petrov-Galerkin approach.

    Specification(s): frictional-mortar-3d-pg

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.10The system shall solve a 3D frictional block problem with mortar constraint using a simple frictional model dependent on relative velocity and contact pressure.

    Specification(s): frictional-mortar-3d-function

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.11The system shall solve a 3D frictional bouncing block problem with mortar constraints using nodal-attached geometry and a frictional pressure vector generated by an auxiliary kernel through a user-friendly action. Results are diffed against non-action output.

    Specification(s): frictional-mortar-3d-action

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.12The system shall solve a 3D frictional bouncing block problem with mortar constraint using the Petrov-Galerkin approach in contact action.

    Specification(s): frictional-mortar-3d-pg-action

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.1.13The system shall generate consistent mortar nodal geometry (normal and tangent vectors) on a spherical surface.

    Specification(s): half_sphere_nodal_geometry

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.14The system shall solve a 3D frictional problem with mortar constraint using a penalty approach

    Specification(s): frictional-mortar-3d-penalty

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.15The system shall solve a 3D frictionless problem with mortar constraint using a penalty approach

    Specification(s): frictionless-mortar-3d-penalty

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.1.16The system shall be able to solve a 3D frictional problem with mortar constraint using a augmented Lagrange approach and converging to prescribed tolerance.

    Specification(s): frictional-mortar-3d-al

    Design: Constraints System

    Issue(s): #13080#23802

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.2.1Contact shall be enforced on new nodes created due to mesh refinement

    Specification(s): contact_initial_adaptivity

    Design: Constraints System

    Issue(s): #6799

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.2The node-face discretization with a RANFS formulation for frictionless mechanical contact shall be susceptible to ping-ponging, specifically in this case to a secondary node oscillating back and forth between different primary faces

    Specification(s): ranfs-ping-pong

    Design: Constraints System

    Issue(s): #10950

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 3.3.3The node-face discretization with a kinematic formulation for frictionless mechanical contact shall be susceptible to ping-ponging, specifically in this case to a secondary node oscillating back and forth between different primary faces

    Specification(s): kinematic-ping-pong

    Design: Constraints System

    Issue(s): #10950

    Collection(s): FUNCTIONALFAILURE_ANALYSIS

    Type(s): RunException

  • 3.3.4A variational consistent mortar formulation with dual bases for frictionless mechanical contact shall not show any ping-ponging behavior

    Specification(s): mortar-no-ping-pong_weighted

    Design: Constraints System

    Issue(s): #10950

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.5The system shall be able to solve frictionless mechanical contact using a reduced active nonlinear function set scheme (RANFS) in conjunction with a node-face geometric discretization. The RANFS scheme shall be
    1. nonsingular both with bounds projection and
    2. without bounds projection and be
    3. solvable with amg both with bounds projection
    4. and without bounds projection.
    5. The system's RANFS scheme shall have a perfect Jacobian for mechanical contact that only has one non-zero normal component
    6. The system shall be able to detect when a secondary node is ping-ponging back and forth between different primary faces and consequently tie the locations of the secondary and corresponding primary node using Lagrange Multipliers corresponding to equality constraints, e.g. more RANFS
    7. The system shall be able to solve a smaller model of the full ping-ponging problem

    Specification(s): reduced_active_set/ranfs-project-svd, reduced_active_set/ranfs-dont-project-svd, reduced_active_set/ranfs-project-amg, reduced_active_set/ranfs-dont-project-amg, reduced_active_set/ranfs-jacobian, reduced_active_set/full-bouncing-block, reduced_active_set/bouncing-block

    Design: Constraints System

    Issue(s): #13080#14454

    Collection(s): FUNCTIONAL

    Type(s): ExodiffPetscJacobianTester

  • 3.3.6Using a RANFS scheme with Lagrange multipliers corresponding to equality constraints the system shall be able to
    1. tie nodes together and
    2. have a perfect Jacobian

    Specification(s): tied_node/physics, tied_node/jac

    Design: Constraints System

    Issue(s): #13080#14454

    Collection(s): FUNCTIONAL

    Type(s): ExodiffPetscJacobianTester

  • 3.3.7The system shall support a variationally consistent weighted gap implementation of the zero-penetration contact constraint
    1. using equal, first order bases for displacements and the lagrange multiplier
    2. using a second order basis for displacements and a first order basis for the lagrange multiplier
    3. using equal, first order bases for displacements and the lagrange multiplier with correct edge dropping
    4. using a first order basis for displacements and penalty multiplication times the negative gap distance to form the contact force.
    5. using a first order basis for displacements and penalty multiplication times the negative gap distance to form the contact force via the contact action.

    Specification(s): weighted_gap/equal_order, weighted_gap/mixed_order, weighted_gap/equal_order_edge_dropping, weighted_gap/penalty, weighted_gap/penalty_action

    Design: Constraints System

    Issue(s): #16961

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.8The system shall be able to communicate semilocal weighted gaps back to any process that contributed to computing said weighted gaps.

    Specification(s): very_parallel_penalty

    Design: Constraints System

    Issue(s): #21329

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.9The system shall be able to communicate semilocal weighted gaps and velocities back to any process that contributed to computing said weighted quantities. We check against the serial numerical results.

    Specification(s): very_parallel_frictional_penalty

    Design: Constraints System

    Issue(s): #21329

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.10The system shall support a variationally consistent mortar frictional constraints with dual bases
    1. using verbose input file
    2. using the contact action

    Specification(s): weighted_vel_pdass/verbose, weighted_vel_pdass/action

    Design: Constraints System

    Issue(s): #17495

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.11The system shall be able to solve a frictional, variationally consistent, mortar mechanical contact problem in which the secondary side of the contact interface is split between processes when run in parallel.

    Specification(s): split_secondary

    Design: Constraints System

    Issue(s): #13080#14454

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.12The system shall be able to solve a frictional, variationally consistent, mortar mechanical contact problem in which the secondary side of the contact interface is split between processes when run in parallel while using the contact action to build the set of constraints, user objects, and application of generalized forces.

    Specification(s): split_secondary_action

    Design: Constraints System

    Issue(s): #13080#14454

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.3.13The system shall not attempt to zero Lagrange multipliers that do not exist on inactive nodes.

    Specification(s): mixed_inactive_nodes

    Design: Constraints System

    Issue(s): #13080#14454

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.14.1The system shall be able to apply automatic scaling in conjunection with kinematic contact constraint enforcement and show no penetration and exhibit good nonlinear convergence

    Specification(s): auto-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.14.2The system shall yield the same physical results when solving a kinematic contact problem with and without automatic scaling

    Specification(s): no-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.21.1The system shall be able to compute a soft block bouncing on a soft plank problem on a first order 2D mesh using tensor mechanics and frictional mortar contact
    1. using the finite strain formulation.
    2. using the finite strain formulation for a limited time simulation.
    3. using the finite strain formulation and reference residual.
    4. using the finite strain formulation and reference residual with extra_vector_tags passed to the constraints.

    Specification(s): soft/finite, soft/finite_short, soft/finite_rr, soft/finite_rr_full

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.2The system shall be able to compute a block bouncing on a plank problem on a first order 2D mesh using tensor mechanics and frictional mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.3The system shall be able to compute a soft block bouncing on a soft plank problem on a first order 2D mesh using tensor mechanics with second order elements and frictional mortar contact
    1. using the finite strain formulation.
    2. using the finite strain formulation and reference residual.

    Specification(s): soft_second/finite, soft_second/finite_rr

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.4The system shall be able to compute a block bouncing on a plank problem on a first order 2D mesh using tensor mechanics with second order elements and frictional mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff_second/stiff_stiff, stiff_second/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.5The system shall be able to use automatic differentiation to compute a soft block bouncing on a soft plank problem on a first order 2D mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.
    5. using the small strain formulation and calculate a perfect Jacobian.
    6. using the finite strain formulation and calculate a perfect Jacobian.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr, soft/small-jac, soft/finite-jac

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiffPetscJacobianTester

  • 3.21.6The system shall be able to use automatic differntiation to compute a block bouncing on a plank problem on a first order 2D mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.7The system shall be able to use automatic differntiation to compute a soft block bouncing on a soft plank problem on a second order 2D mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.
    5. using the small strain formulation and calculate a perfect Jacobian.
    6. using the finite strain formulation and calculate a perfect Jacobian.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr, soft/small-jac, soft/finite-jac

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiffPetscJacobianTester

  • 3.21.8The system shall be able to use automatic differntiation to compute a block bouncing on a plank problem on a second order 2D mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.9The system shall be able to compute a soft block bouncing on a soft plank problem on a first order 2D mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation for a limited time simulation.
    4. using the finite strain formulation with automatic scaling.
    5. using the finite strain formulation and reference residual.
    6. using the finite strain formulation and reference residual with extra_vector_tags passed to the constraints.

    Specification(s): soft/small, soft/finite, soft/finite_short, soft/finite_scaling, soft/finite_rr, soft/finite_rr_full

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.10The system shall be able to compute a block bouncing on a plank problem on a first order 2D mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.11The system shall be able to compute a soft block bouncing on a soft plank problem on a second order 2D mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.12The system shall be able to compute a block bouncing on a plank problem on a second order 2D mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.13The system shall be able to use automatic differntiation to compute a soft block bouncing on a soft plank problem on a first order 2DRz mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.
    5. using the small strain formulation and calculate a perfect Jacobian.
    6. using the finite strain formulation and calculate a perfect Jacobian.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr, soft/small-jac, soft/finite-jac

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiffPetscJacobianTester

  • 3.21.14The system shall be able to use automatic differntiation to compute a block bouncing on a plank problem on a first order 2DRz mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.15The system shall be able to use automatic differentiation to compute a soft block bouncing on a soft plank problem on a second order 2DRz mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.
    5. using the small strain formulation and calculate a perfect Jacobian.
    6. using the finite strain formulation and calculate a perfect Jacobian.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr, soft/small-jac, soft/finite-jac

    Design: Constraints System

    Issue(s): #13080

    Collection(s): FUNCTIONAL

    Type(s): CSVDiffPetscJacobianTester

  • 3.21.16The system shall be able to use automatic differntiation to compute a block bouncing on a plank problem on a second order 2DRz mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.17The system shall be able to compute a soft block bouncing on a soft plank problem on a first order 2DRz mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.18The system shall be able to compute a block bouncing on a plank problem on a first order 2DRz mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.19The system shall be able to compute a soft block bouncing on a soft plank problem on a second order 2DRz mesh using tensor mechanics and mortar contact
    1. using the small strain formulation.
    2. using the finite strain formulation.
    3. using the finite strain formulation with automatic scaling.
    4. using the finite strain formulation and reference residual.

    Specification(s): soft/small, soft/finite, soft/finite_scaling, soft/finite_rr

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.21.20The system shall be able to compute a block bouncing on a plank problem on a second order 2DRz mesh using tensor mechanics and mortar contact and finite strain
    1. using with a stiff block and a stiff plank.
    2. using with a soft block and a stiff plank.

    Specification(s): stiff/stiff_stiff, stiff/soft_stiff

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.28.1The system shall be able to apply automatic scaling in conjunction with ranfs contact

    Specification(s): auto-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.28.2The system shall be able to solve ranfs contact with no scaling

    Specification(s): no-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.30.5The system shall simulate correct contact behavior in 2D when two blocks with the same height come into contact using the dual basis

    Specification(s): frictionless-compress-2d

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.30.6The system shall simulate correct contact behavior in 2D when two blocks with the same height come into contact using the Petrov-Galerkin approach.

    Specification(s): frictionless-compress-2d_pg

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.30.7The system shall simulate correct contact behavior in 2D when two blocks with the same height come into contact using the standard (non-dual) basis

    Specification(s): frictionless-compress-2d-nondual

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.30.8The system shall simulate correct contact behavior in 3D when two blocks with the same height come into contact using the dual basis

    Specification(s): frictionless-compress-3d

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.30.9The system shall simulate correct contact behavior in 3D when two blocks with the same height come into contact using the Petrov-Galerkin approach.

    Specification(s): frictionless-compress-3d_pg

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.30.10The system shall simulate correct contact behavior in 3D when two blocks with the same height come into contact using the standard (non-dual) basis

    Specification(s): frictionless-compress-3d-nondual

    Design: Constraints System

    Issue(s): #13080#15215#23802

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.1The system shall simulate correct contact behavior in 2D when the node from a secondary mortar element does not project to the primary surface using the dual basis

    Specification(s): frictionless-slide-2d

    Design: Constraints System

    Issue(s): #13080#15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.2The system shall simulate correct contact behavior in 2D when the node from a secondary mortar element does not project to the primary surface using the standard (non-dual) basis

    Specification(s): frictionless-slide-2d-nondual

    Design: Constraints System

    Issue(s): #13080#15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.3The system shall simulate correct contact behavior in 3D when the node from a secondary mortar element does not project to the primary surface

    Specification(s): frictionless-slide-3d

    Design: Constraints System

    Issue(s): #13080#15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.4The system shall simulate correct contact behavior in 3D when the node from a secondary mortar element does not project to the primary surface using the standard (non-dual) basis

    Specification(s): frictionless-slide-3d-nondual

    Design: Constraints System

    Issue(s): #13080#15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.5We shall be able to run our canonical frictional sliding block problem with lagrange multipliers and the mortar method

    Specification(s): frictionless_lm

    Design: Constraints System

    Issue(s): #13080#20773

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.32.1The system shall be able to apply automatic scaling in conjunection with tangential penalty contact constraint enforcement and show no penetration and exhibit good nonlinear convergence

    Specification(s): auto-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.32.2The system shall yield the same physical results when solving a tangential penalty contact problem with and without automatic scaling

    Specification(s): no-scaling

    Design: Constraints System

    Issue(s): #12601

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • contact: Contact Action
  • 3.7.1The system shall converge and match the solution produced by standard mortar contact.

    Specification(s): dm_contact

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.2The system shall converge and match the solution produced by dual mortar contact.

    Specification(s): std_contact

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.3The system shall converge and match the solution with the standard methods using variable condenstation with AMG.

    Specification(s): dm_contact_precon

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.4The system shall converge and match the solution with the standard methods using variable condenstation with AMG, by always condensing out the LMs.

    Specification(s): dm_contact_precon_no_adaptivity

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.5The system shall converge and match the solution with the standard methods using variable condenstation with AMG, by using LU to solve for the LM variable (not assuming diagonal coupling with the primal variable).

    Specification(s): dm_contact_precon_full_dinv

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.31.12The system shall support mechanics frictional contact problems

    Specification(s): frictional_mu02_penalty

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.31.13The system shall support mechanics frictional contact problems

    Specification(s): frictional_mu04_penalty

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.31.14The system shall support mechanics frictionless contact problems

    Specification(s): frictionless_kinematic

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.31.15The system shall support mechanics frictionless contact problems

    Specification(s): frictionless_penalty

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.31.16The system shall support mechanics frictionless contact problems

    Specification(s): frictionless_aug

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.31.17The system shall support mechanics frictional contact problems

    Specification(s): frictional_mu02_aug

    Design: Contact Action

    Issue(s): #12527

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • contact: VCP
  • 3.7.1The system shall converge and match the solution produced by standard mortar contact.

    Specification(s): dm_contact

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.2The system shall converge and match the solution produced by dual mortar contact.

    Specification(s): std_contact

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.3The system shall converge and match the solution with the standard methods using variable condenstation with AMG.

    Specification(s): dm_contact_precon

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.4The system shall converge and match the solution with the standard methods using variable condenstation with AMG, by always condensing out the LMs.

    Specification(s): dm_contact_precon_no_adaptivity

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.7.5The system shall converge and match the solution with the standard methods using variable condenstation with AMG, by using LU to solve for the LM variable (not assuming diagonal coupling with the primal variable).

    Specification(s): dm_contact_precon_full_dinv

    Design: Contact ActionVCP

    Issue(s): #15215

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • contact: ExplicitDynamicsContactConstraint
  • 3.8.1The system shall be able to solve a simple few-element normal contact problem using explicit dynamics.

    Specification(s): block_penalty

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.8.2The system shall be able to solve a simple few-element normal contact problem using explicit dynamics solving uncoupled, local equations of momentum balance.

    Specification(s): test_balance

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.8.3The system shall be able to solve a simple few-element normal contact problem using explicit dynamics solving uncoupled, local equations of momentum balance and overwrite boundary variables after applying the time stepper scheme.

    Specification(s): test_balance_overwrite

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.8.4The system shall be able to solve a simple few-element normal contact problem using explicit dynamics solving uncoupled, local equations of momentum balance in debug mode.

    Specification(s): test_balance_short

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.8.5The system shall be able to solve a simple few-element normal contact problem using explicit dynamics solving uncoupled, local equations of momentum balance and overwrite boundary variables after applying the time stepper scheme in debug mode.

    Specification(s): test_balance_overwrite_short

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.8.6The system shall be able to solve a simple few-element normal contact problem using explicit dynamics solving uncoupled, local equations of momentum balance during an impact-settling under gravity acceleration.

    Specification(s): settlement

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • 3.8.7The system shall be able to solve a simple few-element normal contact problem with contact at an elevated velocity using explicit dynamics solving uncoupled, local equations of momentum balance during an impact-settling under increased gravity acceleration.

    Specification(s): highvel

    Design: ExplicitDynamicsContactConstraint

    Issue(s): #25666

    Collection(s): FUNCTIONAL

    Type(s): CSVDiff

  • contact: NodalArea
  • 3.23.1The system shall compute the nodal area for use with contact calculations in 3D.

    Specification(s): 3D

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.2The system shall compute the nodal area in parallel for use with contact calculations in 3D.

    Specification(s): 3D2Proc

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.3The system shall compute the nodal area for use with contact calculations in 2D.

    Specification(s): 2D

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.4The system shall compute the nodal area in parallel for use with contact calculations in 2D.

    Specification(s): 2D2Proc

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.5The system shall compute the nodal area for Hex20 elements for use with contact calculations.

    Specification(s): Hex20

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.6The system shall compute the nodal area for Hex20 elements for use with frictionless contact calculations.

    Specification(s): Hex20_2

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.7The system shall compute the nodal area for Hex20 elements for use with penalty contact calculations.

    Specification(s): Hex20_3

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.8The system shall compute the nodal area in parallel for Hex20 elements for use with contact calculations.

    Specification(s): Hex202Proc

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.9The system shall compute the nodal area for Hex27 elements for use with contact calculations.

    Specification(s): Hex27

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

  • 3.23.10The system shall compute the nodal area in parallel for Hex27 elements for use with contact calculations.

    Specification(s): Hex272Proc

    Design: ContactNodalArea

    Issue(s): #716

    Collection(s): FUNCTIONAL

    Type(s): Exodiff

References

  1. ISO/IEC/IEEE 24765:2010(E). Systems and software engineering—Vocabulary. first edition, December 15 2010.[BibTeX]
  2. ASME NQA-1. ASME NQA-1-2008 with the NQA-1a-2009 addenda: Quality Assurance Requirements for Nuclear Facility Applications. first edition, August 31 2009.[BibTeX]