www.mooseframework.org
ElasticityTensor.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 "ColumnMajorMatrix.h"
13 
23 class ElasticityTensor : public ColumnMajorMatrix
24 {
25 public:
32  ElasticityTensor(const bool constant = false);
33 
34  virtual ~ElasticityTensor() {}
35 
40  void calculate(unsigned int qp);
41 
42  virtual ColumnMajorMatrix calculateDerivative(unsigned int qp, unsigned int i);
43 
44 protected:
48  bool _constant;
49 
54 
61  virtual void calculateEntries(unsigned int qp) = 0;
62 };
63 
ElasticityTensor::~ElasticityTensor
virtual ~ElasticityTensor()
Definition: ElasticityTensor.h:34
ElasticityTensor::calculate
void calculate(unsigned int qp)
Public function that will be called whenever the values for this matrix need to be filled in.
Definition: ElasticityTensor.C:18
ElasticityTensor::_constant
bool _constant
Whether or not the matrix is constant for all of time and space.
Definition: ElasticityTensor.h:48
ElasticityTensor
This class defines a basic set of capabilities any elasticity tensor should have.
Definition: ElasticityTensor.h:23
ElasticityTensor::calculateEntries
virtual void calculateEntries(unsigned int qp)=0
Pure virtual (must be overriden by derived class).
ElasticityTensor::_values_computed
bool _values_computed
Whether or not the values have been computed once.
Definition: ElasticityTensor.h:53
ElasticityTensor::calculateDerivative
virtual ColumnMajorMatrix calculateDerivative(unsigned int qp, unsigned int i)
Definition: ElasticityTensor.C:28
ElasticityTensor::ElasticityTensor
ElasticityTensor(const bool constant=false)
Default constructor...
Definition: ElasticityTensor.C:12