www.mooseframework.org
MaskedGrainForceAndTorque.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef MaskedGrainForceAndTorque_H
8 #define MaskedGrainForceAndTorque_H
9 
11 #include "GeneralUserObject.h"
12 
13 // Forward Declarations
15 
16 template <>
18 
23 class MaskedGrainForceAndTorque : public GrainForceAndTorqueInterface, public GeneralUserObject
24 {
25 public:
26  MaskedGrainForceAndTorque(const InputParameters & parameters);
27 
28  virtual void initialize();
29  virtual void execute(){};
30  virtual void finalize(){};
31 
32  virtual const std::vector<RealGradient> & getForceValues() const;
33  virtual const std::vector<RealGradient> & getTorqueValues() const;
34  virtual const std::vector<Real> & getForceCJacobians() const;
35  virtual const std::vector<std::vector<Real>> & getForceEtaJacobians() const;
36 
37 protected:
39  const std::vector<RealGradient> & _grain_forces_input;
40  const std::vector<RealGradient> & _grain_torques_input;
41  const std::vector<Real> & _grain_force_c_jacobians_input;
42  const std::vector<std::vector<Real>> & _grain_force_eta_jacobians_input;
43 
44  std::vector<unsigned int> _pinned_grains;
45  unsigned int _num_pinned_grains;
46  unsigned int _grain_num;
47 
49  std::vector<RealGradient> _force_values;
50  std::vector<RealGradient> _torque_values;
51  std::vector<Real> _c_jacobians;
52  std::vector<std::vector<Real>> _eta_jacobians;
54 };
55 
56 #endif // MaskedGrainForceAndTorque_H
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
const std::vector< RealGradient > & _grain_forces_input
This class provides interface for extracting the forces and torques computed in other UserObjects...
MaskedGrainForceAndTorque(const InputParameters &parameters)
virtual const std::vector< RealGradient > & getForceValues() const
This class is here to get the force and torque acting on a grain from different userobjects and sum t...
std::vector< RealGradient > _torque_values
const std::vector< RealGradient > & _grain_torques_input
virtual const std::vector< Real > & getForceCJacobians() const
const std::vector< Real > & _grain_force_c_jacobians_input
const GrainForceAndTorqueInterface & _grain_force_torque_input
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
virtual const std::vector< RealGradient > & getTorqueValues() const
const std::vector< std::vector< Real > > & _grain_force_eta_jacobians_input
InputParameters validParams< MaskedGrainForceAndTorque >()
std::vector< unsigned int > _pinned_grains
std::vector< std::vector< Real > > _eta_jacobians