www.mooseframework.org
ComputeVolumetricEigenstrain.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 "ComputeEigenstrainBase.h"
14 
21 class ComputeVolumetricEigenstrain : public DerivativeMaterialInterface<ComputeEigenstrainBase>
22 {
23 public:
25 
27 
28 protected:
29  virtual void initialSetup();
30  virtual void computeQpEigenstrain();
31 
33  const unsigned int _num_args;
34 
36  const std::vector<MaterialPropertyName> _volumetric_material_names;
38  std::vector<const MaterialProperty<Real> *> _volumetric_materials;
39 
41  std::vector<std::vector<const MaterialProperty<Real> *>> _dvolumetric_materials;
43  std::vector<std::vector<std::vector<const MaterialProperty<Real> *>>> _d2volumetric_materials;
44 
46  std::vector<MaterialProperty<RankTwoTensor> *> _delastic_strain;
48  std::vector<std::vector<MaterialProperty<RankTwoTensor> *>> _d2elastic_strain;
49 };
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.