18 params.
addClassDescription(
"Userobject for masking/pinning grains and making forces and torques " 19 "acting on that grain zero");
20 params.
addParam<UserObjectName>(
"grain_force",
21 "userobject for getting force and torque acting on grains");
22 params.
addParam<std::vector<unsigned int>>(
"pinned_grains",
"Grain numbers for pinned grains");
30 _grain_forces_input(_grain_force_torque_input.getForceValues()),
31 _grain_torques_input(_grain_force_torque_input.getTorqueValues()),
32 _grain_force_c_jacobians_input(_grain_force_torque_input.getForceCJacobians()),
33 _grain_force_eta_jacobians_input(_grain_force_torque_input.getForceEtaJacobians()),
34 _pinned_grains(getParam<
std::vector<unsigned
int>>(
"pinned_grains")),
35 _num_pinned_grains(_pinned_grains.size()),
36 _grain_num(_grain_forces_input.size()),
37 _force_values(_grain_num),
38 _torque_values(_grain_num)
69 for (
unsigned int j = 0;
j < total_dofs; ++
j)
101 for (
unsigned int k = 0;
k < total_dofs; ++
k)
132 const std::vector<RealGradient> &
138 const std::vector<RealGradient> &
144 const std::vector<Real> &
150 const std::vector<std::vector<Real>> &
static InputParameters validParams()
const std::vector< RealGradient > & _grain_forces_input
static InputParameters validParams()
This class provides interface for extracting the forces and torques computed in other UserObjects...
std::size_t n_dofs() const
registerMooseObject("PhaseFieldApp", MaskedGrainForceAndTorque)
MaskedGrainForceAndTorque(const InputParameters ¶meters)
std::vector< Real > _c_jacobians
virtual const std::vector< RealGradient > & getForceValues() const
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
This class is here to get the force and torque acting on a grain from different userobjects and sum t...
unsigned int _num_pinned_grains
virtual libMesh::EquationSystems & es()=0
std::vector< RealGradient > _torque_values
const std::vector< RealGradient > & _grain_torques_input
const std::vector< Real > & _grain_force_c_jacobians_input
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
FEProblemBase & _fe_problem
const std::vector< std::vector< Real > > & _grain_force_eta_jacobians_input
virtual const std::vector< RealGradient > & getTorqueValues() const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
const bool & currentlyComputingJacobian() const
virtual const std::vector< Real > & getForceCJacobians() const
std::vector< unsigned int > _pinned_grains
static const std::string k
void ErrorVector unsigned int
virtual void initialize()
std::vector< std::vector< Real > > _eta_jacobians