https://mooseframework.inl.gov
MechanicsActionPD.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
17 class MechanicsActionPD : public Action
18 {
19 public:
21 
22  MechanicsActionPD(const InputParameters & params);
23 
24  virtual void act() override;
25 
26 protected:
32  virtual std::string getKernelName();
33 
39  virtual InputParameters getKernelParameters(std::string name);
40 
42  std::vector<VariableName> _displacements;
43  const unsigned int _ndisp;
45 
49 
53 
56 
58  std::vector<SubdomainName> _subdomain_names;
59 
61  std::set<SubdomainID> _subdomain_ids;
62 
65  std::set<SubdomainID> _subdomain_id_union;
66 
68  std::vector<AuxVariableName> _save_in;
69  std::vector<AuxVariableName> _diag_save_in;
71 };
MechanicsActionPD(const InputParameters &params)
std::vector< AuxVariableName > _save_in
Residual debugging.
std::vector< AuxVariableName > _diag_save_in
std::set< SubdomainID > _subdomain_id_union
set of SubdomainID generated from the combined block restrictions of all TensorMechanics/Master actio...
static InputParameters validParams()
const unsigned int _ndisp
Action class to setup peridynamic models for solid mechanics problems.
virtual void act() override
virtual InputParameters getKernelParameters(std::string name)
Function to get the input parameters for a given kernel name.
virtual std::string getKernelName()
Function to get the kernel name based on the value of member variables: _formulation and _stabilizati...
virtual const std::string & name() const
const MooseEnum _strain
Option of strain formulation: SMALL or FINITE.
const MooseEnum _formulation
Option of which peridynamic model needs to be setup: BOND, ORDINARY_STATE or NONORDINARY_STATE.
std::set< SubdomainID > _subdomain_ids
set of subdomain IDs generated from the passed in vector of subdomain names
std::vector< VariableName > _displacements
Displacement variables.
const MooseEnum _stabilization
Option of stabilization scheme for correspondence material model: FORCE, BOND_HORIZON_I or BOND_HORIZ...
std::vector< SubdomainName > _subdomain_names
vector of subdomain names from provided blocks