https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeStrainBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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 "RankTwoTensor.h"
14#include "RankFourTensor.h"
15#include "RotationTensor.h"
17
22{
23public:
25
26 ComputeStrainBase(const InputParameters & parameters);
27
28 void initialSetup() override;
29
30protected:
31 virtual void initQpStatefulProperties() override;
32 virtual void displacementIntegrityCheck();
33
35 unsigned int _ndisp;
36
38 std::vector<const VariableValue *> _disp;
39
41 std::vector<const VariableGradient *> _grad_disp;
42
44 const std::string _base_name;
45
47
49
50 std::vector<MaterialPropertyName> _eigenstrain_names;
51 std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains;
52
54
57};
ComputeStrainBase is the base class for strain tensors.
std::vector< const VariableGradient * > _grad_disp
Gradient of displacements.
std::vector< const VariableValue * > _disp
Displacement variables.
MaterialProperty< RankTwoTensor > & _mechanical_strain
const Real & _current_elem_volume
unsigned int _ndisp
Coupled displacement variables.
virtual void initQpStatefulProperties() override
void initialSetup() override
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
std::vector< MaterialPropertyName > _eigenstrain_names
virtual void displacementIntegrityCheck()
const MaterialProperty< RankTwoTensor > *const _global_strain
const std::string _base_name
Base name of the material system.
MaterialProperty< RankTwoTensor > & _total_strain
static InputParameters validParams()
const bool _volumetric_locking_correction