www.mooseframework.org
MechanicsActionPD.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "Action.h"
13 
14 class MechanicsActionPD;
15 
16 template <>
17 InputParameters validParams<MechanicsActionPD>();
18 
22 class MechanicsActionPD : public Action
23 {
24 public:
25  MechanicsActionPD(const InputParameters & params);
26 
27  virtual void act() override;
28 
29 protected:
35  virtual std::string getKernelName();
36 
42  virtual InputParameters getKernelParameters(std::string name);
43 
45  std::vector<VariableName> _displacements;
46  const unsigned int _ndisp;
48 
51  const MooseEnum _formulation;
52 
55  const MooseEnum _stabilization;
56 
58  const MooseEnum _strain;
59 
61  std::vector<SubdomainName> _subdomain_names;
62 
64  std::set<SubdomainID> _subdomain_ids;
65 
68  std::set<SubdomainID> _subdomain_id_union;
69 
71  std::vector<AuxVariableName> _save_in;
72  std::vector<AuxVariableName> _diag_save_in;
74 };
MechanicsActionPD::_ndisp
const unsigned int _ndisp
Definition: MechanicsActionPD.h:46
MechanicsActionPD::_subdomain_names
std::vector< SubdomainName > _subdomain_names
vector of subdomain names from provided blocks
Definition: MechanicsActionPD.h:61
MechanicsActionPD::MechanicsActionPD
MechanicsActionPD(const InputParameters &params)
Definition: MechanicsActionPD.C:68
MechanicsActionPD::getKernelName
virtual std::string getKernelName()
Function to get the kernel name based on the value of member variables: _formulation and _stabilizati...
Definition: MechanicsActionPD.C:186
validParams< MechanicsActionPD >
InputParameters validParams< MechanicsActionPD >()
Definition: MechanicsActionPD.C:27
MechanicsActionPD::_save_in
std::vector< AuxVariableName > _save_in
Residual debugging.
Definition: MechanicsActionPD.h:71
MechanicsActionPD::_subdomain_id_union
std::set< SubdomainID > _subdomain_id_union
set of SubdomainID generated from the combined block restrictions of all TensorMechanics/Master actio...
Definition: MechanicsActionPD.h:68
MechanicsActionPD::_formulation
const MooseEnum _formulation
Option of which peridynamic model needs to be setup: BOND, ORDINARY_STATE or NONORDINARY_STATE.
Definition: MechanicsActionPD.h:51
MechanicsActionPD::getKernelParameters
virtual InputParameters getKernelParameters(std::string name)
Function to get the input parameters for a given kernel name.
Definition: MechanicsActionPD.C:217
MechanicsActionPD::_displacements
std::vector< VariableName > _displacements
Displacement variables.
Definition: MechanicsActionPD.h:45
MechanicsActionPD::act
virtual void act() override
Definition: MechanicsActionPD.C:92
MechanicsActionPD::_strain
const MooseEnum _strain
Option of strain formulation: SMALL or FINITE.
Definition: MechanicsActionPD.h:58
name
const std::string name
Definition: Setup.h:21
MechanicsActionPD::_subdomain_ids
std::set< SubdomainID > _subdomain_ids
set of subdomain IDs generated from the passed in vector of subdomain names
Definition: MechanicsActionPD.h:64
MechanicsActionPD::_diag_save_in
std::vector< AuxVariableName > _diag_save_in
Definition: MechanicsActionPD.h:72
MechanicsActionPD
Action class to setup peridynamic models for solid mechanics problems.
Definition: MechanicsActionPD.h:22
MechanicsActionPD::_stabilization
const MooseEnum _stabilization
Option of stabilization scheme for correspondence material model (non-ordinary state based): FORCE or...
Definition: MechanicsActionPD.h:55