www.mooseframework.org
ConstantGrainForceAndTorque.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 "GeneralUserObject.h"
14 
15 // Forward Declarations
17 
18 template <>
20 
24 class ConstantGrainForceAndTorque : public GrainForceAndTorqueInterface, public GeneralUserObject
25 {
26 public:
27  ConstantGrainForceAndTorque(const InputParameters & parameters);
28 
29  virtual void initialize();
30  virtual void execute() {}
31  virtual void finalize() {}
32 
33  virtual const std::vector<RealGradient> & getForceValues() const;
34  virtual const std::vector<RealGradient> & getTorqueValues() const;
35  virtual const std::vector<Real> & getForceCJacobians() const;
36  virtual const std::vector<std::vector<Real>> & getForceEtaJacobians() const;
37 
38 protected:
40  std::vector<Real> _F;
42  std::vector<Real> _M;
43 
44  unsigned int _grain_num;
45  unsigned int _ncomp;
46 
48  std::vector<RealGradient> _force_values;
49  std::vector<RealGradient> _torque_values;
50  std::vector<Real> _c_jacobians;
51  std::vector<std::vector<Real>> _eta_jacobians;
53 };
54 
ConstantGrainForceAndTorque::_F
std::vector< Real > _F
Applied force on particles, size should be 3 times no. of grains.
Definition: ConstantGrainForceAndTorque.h:40
ConstantGrainForceAndTorque::getTorqueValues
virtual const std::vector< RealGradient > & getTorqueValues() const
Definition: ConstantGrainForceAndTorque.C:67
ConstantGrainForceAndTorque
This class is here to get the force and torque acting on a grain.
Definition: ConstantGrainForceAndTorque.h:24
ConstantGrainForceAndTorque::getForceCJacobians
virtual const std::vector< Real > & getForceCJacobians() const
Definition: ConstantGrainForceAndTorque.C:73
ConstantGrainForceAndTorque::finalize
virtual void finalize()
Definition: ConstantGrainForceAndTorque.h:31
GrainForceAndTorqueInterface.h
ConstantGrainForceAndTorque::_torque_values
std::vector< RealGradient > _torque_values
Definition: ConstantGrainForceAndTorque.h:49
ConstantGrainForceAndTorque::_c_jacobians
std::vector< Real > _c_jacobians
Definition: ConstantGrainForceAndTorque.h:50
ConstantGrainForceAndTorque::ConstantGrainForceAndTorque
ConstantGrainForceAndTorque(const InputParameters &parameters)
Definition: ConstantGrainForceAndTorque.C:25
ConstantGrainForceAndTorque::_ncomp
unsigned int _ncomp
Definition: ConstantGrainForceAndTorque.h:45
ConstantGrainForceAndTorque::getForceEtaJacobians
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
Definition: ConstantGrainForceAndTorque.C:79
ConstantGrainForceAndTorque::getForceValues
virtual const std::vector< RealGradient > & getForceValues() const
Definition: ConstantGrainForceAndTorque.C:61
ConstantGrainForceAndTorque::_grain_num
unsigned int _grain_num
Definition: ConstantGrainForceAndTorque.h:44
ConstantGrainForceAndTorque::_eta_jacobians
std::vector< std::vector< Real > > _eta_jacobians
Definition: ConstantGrainForceAndTorque.h:51
validParams< ConstantGrainForceAndTorque >
InputParameters validParams< ConstantGrainForceAndTorque >()
Definition: ConstantGrainForceAndTorque.C:16
ConstantGrainForceAndTorque::_force_values
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
Definition: ConstantGrainForceAndTorque.h:48
ConstantGrainForceAndTorque::execute
virtual void execute()
Definition: ConstantGrainForceAndTorque.h:30
ConstantGrainForceAndTorque::initialize
virtual void initialize()
Definition: ConstantGrainForceAndTorque.C:38
GrainForceAndTorqueInterface
This class provides interface for extracting the forces and torques computed in other UserObjects.
Definition: GrainForceAndTorqueInterface.h:24
ConstantGrainForceAndTorque::_M
std::vector< Real > _M
Applied torque on particles, size should be 3 times no. of grains.
Definition: ConstantGrainForceAndTorque.h:42