www.mooseframework.org
MaskedGrainForceAndTorque.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 
13 #include "GeneralUserObject.h"
14 
15 // Forward Declarations
17 
18 template <>
20 
25 class MaskedGrainForceAndTorque : public GrainForceAndTorqueInterface, public GeneralUserObject
26 {
27 public:
28  MaskedGrainForceAndTorque(const InputParameters & parameters);
29 
30  virtual void initialize();
31  virtual void execute(){};
32  virtual void finalize(){};
33 
34  virtual const std::vector<RealGradient> & getForceValues() const;
35  virtual const std::vector<RealGradient> & getTorqueValues() const;
36  virtual const std::vector<Real> & getForceCJacobians() const;
37  virtual const std::vector<std::vector<Real>> & getForceEtaJacobians() const;
38 
39 protected:
41  const std::vector<RealGradient> & _grain_forces_input;
42  const std::vector<RealGradient> & _grain_torques_input;
43  const std::vector<Real> & _grain_force_c_jacobians_input;
44  const std::vector<std::vector<Real>> & _grain_force_eta_jacobians_input;
45 
46  std::vector<unsigned int> _pinned_grains;
47  unsigned int _num_pinned_grains;
48  unsigned int _grain_num;
49 
51  std::vector<RealGradient> _force_values;
52  std::vector<RealGradient> _torque_values;
53  std::vector<Real> _c_jacobians;
54  std::vector<std::vector<Real>> _eta_jacobians;
56 };
57 
MaskedGrainForceAndTorque::_grain_force_eta_jacobians_input
const std::vector< std::vector< Real > > & _grain_force_eta_jacobians_input
Definition: MaskedGrainForceAndTorque.h:44
MaskedGrainForceAndTorque::_num_pinned_grains
unsigned int _num_pinned_grains
Definition: MaskedGrainForceAndTorque.h:47
MaskedGrainForceAndTorque::_torque_values
std::vector< RealGradient > _torque_values
Definition: MaskedGrainForceAndTorque.h:52
MaskedGrainForceAndTorque::_grain_force_c_jacobians_input
const std::vector< Real > & _grain_force_c_jacobians_input
Definition: MaskedGrainForceAndTorque.h:43
MaskedGrainForceAndTorque::MaskedGrainForceAndTorque
MaskedGrainForceAndTorque(const InputParameters &parameters)
Definition: MaskedGrainForceAndTorque.C:27
MaskedGrainForceAndTorque::_grain_num
unsigned int _grain_num
Definition: MaskedGrainForceAndTorque.h:48
GrainForceAndTorqueInterface.h
MaskedGrainForceAndTorque::_grain_force_torque_input
const GrainForceAndTorqueInterface & _grain_force_torque_input
Definition: MaskedGrainForceAndTorque.h:40
MaskedGrainForceAndTorque::getTorqueValues
virtual const std::vector< RealGradient > & getTorqueValues() const
Definition: MaskedGrainForceAndTorque.C:140
MaskedGrainForceAndTorque::execute
virtual void execute()
Definition: MaskedGrainForceAndTorque.h:31
MaskedGrainForceAndTorque::getForceEtaJacobians
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
Definition: MaskedGrainForceAndTorque.C:152
MaskedGrainForceAndTorque::_force_values
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
Definition: MaskedGrainForceAndTorque.h:51
MaskedGrainForceAndTorque
This class is here to get the force and torque acting on a grain from different userobjects and sum t...
Definition: MaskedGrainForceAndTorque.h:25
MaskedGrainForceAndTorque::_grain_forces_input
const std::vector< RealGradient > & _grain_forces_input
Definition: MaskedGrainForceAndTorque.h:41
MaskedGrainForceAndTorque::getForceValues
virtual const std::vector< RealGradient > & getForceValues() const
Definition: MaskedGrainForceAndTorque.C:134
MaskedGrainForceAndTorque::_eta_jacobians
std::vector< std::vector< Real > > _eta_jacobians
Definition: MaskedGrainForceAndTorque.h:54
MaskedGrainForceAndTorque::_pinned_grains
std::vector< unsigned int > _pinned_grains
Definition: MaskedGrainForceAndTorque.h:46
MaskedGrainForceAndTorque::_grain_torques_input
const std::vector< RealGradient > & _grain_torques_input
Definition: MaskedGrainForceAndTorque.h:42
MaskedGrainForceAndTorque::getForceCJacobians
virtual const std::vector< Real > & getForceCJacobians() const
Definition: MaskedGrainForceAndTorque.C:146
MaskedGrainForceAndTorque::_c_jacobians
std::vector< Real > _c_jacobians
Definition: MaskedGrainForceAndTorque.h:53
MaskedGrainForceAndTorque::finalize
virtual void finalize()
Definition: MaskedGrainForceAndTorque.h:32
MaskedGrainForceAndTorque::initialize
virtual void initialize()
Definition: MaskedGrainForceAndTorque.C:44
GrainForceAndTorqueInterface
This class provides interface for extracting the forces and torques computed in other UserObjects.
Definition: GrainForceAndTorqueInterface.h:24
validParams< MaskedGrainForceAndTorque >
InputParameters validParams< MaskedGrainForceAndTorque >()
Definition: MaskedGrainForceAndTorque.C:16