https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MaskedGrainForceAndTorque.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
16
22{
23public:
25
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
37protected:
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};
This class provides interface for extracting the forces and torques computed in other UserObjects.
This class is here to get the force and torque acting on a grain from different userobjects and sum t...
const GrainForceAndTorqueInterface & _grain_force_torque_input
virtual const std::vector< RealGradient > & getTorqueValues() const
static InputParameters validParams()
virtual const std::vector< Real > & getForceCJacobians() const
const std::vector< RealGradient > & _grain_forces_input
const std::vector< std::vector< Real > > & _grain_force_eta_jacobians_input
std::vector< unsigned int > _pinned_grains
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
const std::vector< RealGradient > & _grain_torques_input
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
std::vector< std::vector< Real > > _eta_jacobians
const std::vector< Real > & _grain_force_c_jacobians_input
std::vector< RealGradient > _torque_values
virtual const std::vector< RealGradient > & getForceValues() const
const InputParameters & parameters() const