www.mooseframework.org
ForceDensityMaterial.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 FORCEDENSITYMATERIAL_H
8 #define FORCEDENSITYMATERIAL_H
9 
10 #include "Material.h"
11 #include "DerivativeMaterialInterface.h"
12 
13 // Forward Declarations
15 
16 template <>
17 InputParameters validParams<ForceDensityMaterial>();
18 
23 class ForceDensityMaterial : public DerivativeMaterialInterface<Material>
24 {
25 public:
26  ForceDensityMaterial(const InputParameters & parameters);
27 
28 protected:
29  virtual void computeQpProperties();
30 
31 private:
33  const VariableValue & _c;
34  VariableName _c_name;
36  Real _ceq;
38  Real _cgb;
40  Real _k;
41 
42  unsigned int _op_num;
43  std::vector<const VariableValue *> _vals;
44  std::vector<const VariableGradient *> _grad_vals;
45  std::vector<VariableName> _vals_name;
46 
47  std::vector<Real> _product_etas;
48  std::vector<RealGradient> _sum_grad_etas;
49 
51  std::string _base_name;
52 
54  MaterialProperty<std::vector<RealGradient>> & _dF;
56  MaterialProperty<std::vector<RealGradient>> & _dFdc;
58  std::vector<MaterialProperty<std::vector<Real>> *> _dFdgradeta;
59 };
60 
61 #endif // FORCEDENSITYMATERIAL_H
MaterialProperty< std::vector< RealGradient > > & _dFdc
first order derivative of force density material w.r.t c
std::vector< const VariableGradient * > _grad_vals
This Material calculates the force density acting on a particle/grain due to interaction between part...
std::vector< MaterialProperty< std::vector< Real > > * > _dFdgradeta
first order derivative of force density material w.r.t etas
std::vector< RealGradient > _sum_grad_etas
std::vector< Real > _product_etas
const VariableValue & _c
concentration field considered to be the density of particles
std::vector< const VariableValue * > _vals
virtual void computeQpProperties()
InputParameters validParams< ForceDensityMaterial >()
Real _k
stiffness constant
std::string _base_name
type of force density material
MaterialProperty< std::vector< RealGradient > > & _dF
force density material
std::vector< VariableName > _vals_name
ForceDensityMaterial(const InputParameters &parameters)
Real _ceq
equilibrium density at the grain boundaries
Real _cgb
thresold value for identifying grain boundaries