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