www.mooseframework.org
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ComputeExternalGrainForceAndTorque Class Reference

This class is here to get the force and torque acting on a grain. More...

#include <ComputeExternalGrainForceAndTorque.h>

Inheritance diagram for ComputeExternalGrainForceAndTorque:
[legend]

Public Types

typedef DerivativeMaterialPropertyNameInterface::SymbolName SymbolName
 

Public Member Functions

 ComputeExternalGrainForceAndTorque (const InputParameters &parameters)
 
virtual void initialize ()
 
virtual void execute ()
 
virtual void executeJacobian (unsigned int jvar)
 
virtual void finalize ()
 
virtual void threadJoin (const UserObject &y)
 
virtual const std::vector< RealGradient > & getForceValues () const
 
virtual const std::vector< RealGradient > & getTorqueValues () const
 
virtual const std::vector< Real > & getForceCJacobians () const
 
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians () const
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< U, is_ad > & getDefaultMaterialPropertyByName (const std::string &name)
 
void validateDerivativeMaterialPropertyBase (const std::string &base)
 
const MaterialPropertyName derivativePropertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName derivativePropertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName derivativePropertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName derivativePropertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
GenericMaterialProperty< U, is_ad > & declarePropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, const SymbolName &c1, unsigned int v2, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivative (const std::string &base, unsigned int v1, unsigned int v2=libMesh::invalid_uint, unsigned int v3=libMesh::invalid_uint)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< VariableName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const std::vector< SymbolName > &c)
 
