Peridynamic Master Action System

Description

The peridynamics mechanics Action is a convenience object that simplifies part of the mechanics system setup. It sets up force density integral Kernels for all displacements at once.

Constructed MooseObjects

Table 1: Correspondence Among Action Functionality and MooseObjects for the MechanicsActionPD Action

FunctionalityReplaced ClassesAssociated Parameters
Mechanics equilibrium conditionsBond-based Small Strain Models or Ordinary State-based Small Strain Models or Force-stabilized Non-ordinary State-based Small Strain Model or Horizon-stabilized Non-ordinary State-based Small Strain Models: Form I]; Form II] or Horizon-stabilized Non-ordinary State-based Finite Strain Models: Form I; Form IIdisplacements : a string of the displacement field variables; temperature: a string of the temperature field variable
Ghost bonds for nonlocal computationGhost Element UserObjectNone
Setup quadrature ruleVariablestype: GAUSS_LOBATTO; order: FIRST
Add AuxVariable for bond statusAuxVariablesinitial_condition is set to 1

Example Input Syntax

Subblocks

The subblocks of the Mechanics action are what triggers MOOSE objects to be built. If none of the mechanics is subdomain restricted a single subblock will be used.

[Modules]
  [Peridynamics]
    [Mechanics]
      [Master]
        [./all]
          formulation = NONORDINARY_STATE
          stabilization = BOND_HORIZON_I
          strain = FINITE
        [../]
      []
    []
  []
[]
(modules/peridynamics/test/tests/simple_tests/2D_finite_strain_H1NOSPD.i)

If different mechanics models are needed, multiple subblocks with subdomain restrictions can be used.


[Modules/Peridynamics/Mechanics/Master]
  [./block_a]
    ...
  [../]
  [./block_b]
    ...
  [../]
[]

Parameters supplied at the [Modules/Peridynamics/Mechanics/Master] level act as defaults for the Mechanics action subblocks.

Input Parameters

  • displacementsNonlinear variable names for the displacements

    C++ Type:std::vector<VariableName>

    Controllable:No

    Description:Nonlinear variable names for the displacements

  • formulationPeridynamic formulation options

    C++ Type:MooseEnum

    Options:BOND, ORDINARY_STATE, NONORDINARY_STATE

    Controllable:No

    Description:Peridynamic formulation options

Required Parameters

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified only the blocks named will be visited and made active

  • blockList of ids of the blocks (subdomains) that the peridynamic mechanics kernel will be applied to

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:List of ids of the blocks (subdomains) that the peridynamic mechanics kernel will be applied to

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • diag_save_inThe displacement diagonal preconditioner terms

    C++ Type:std::vector<AuxVariableName>

    Controllable:No

    Description:The displacement diagonal preconditioner terms

  • eigenstrain_namesList of eigenstrains to be coupled in non-ordinary state-based mechanics kernels

    C++ Type:std::vector<MaterialPropertyName>

    Controllable:No

    Description:List of eigenstrains to be coupled in non-ordinary state-based mechanics kernels

  • full_jacobianFalseParameter to set whether to use full jacobian for state based formulation or not

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Parameter to set whether to use full jacobian for state based formulation or not

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:If specified blocks matching these identifiers will be skipped.

  • out_of_plane_strainNonlinear variable name for the out_of_plane strain for plane stress using the NOSPD formulation

    C++ Type:VariableName

    Controllable:No

    Description:Nonlinear variable name for the out_of_plane strain for plane stress using the NOSPD formulation

  • save_inThe displacement residuals

    C++ Type:std::vector<AuxVariableName>

    Controllable:No

    Description:The displacement residuals

  • stabilizationStabilization techniques for the peridynamic correspondence model

    C++ Type:MooseEnum

    Options:FORCE, BOND_HORIZON_I, BOND_HORIZON_II

    Controllable:No

    Description:Stabilization techniques for the peridynamic correspondence model

  • strainSMALLStrain formulation

    Default:SMALL

    C++ Type:MooseEnum

    Options:SMALL, FINITE

    Controllable:No

    Description:Strain formulation

  • temperatureNonlinear variable name for the temperature

    C++ Type:VariableName

    Controllable:No

    Description:Nonlinear variable name for the temperature

Optional Parameters

Associated Actions

Available Actions