www.mooseframework.org
InclusionProperties.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 "RankTwoTensor.h"
14 
15 // Forward Declarations
17 
18 template <>
19 InputParameters validParams<InclusionProperties>();
20 
28 class InclusionProperties : public Material
29 {
30 public:
31  static InputParameters validParams();
32 
33  InclusionProperties(const InputParameters & parameters);
34 
35 protected:
36  virtual void computeQpProperties();
37  virtual void precomputeInteriorProperties();
38 
39 private:
41  const Real _a;
42  const Real _b;
43 
45  const Real _lambda;
46  const Real _mu;
47 
49  std::vector<Real> _misfit;
50 
52  Real _nu;
54  Real _kappa;
55 
64 
65  MaterialProperty<RankTwoTensor> & _stress;
66  MaterialProperty<RankTwoTensor> & _strain;
67  MaterialProperty<Real> & _elastic_energy;
68 };
InclusionProperties::InclusionProperties
InclusionProperties(const InputParameters &parameters)
Definition: InclusionProperties.C:38
InclusionProperties::_b
const Real _b
Definition: InclusionProperties.h:42
InclusionProperties::_strain
MaterialProperty< RankTwoTensor > & _strain
Definition: InclusionProperties.h:66
InclusionProperties::_nu
Real _nu
Poisson's ratio.
Definition: InclusionProperties.h:52
InclusionProperties::validParams
static InputParameters validParams()
Definition: InclusionProperties.C:18
InclusionProperties::_total_strain_int
RankTwoTensor _total_strain_int
Definition: InclusionProperties.h:61
InclusionProperties::_lambda
const Real _lambda
Elastic constants (isotropic)
Definition: InclusionProperties.h:45
InclusionProperties::_elastic_strain_int
RankTwoTensor _elastic_strain_int
Definition: InclusionProperties.h:62
InclusionProperties::computeQpProperties
virtual void computeQpProperties()
Definition: InclusionProperties.C:58
InclusionProperties::_stress
MaterialProperty< RankTwoTensor > & _stress
Definition: InclusionProperties.h:65
validParams< InclusionProperties >
InputParameters validParams< InclusionProperties >()
InclusionProperties::_a
const Real _a
Semimajor axes of the ellipsoidal inclusion.
Definition: InclusionProperties.h:41
InclusionProperties
This material calculates the stresses, strains, and elastic energies for an ellipsoidal inclusion in ...
Definition: InclusionProperties.h:28
InclusionProperties::_stress_int
RankTwoTensor _stress_int
Interior stress and strain values are constant so they only need to be calculated once.
Definition: InclusionProperties.h:60
InclusionProperties::_kappa
Real _kappa
Kolosov's first constant.
Definition: InclusionProperties.h:54
RankTwoTensorTempl< Real >
InclusionProperties::precomputeInteriorProperties
virtual void precomputeInteriorProperties()
Definition: InclusionProperties.C:159
InclusionProperties::_elastic_energy
MaterialProperty< Real > & _elastic_energy
Definition: InclusionProperties.h:67
InclusionProperties::_elastic_energy_int
Real _elastic_energy_int
Definition: InclusionProperties.h:63
InclusionProperties::_mu
const Real _mu
Definition: InclusionProperties.h:46
InclusionProperties::_misfit
std::vector< Real > _misfit
Misfit strains.
Definition: InclusionProperties.h:49