const GenericMaterialProperty< U, is_ad > & getMaterialPropertyDerivativeByName (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2="", const SymbolName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateCoupling (const MaterialPropertyName &base, const std::vector< VariableName > &c, bool validate_aux=true)
 
void validateCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
void validateNonlinearCoupling (const MaterialPropertyName &base, const VariableName &c1="", const VariableName &c2="", const VariableName &c3="")
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyName (const MaterialPropertyName &base, const std::vector< SymbolName > &c) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameFirst (const MaterialPropertyName &base, const SymbolName &c1) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameSecond (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 
const MaterialPropertyName propertyNameThird (const MaterialPropertyName &base, const SymbolName &c1, const SymbolName &c2, const SymbolName &c3) const
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

unsigned int _qp
 
VariableName _c_name
 
unsigned int _c_var
 
MaterialPropertyName _dF_name
 material property that provides force density More...
 
const MaterialProperty< std::vector< RealGradient > > & _dF
 
const MaterialProperty< std::vector< RealGradient > > & _dFdc
 material property that provides jacobian of force density with respect to c More...
 
const unsigned int _op_num
 no. of order parameters More...
 
const GrainTrackerInterface_grain_tracker
 provide UserObject for calculating grain volumes and centers More...
 
unsigned int _grain_num
 
unsigned int _ncomp
 
std::vector< unsigned int_vals_var
 
std::vector< VariableName > _vals_name
 
std::vector< const MaterialProperty< std::vector< RealGradient > > * > _dFdeta
 
std::vector< RealGradient_force_values
 providing grain forces, torques and their jacobians w. r. t c More...
 
std::vector< RealGradient_torque_values
 
std::vector< Real_force_torque_store
 vector storing grain force and torque values More...
 
std::vector< Real_force_torque_c_jacobian_store
 vector storing jacobian of grain force and torque values More...
 
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store
 
unsigned int _total_dofs
 

Detailed Description

This class is here to get the force and torque acting on a grain.

Definition at line 22 of file ComputeExternalGrainForceAndTorque.h.

Constructor & Destructor Documentation

◆ ComputeExternalGrainForceAndTorque()

ComputeExternalGrainForceAndTorque::ComputeExternalGrainForceAndTorque ( const InputParameters parameters)

Definition at line 29 of file ComputeExternalGrainForceAndTorque.C.

33  _c_name(coupledName("c", 0)),
34  _c_var(coupled("c")),
35  _dF_name(getParam<MaterialPropertyName>("force_density")),
36  _dF(getMaterialPropertyByName<std::vector<RealGradient>>(_dF_name)),
37  _dFdc(getMaterialPropertyByName<std::vector<RealGradient>>(
39  _op_num(coupledComponents("etas")),
40  _grain_tracker(getUserObject<GrainTrackerInterface>("grain_data")),
44 {
45  for (unsigned int i = 0; i < _op_num; ++i)
46  {
47  _vals_var[i] = coupled("etas", i);
48  _vals_name[i] = coupledName("etas", i);
49  _dFdeta[i] = &getMaterialPropertyByName<std::vector<RealGradient>>(
51  }
52 }
const GrainTrackerInterface & _grain_tracker
provide UserObject for calculating grain volumes and centers
const MaterialProperty< std::vector< RealGradient > > & _dFdc
material property that provides jacobian of force density with respect to c
std::vector< const MaterialProperty< std::vector< RealGradient > > * > _dFdeta
This class provides interface for extracting the forces and torques computed in other UserObjects...
const MaterialPropertyName derivativePropertyNameFirst(const MaterialPropertyName &base, const SymbolName &c1) const
MaterialPropertyName _dF_name
material property that provides force density
const unsigned int _op_num
no. of order parameters
const MaterialProperty< std::vector< RealGradient > > & _dF

Member Function Documentation

◆ execute()

void ComputeExternalGrainForceAndTorque::execute ( )
virtual

Definition at line 76 of file ComputeExternalGrainForceAndTorque.C.

77 {
78  const auto & op_to_grains = _grain_tracker.getVarToFeatureVector(_current_elem->id());
79 
80  for (unsigned int i = 0; i < _grain_num; ++i)
81  for (unsigned int j = 0; j < _op_num; ++j)
82  if (i == op_to_grains[j])
83  {
84  const auto centroid = _grain_tracker.getGrainCentroid(i);
85  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
86  if (_dF[_qp][j](0) != 0.0 || _dF[_qp][j](1) != 0.0 || _dF[_qp][j](2) != 0.0)
87  {
88  const RealGradient compute_torque =
89  _JxW[_qp] * _coord[_qp] *
90  (_current_elem->vertex_average() - centroid).cross(_dF[_qp][j]);
91  _force_torque_store[6 * i + 0] += _JxW[_qp] * _coord[_qp] * _dF[_qp][j](0);
92  _force_torque_store[6 * i + 1] += _JxW[_qp] * _coord[_qp] * _dF[_qp][j](1);
93  _force_torque_store[6 * i + 2] += _JxW[_qp] * _coord[_qp] * _dF[_qp][j](2);
94  _force_torque_store[6 * i + 3] += compute_torque(0);
95  _force_torque_store[6 * i + 4] += compute_torque(1);
96  _force_torque_store[6 * i + 5] += compute_torque(2);
97  }
98  }
99 }
const GrainTrackerInterface & _grain_tracker
provide UserObject for calculating grain volumes and centers
const unsigned int _op_num
no. of order parameters
virtual const std::vector< unsigned int > & getVarToFeatureVector(dof_id_type elem_id) const =0
Returns a list of active unique feature ids for a particular element.
virtual Point getGrainCentroid(unsigned int grain_id) const =0
Returns the centroid for the given grain number.
const MaterialProperty< std::vector< RealGradient > > & _dF
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< Real > _force_torque_store
vector storing grain force and torque values

◆ executeJacobian()

void ComputeExternalGrainForceAndTorque::executeJacobian ( unsigned int  jvar)
virtual

Definition at line 102 of file ComputeExternalGrainForceAndTorque.C.

103 {
104  const auto & op_to_grains = _grain_tracker.getVarToFeatureVector(_current_elem->id());
105 
106  if (jvar == _c_var)
107  for (unsigned int i = 0; i < _grain_num; ++i)
108  for (unsigned int j = 0; j < _op_num; ++j)
109  if (i == op_to_grains[j])
110  {
111  const auto centroid = _grain_tracker.getGrainCentroid(i);
112  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
113  if (_dFdc[_qp][j](0) != 0.0 || _dFdc[_qp][j](1) != 0.0 || _dFdc[_qp][j](2) != 0.0)
114  {
115  const Real factor = _JxW[_qp] * _coord[_qp] * _phi[_j][_qp];
116  const RealGradient compute_torque_jacobian_c =
117  factor * (_current_elem->vertex_average() - centroid).cross(_dFdc[_qp][j]);
118  _force_torque_c_jacobian_store[(6 * i + 0) * _total_dofs + _j_global] +=
119  factor * _dFdc[_qp][j](0);
120  _force_torque_c_jacobian_store[(6 * i + 1) * _total_dofs + _j_global] +=
121  factor * _dFdc[_qp][j](1);
122  _force_torque_c_jacobian_store[(6 * i + 2) * _total_dofs + _j_global] +=
123  factor * _dFdc[_qp][j](2);
124  _force_torque_c_jacobian_store[(6 * i + 3) * _total_dofs + _j_global] +=
125  compute_torque_jacobian_c(0);
126  _force_torque_c_jacobian_store[(6 * i + 4) * _total_dofs + _j_global] +=
127  compute_torque_jacobian_c(1);
128  _force_torque_c_jacobian_store[(6 * i + 5) * _total_dofs + _j_global] +=
129  compute_torque_jacobian_c(2);
130  }
131  }
132 
133  for (unsigned int i = 0; i < _op_num; ++i)
134  if (jvar == _vals_var[i])
135  for (unsigned int j = 0; j < _grain_num; ++j)
136  for (unsigned int k = 0; k < _op_num; ++k)
137  if (j == op_to_grains[k])
138  {
139  const auto centroid = _grain_tracker.getGrainCentroid(j);
140  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
141  if ((*_dFdeta[i])[_qp][j](0) != 0.0 || (*_dFdeta[i])[_qp][j](1) != 0.0 ||
142  (*_dFdeta[i])[_qp][j](2) != 0.0)
143  {
144  const Real factor = _JxW[_qp] * _coord[_qp] * _phi[_j][_qp];
145  const RealGradient compute_torque_jacobian_eta =
146  factor *
147  (_current_elem->vertex_average() - centroid).cross((*_dFdeta[i])[_qp][k]);
148  _force_torque_eta_jacobian_store[i][(6 * j + 0) * _total_dofs + _j_global] +=
149  factor * (*_dFdeta[i])[_qp][k](0);
150  _force_torque_eta_jacobian_store[i][(6 * j + 1) * _total_dofs + _j_global] +=
151  factor * (*_dFdeta[i])[_qp][k](1);
152  _force_torque_eta_jacobian_store[i][(6 * j + 2) * _total_dofs + _j_global] +=
153  factor * (*_dFdeta[i])[_qp][k](2);
154  _force_torque_eta_jacobian_store[i][(6 * j + 3) * _total_dofs + _j_global] +=
155  compute_torque_jacobian_eta(0);
156  _force_torque_eta_jacobian_store[i][(6 * j + 4) * _total_dofs + _j_global] +=
157  compute_torque_jacobian_eta(1);
158  _force_torque_eta_jacobian_store[i][(6 * j + 5) * _total_dofs + _j_global] +=
159  compute_torque_jacobian_eta(2);
160  }
161  }
162 }
const GrainTrackerInterface & _grain_tracker
provide UserObject for calculating grain volumes and centers
const MaterialProperty< std::vector< RealGradient > > & _dFdc
material property that provides jacobian of force density with respect to c
std::vector< const MaterialProperty< std::vector< RealGradient > > * > _dFdeta
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store
const unsigned int _op_num
no. of order parameters
virtual const std::vector< unsigned int > & getVarToFeatureVector(dof_id_type elem_id) const =0
Returns a list of active unique feature ids for a particular element.
std::vector< Real > _force_torque_c_jacobian_store
vector storing jacobian of grain force and torque values
virtual Point getGrainCentroid(unsigned int grain_id) const =0
Returns the centroid for the given grain number.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
static const std::string k
Definition: NS.h:124

◆ finalize()

void ComputeExternalGrainForceAndTorque::finalize ( )
virtual

Definition at line 165 of file ComputeExternalGrainForceAndTorque.C.

166 {
167  gatherSum(_force_torque_store);
168  for (unsigned int i = 0; i < _grain_num; ++i)
169  {
170  _force_values[i](0) = _force_torque_store[6 * i + 0];
171  _force_values[i](1) = _force_torque_store[6 * i + 1];
172  _force_values[i](2) = _force_torque_store[6 * i + 2];
173  _torque_values[i](0) = _force_torque_store[6 * i + 3];
174  _torque_values[i](1) = _force_torque_store[6 * i + 4];
175  _torque_values[i](2) = _force_torque_store[6 * i + 5];
176  }
177 
178  if (_fe_problem.currentlyComputingJacobian())
179  {
181  for (unsigned int i = 0; i < _op_num; ++i)
182  gatherSum(_force_torque_eta_jacobian_store[i]);
183  }
184 }
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store
const unsigned int _op_num
no. of order parameters
std::vector< Real > _force_torque_c_jacobian_store
vector storing jacobian of grain force and torque values
std::vector< Real > _force_torque_store
vector storing grain force and torque values

◆ getForceCJacobians()

const std::vector< Real > & ComputeExternalGrainForceAndTorque::getForceCJacobians ( ) const
virtual

Implements GrainForceAndTorqueInterface.

Definition at line 215 of file ComputeExternalGrainForceAndTorque.C.

216 {
218 }
std::vector< Real > _force_torque_c_jacobian_store
vector storing jacobian of grain force and torque values

◆ getForceEtaJacobians()

const std::vector< std::vector< Real > > & ComputeExternalGrainForceAndTorque::getForceEtaJacobians ( ) const
virtual

Implements GrainForceAndTorqueInterface.

Definition at line 220 of file ComputeExternalGrainForceAndTorque.C.

221 {
223 }
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store

◆ getForceValues()

const std::vector< RealGradient > & ComputeExternalGrainForceAndTorque::getForceValues ( ) const
virtual

Implements GrainForceAndTorqueInterface.

Definition at line 203 of file ComputeExternalGrainForceAndTorque.C.

204 {
205  return _force_values;
206 }
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c

◆ getTorqueValues()

const std::vector< RealGradient > & ComputeExternalGrainForceAndTorque::getTorqueValues ( ) const
virtual

Implements GrainForceAndTorqueInterface.

Definition at line 209 of file ComputeExternalGrainForceAndTorque.C.

210 {
211  return _torque_values;
212 }

◆ initialize()

void ComputeExternalGrainForceAndTorque::initialize ( )
virtual

Definition at line 55 of file ComputeExternalGrainForceAndTorque.C.

56 {
58  _ncomp = 6 * _grain_num;
59 
60  _force_values.resize(_grain_num);
61  _torque_values.resize(_grain_num);
62  _force_torque_store.assign(_ncomp, 0.0);
63 
64  if (_fe_problem.currentlyComputingJacobian())
65  {
66  _total_dofs = _subproblem.es().n_dofs();
69 
70  for (unsigned int i = 0; i < _op_num; ++i)
72  }
73 }
const GrainTrackerInterface & _grain_tracker
provide UserObject for calculating grain volumes and centers
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store
virtual std::size_t getTotalFeatureCount() const =0
Returns a number large enough to contain the largest ID for all grains in use.
const unsigned int _op_num
no. of order parameters
std::vector< Real > _force_torque_c_jacobian_store
vector storing jacobian of grain force and torque values
std::vector< Real > _force_torque_store
vector storing grain force and torque values

◆ threadJoin()

void ComputeExternalGrainForceAndTorque::threadJoin ( const UserObject y)
virtual

Definition at line 187 of file ComputeExternalGrainForceAndTorque.C.

188 {
189  const auto & pps = static_cast<const ComputeExternalGrainForceAndTorque &>(y);
190  for (unsigned int i = 0; i < _ncomp; ++i)
191  _force_torque_store[i] += pps._force_torque_store[i];
192  if (_fe_problem.currentlyComputingJacobian())
193  {
194  for (unsigned int i = 0; i < _ncomp * _total_dofs; ++i)
195  _force_torque_c_jacobian_store[i] += pps._force_torque_c_jacobian_store[i];
196  for (unsigned int i = 0; i < _op_num; ++i)
197  for (unsigned int j = 0; j < _ncomp * _total_dofs; ++j)
198  _force_torque_eta_jacobian_store[i][j] += pps._force_torque_eta_jacobian_store[i][j];
199  }
200 }
This class is here to get the force and torque acting on a grain.
if(subdm)
const std::vector< double > y
std::vector< std::vector< Real > > _force_torque_eta_jacobian_store
const unsigned int _op_num
no. of order parameters
std::vector< Real > _force_torque_c_jacobian_store
vector storing jacobian of grain force and torque values
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
std::vector< Real > _force_torque_store
vector storing grain force and torque values

◆ validParams()

InputParameters ComputeExternalGrainForceAndTorque::validParams ( )
static

Definition at line 18 of file ComputeExternalGrainForceAndTorque.C.

19 {
21  params.addClassDescription("Userobject for calculating force and torque acting on a grain");
22  params.addParam<MaterialPropertyName>("force_density", "force_density", "Force density material");
23  params.addParam<UserObjectName>("grain_data", "center of mass of grains");
24  params.addCoupledVar("c", "Concentration field");
25  params.addCoupledVar("etas", "Array of coupled order parameters");
26  return params;
27 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addCoupledVar(const std::string &name, const std::string &doc_string)
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _c_name

VariableName ComputeExternalGrainForceAndTorque::_c_name
protected

Definition at line 45 of file ComputeExternalGrainForceAndTorque.h.

◆ _c_var

unsigned int ComputeExternalGrainForceAndTorque::_c_var
protected

Definition at line 46 of file ComputeExternalGrainForceAndTorque.h.

Referenced by executeJacobian().

◆ _dF

const MaterialProperty<std::vector<RealGradient> >& ComputeExternalGrainForceAndTorque::_dF
protected

Definition at line 49 of file ComputeExternalGrainForceAndTorque.h.

Referenced by execute().

◆ _dF_name

MaterialPropertyName ComputeExternalGrainForceAndTorque::_dF_name
protected

material property that provides force density

Definition at line 48 of file ComputeExternalGrainForceAndTorque.h.

Referenced by ComputeExternalGrainForceAndTorque().

◆ _dFdc

const MaterialProperty<std::vector<RealGradient> >& ComputeExternalGrainForceAndTorque::_dFdc
protected

material property that provides jacobian of force density with respect to c

Definition at line 51 of file ComputeExternalGrainForceAndTorque.h.

Referenced by executeJacobian().

◆ _dFdeta

std::vector<const MaterialProperty<std::vector<RealGradient> > *> ComputeExternalGrainForceAndTorque::_dFdeta
protected

◆ _force_torque_c_jacobian_store

std::vector<Real> ComputeExternalGrainForceAndTorque::_force_torque_c_jacobian_store
protected

vector storing jacobian of grain force and torque values

Definition at line 70 of file ComputeExternalGrainForceAndTorque.h.

Referenced by executeJacobian(), finalize(), getForceCJacobians(), initialize(), and threadJoin().

◆ _force_torque_eta_jacobian_store

std::vector<std::vector<Real> > ComputeExternalGrainForceAndTorque::_force_torque_eta_jacobian_store
protected

◆ _force_torque_store

std::vector<Real> ComputeExternalGrainForceAndTorque::_force_torque_store
protected

vector storing grain force and torque values

Definition at line 68 of file ComputeExternalGrainForceAndTorque.h.

Referenced by execute(), finalize(), initialize(), and threadJoin().

◆ _force_values

std::vector<RealGradient> ComputeExternalGrainForceAndTorque::_force_values
protected

providing grain forces, torques and their jacobians w. r. t c

Definition at line 64 of file ComputeExternalGrainForceAndTorque.h.

Referenced by finalize(), getForceValues(), and initialize().

◆ _grain_num

unsigned int ComputeExternalGrainForceAndTorque::_grain_num
protected

◆ _grain_tracker

const GrainTrackerInterface& ComputeExternalGrainForceAndTorque::_grain_tracker
protected

provide UserObject for calculating grain volumes and centers

Definition at line 55 of file ComputeExternalGrainForceAndTorque.h.

Referenced by execute(), executeJacobian(), and initialize().

◆ _ncomp

unsigned int ComputeExternalGrainForceAndTorque::_ncomp
protected

Definition at line 57 of file ComputeExternalGrainForceAndTorque.h.

Referenced by initialize(), and threadJoin().

◆ _op_num

const unsigned int ComputeExternalGrainForceAndTorque::_op_num
protected

◆ _qp

unsigned int ComputeExternalGrainForceAndTorque::_qp
protected

Definition at line 43 of file ComputeExternalGrainForceAndTorque.h.

Referenced by execute(), and executeJacobian().

◆ _torque_values

std::vector<RealGradient> ComputeExternalGrainForceAndTorque::_torque_values
protected

Definition at line 65 of file ComputeExternalGrainForceAndTorque.h.

Referenced by finalize(), getTorqueValues(), and initialize().

◆ _total_dofs

unsigned int ComputeExternalGrainForceAndTorque::_total_dofs
protected

Definition at line 73 of file ComputeExternalGrainForceAndTorque.h.

Referenced by executeJacobian(), initialize(), and threadJoin().

◆ _vals_name

std::vector<VariableName> ComputeExternalGrainForceAndTorque::_vals_name
protected

◆ _vals_var

std::vector<unsigned int> ComputeExternalGrainForceAndTorque::_vals_var
protected

The documentation for this class was generated from the following files: