www.mooseframework.org
GrainAdvectionVelocity.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 "Material.h"
13 #include "GrainTrackerInterface.h"
15 #include "DerivativeMaterialInterface.h"
16 
17 // Forward Declarations
19 
20 template <>
21 InputParameters validParams<GrainAdvectionVelocity>();
22 
27 class GrainAdvectionVelocity : public DerivativeMaterialInterface<Material>
28 {
29 public:
30  GrainAdvectionVelocity(const InputParameters & parameters);
31 
32 protected:
33  virtual void computeQpProperties();
34 
37 
40 
42  const VectorPostprocessorValue & _grain_volumes;
43 
44  const std::vector<RealGradient> & _grain_forces;
45  const std::vector<RealGradient> & _grain_torques;
46 
47 private:
49  const Real _mt;
51  const Real _mr;
52 
53  const unsigned int _op_num;
54 
56  const std::string _base_name;
57 
59  MaterialProperty<std::vector<RealGradient>> & _velocity_advection;
60 };
61 
GrainTrackerInterface
This class defines the interface for the GrainTracking objects.
Definition: GrainTrackerInterface.h:24
validParams< GrainAdvectionVelocity >
InputParameters validParams< GrainAdvectionVelocity >()
Definition: GrainAdvectionVelocity.C:16
GrainAdvectionVelocity::_mt
const Real _mt
constant value corresponding to grain translation
Definition: GrainAdvectionVelocity.h:49
GrainAdvectionVelocity::_grain_force_torque
const GrainForceAndTorqueInterface & _grain_force_torque
getting userobject for calculating grain forces and torques
Definition: GrainAdvectionVelocity.h:39
GrainAdvectionVelocity::_mr
const Real _mr
constant value corresponding to grain rotation
Definition: GrainAdvectionVelocity.h:51
GrainAdvectionVelocity::_base_name
const std::string _base_name
type of force density material
Definition: GrainAdvectionVelocity.h:56
GrainForceAndTorqueInterface.h
GrainAdvectionVelocity
This Material calculates the advection velocity, it's divergence and derivatives acting on a particle...
Definition: GrainAdvectionVelocity.h:27
GrainAdvectionVelocity::_grain_tracker
const GrainTrackerInterface & _grain_tracker
getting userobject for calculating grain centers and volumes
Definition: GrainAdvectionVelocity.h:36
GrainAdvectionVelocity::_velocity_advection
MaterialProperty< std::vector< RealGradient > > & _velocity_advection
Material storing advection velocities of grains.
Definition: GrainAdvectionVelocity.h:59
GrainTrackerInterface.h
GrainAdvectionVelocity::_grain_volumes
const VectorPostprocessorValue & _grain_volumes
The grain volumes.
Definition: GrainAdvectionVelocity.h:42
GrainAdvectionVelocity::_grain_forces
const std::vector< RealGradient > & _grain_forces
Definition: GrainAdvectionVelocity.h:44
GrainAdvectionVelocity::computeQpProperties
virtual void computeQpProperties()
Definition: GrainAdvectionVelocity.C:57
GrainAdvectionVelocity::GrainAdvectionVelocity
GrainAdvectionVelocity(const InputParameters &parameters)
Definition: GrainAdvectionVelocity.C:39
GrainAdvectionVelocity::_grain_torques
const std::vector< RealGradient > & _grain_torques
Definition: GrainAdvectionVelocity.h:45
GrainAdvectionVelocity::_op_num
const unsigned int _op_num
Definition: GrainAdvectionVelocity.h:53
GrainForceAndTorqueInterface
This class provides interface for extracting the forces and torques computed in other UserObjects.
Definition: GrainForceAndTorqueInterface.h:24