www.mooseframework.org
ComputeVolumetricEigenstrain.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 COMPUTEVOLUMETRICEIGENSTRAIN_H
8 #define COMPUTEVOLUMETRICEIGENSTRAIN_H
9 
10 #include "ComputeEigenstrainBase.h"
11 #include "DerivativeMaterialInterface.h"
12 
19 class ComputeVolumetricEigenstrain : public DerivativeMaterialInterface<ComputeEigenstrainBase>
20 {
21 public:
22  ComputeVolumetricEigenstrain(const InputParameters & parameters);
23 
24 protected:
25  virtual void initialSetup();
26  virtual void computeQpEigenstrain();
27 
29  const unsigned int _num_args;
30 
32  const std::vector<MaterialPropertyName> _volumetric_material_names;
34  std::vector<const MaterialProperty<Real> *> _volumetric_materials;
35 
37  std::vector<std::vector<const MaterialProperty<Real> *>> _dvolumetric_materials;
39  std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _d2volumetric_materials;
40 
42  std::vector<MaterialProperty<RankTwoTensor> *> _delastic_strain;
44  std::vector<std::vector<MaterialProperty<RankTwoTensor> *>> _d2elastic_strain;
45 };
46 
47 #endif // COMPUTE_VOLUMETRIC_EIGENSTRAIN_H
ComputeVolumetricEigenstrain(const InputParameters &parameters)
std::vector< MaterialProperty< RankTwoTensor > * > _delastic_strain
first derivatives of the elastic strain with respect to the args
std::vector< std::vector< MaterialProperty< RankTwoTensor > * > > _d2elastic_strain
second derivatives of the elastic strain with respect to the args
std::vector< std::vector< std::vector< const MaterialProperty< Real > * > > > _d2volumetric_materials
second derivatives of the volumetric materials with respect to the args
const std::vector< MaterialPropertyName > _volumetric_material_names
Names of the material properties that define volumetric change.
ComputeVolumetricEigenstrain computes an eigenstrain that is defined by a set of scalar material prop...
const unsigned int _num_args
number of variables the material depends on
std::vector< std::vector< const MaterialProperty< Real > * > > _dvolumetric_materials
first derivatives of the volumetric materials with respect to the args
std::vector< const MaterialProperty< Real > * > _volumetric_materials
The material properties that define volumetric change.