www.mooseframework.org
ADComputeElasticityTensorBase.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 "ADMaterial.h"
13 #include "RankFourTensor.h"
14 #include "GuaranteeProvider.h"
15 #include "DerivativeMaterialPropertyNameInterface.h"
16 
17 #define usingComputeElasticityTensorBaseMembers \
18  usingMaterialMembers; \
19  using ADComputeElasticityTensorBase<compute_stage>::_elasticity_tensor_name; \
20  using ADComputeElasticityTensorBase<compute_stage>::_elasticity_tensor; \
21  using ADComputeElasticityTensorBase<compute_stage>::issueGuarantee
22 
23 template <ComputeStage>
25 template <typename>
28 
30 
34 template <ComputeStage compute_stage>
35 class ADComputeElasticityTensorBase : public ADMaterial<compute_stage>,
36  public DerivativeMaterialPropertyNameInterface,
37  public GuaranteeProvider
38 {
39 public:
40  static InputParameters validParams();
41 
42  ADComputeElasticityTensorBase(const InputParameters & parameters);
43 
44 protected:
45  virtual void computeQpProperties();
46  virtual void computeQpElasticityTensor() = 0;
47 
48  const std::string _base_name;
50 
51  ADMaterialProperty(RankFourTensor) & _elasticity_tensor;
52 
54  const Function * const _prefactor_function;
55 
57 };
GuaranteeProvider
Add-on class that provides the functionality to issue guarantees for declared material properties.
Definition: GuaranteeProvider.h:25
ADComputeElasticityTensorBase::_base_name
const std::string _base_name
Definition: ADComputeElasticityTensorBase.h:48
ADComputeElasticityTensorBase::computeQpProperties
virtual void computeQpProperties()
Definition: ADComputeElasticityTensorBase.C:46
ADComputeElasticityTensorBase::validParams
static InputParameters validParams()
Definition: ADComputeElasticityTensorBase.C:17
ADComputeElasticityTensorBase::ADMaterialProperty
ADMaterialProperty(RankFourTensor) &_elasticity_tensor
declareADValidParams
declareADValidParams(ADComputeElasticityTensorBase)
RankFourTensor
RankFourTensorTempl< Real > RankFourTensor
Definition: ADComputeElasticityTensorBase.h:26
ADComputeElasticityTensorBase::_elasticity_tensor_name
std::string _elasticity_tensor_name
Definition: ADComputeElasticityTensorBase.h:49
ADComputeElasticityTensorBase::usingMaterialMembers
usingMaterialMembers
Definition: ADComputeElasticityTensorBase.h:56
ADComputeElasticityTensorBase
ADComputeElasticityTensorBase is a the base class for computing elasticity tensors.
Definition: ADComputeElasticityTensorBase.h:24
ADComputeElasticityTensorBase::ADComputeElasticityTensorBase
ADComputeElasticityTensorBase(const InputParameters &parameters)
Definition: ADComputeElasticityTensorBase.C:31
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
ADComputeElasticityTensorBase::computeQpElasticityTensor
virtual void computeQpElasticityTensor()=0
ADComputeElasticityTensorBase::_prefactor_function
const Function *const _prefactor_function
prefactor function to multiply the elasticity tensor with
Definition: ADComputeElasticityTensorBase.h:54
GuaranteeProvider.h