www.mooseframework.org
MultiPhaseStressMaterial.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 "RankTwoTensorForward.h"
14 #include "RankFourTensorForward.h"
15 
21 {
22 public:
24 
26 
27 protected:
28  virtual void computeQpProperties();
29 
31  std::vector<MaterialPropertyName> _h_list;
32 
34  unsigned int _n_phase;
35 
37  std::vector<const MaterialProperty<Real> *> _h_eta;
38 
39  // phase material properties
40  std::vector<std::string> _phase_base;
41  std::vector<const MaterialProperty<RankTwoTensor> *> _phase_stress;
42  std::vector<const MaterialProperty<RankFourTensor> *> _dphase_stress_dstrain;
43 
44  // global material properties
45 
47  const std::string _base_name;
48 
52 };
std::vector< const MaterialProperty< RankFourTensor > * > _dphase_stress_dstrain
MaterialProperty< RankTwoTensor > & _stress
The stress tensor.
unsigned int _n_phase
number of phases handled by this material
MaterialProperty< RankFourTensor > & _dstress_dstrain
MultiPhaseStressMaterial(const InputParameters &parameters)
Construct a global strain from the phase strains in a manner that is consistent with the construction...
std::vector< const MaterialProperty< RankTwoTensor > * > _phase_stress
static InputParameters validParams()
std::vector< std::string > _phase_base
std::vector< const MaterialProperty< Real > * > _h_eta
switching functions
const std::string _base_name
Base name of the material system.
const InputParameters & parameters() const
std::vector< MaterialPropertyName > _h_list
switching function name list