www.mooseframework.org
IsotropicElasticityTensor.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 "ElasticityTensor.h"
13 
34 {
35 public:
36  IsotropicElasticityTensor(const bool constant = true);
37 
41  void setLambda(const Real lambda);
42 
46  void setMu(const Real mu);
47 
51  void setYoungsModulus(const Real E);
52 
56  void setPoissonsRatio(const Real nu);
57 
61  void setBulkModulus(const Real k);
62 
66  void setShearModulus(const Real k);
67 
69 
70 protected:
72 
73  Real _lambda, _mu, _E, _nu, _k;
74 
78  virtual void calculateEntries(unsigned int qp);
79 
86 
92  Real isotropicEntry(const unsigned int i, const unsigned j, const unsigned k, const unsigned l);
93 };
94 
IsotropicElasticityTensor::calculateEntries
virtual void calculateEntries(unsigned int qp)
Fill in the matrix.
Definition: IsotropicElasticityTensor.C:113
IsotropicElasticityTensor::_nu_set
bool _nu_set
Definition: IsotropicElasticityTensor.h:71
IsotropicElasticityTensor::_lambda_set
bool _lambda_set
Definition: IsotropicElasticityTensor.h:71
IsotropicElasticityTensor::_lambda
Real _lambda
Definition: IsotropicElasticityTensor.h:73
IsotropicElasticityTensor::~IsotropicElasticityTensor
virtual ~IsotropicElasticityTensor()
Definition: IsotropicElasticityTensor.h:68
IsotropicElasticityTensor::setPoissonsRatio
void setPoissonsRatio(const Real nu)
Set Poissons Ratio.
Definition: IsotropicElasticityTensor.C:47
IsotropicElasticityTensor::setShearModulus
void setShearModulus(const Real k)
Set the shear modulus...
Definition: IsotropicElasticityTensor.C:61
IsotropicElasticityTensor::setYoungsModulus
void setYoungsModulus(const Real E)
Set the Young's Modulus.
Definition: IsotropicElasticityTensor.C:40
IsotropicElasticityTensor::IsotropicElasticityTensor
IsotropicElasticityTensor(const bool constant=true)
Definition: IsotropicElasticityTensor.C:12
ElasticityTensor
This class defines a basic set of capabilities any elasticity tensor should have.
Definition: ElasticityTensor.h:23
IsotropicElasticityTensor::_nu
Real _nu
Definition: IsotropicElasticityTensor.h:73
IsotropicElasticityTensor::setLambda
void setLambda(const Real lambda)
Set the first Lame Coefficient.
Definition: IsotropicElasticityTensor.C:26
IsotropicElasticityTensor::_k
Real _k
Definition: IsotropicElasticityTensor.h:73
IsotropicElasticityTensor::setMu
void setMu(const Real mu)
Set the second Lame Coefficient.
Definition: IsotropicElasticityTensor.C:33
IsotropicElasticityTensor::_mu_set
bool _mu_set
Definition: IsotropicElasticityTensor.h:71
IsotropicElasticityTensor::_E
Real _E
Definition: IsotropicElasticityTensor.h:73
IsotropicElasticityTensor::calculateLameCoefficients
void calculateLameCoefficients()
Calculates lambda and mu based on what has been set.
Definition: IsotropicElasticityTensor.C:67
IsotropicElasticityTensor::setBulkModulus
void setBulkModulus(const Real k)
Set the Bulk Modulus.
Definition: IsotropicElasticityTensor.C:54
IsotropicElasticityTensor::_k_set
bool _k_set
Definition: IsotropicElasticityTensor.h:71
ElasticityTensor.h
IsotropicElasticityTensor::_mu
Real _mu
Definition: IsotropicElasticityTensor.h:73
IsotropicElasticityTensor
Defines an Isotropic Elasticity Tensor.
Definition: IsotropicElasticityTensor.h:33
IsotropicElasticityTensor::_E_set
bool _E_set
Definition: IsotropicElasticityTensor.h:71
IsotropicElasticityTensor::isotropicEntry
Real isotropicEntry(const unsigned int i, const unsigned j, const unsigned k, const unsigned l)
Computes a single entry of C_ijkl.
Definition: IsotropicElasticityTensor.C:104