v0.14.0
Public Types | Public Member Functions | Public Attributes | List of all members
EshelbianPlasticity::PhysicalEquations Struct Referenceabstract

#include <users_modules/eshelbian_plasticit/src/EshelbianPlasticity.hpp>

Inheritance diagram for EshelbianPlasticity::PhysicalEquations:
[legend]
Collaboration diagram for EshelbianPlasticity::PhysicalEquations:
[legend]

Public Types

typedef FTensor::Tensor1< adouble, 3 > ATensor1
 
typedef FTensor::Tensor2< adouble, 3, 3 > ATensor2
 
typedef FTensor::Tensor3< adouble, 3, 3, 3 > ATensor3
 
typedef FTensor::Tensor1< double, 3 > DTensor1
 
typedef FTensor::Tensor2< double, 3, 3 > DTensor2
 
typedef FTensor::Tensor3< double, 3, 3, 3 > DTensor3
 
typedef FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > DTensor0Ptr
 
typedef FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, 3, 3 > DTensor2Ptr
 
typedef FTensor::Tensor3< FTensor::PackPtr< double *, 1 >, 3, 3, 3 > DTensor3Ptr
 

Public Member Functions

 PhysicalEquations ()=delete
 
 PhysicalEquations (const int size_active, const int size_dependent)
 
virtual ~PhysicalEquations ()=default
 
virtual MoFEMErrorCode recordTape (const int tag, DTensor2Ptr *t_h)=0
 
virtual OpJacobianreturnOpJacobian (const int tag, const bool eval_rhs, const bool eval_lhs, boost::shared_ptr< DataAtIntegrationPts > &data_ptr, boost::shared_ptr< PhysicalEquations > &physics_ptr)=0
 
Dependent variables
DTensor2Ptr get_P ()
 
Derivatives of dependent variables
DTensor3Ptr get_P_dh0 ()
 
DTensor3Ptr get_P_dh1 ()
 
DTensor3Ptr get_P_dh2 ()
 

Public Attributes

std::vector< doubleactiveVariables
 
std::vector< doubledependentVariablesPiola
 
std::vector< doubledependentVariablesPiolaDirevatives
 

Active variables

DTensor2Ptr get_h ()
 
template<int S>
static DTensor2Ptr get_VecTensor2 (std::vector< double > &v)
 
template<int S>
static DTensor0Ptr get_VecTensor0 (std::vector< double > &v)
 
template<int S0>
static DTensor3Ptr get_vecTensor3 (std::vector< double > &v, const int nba)
 

Detailed Description

Definition at line 181 of file EshelbianPlasticity.hpp.

Member Typedef Documentation

◆ ATensor1

Definition at line 183 of file EshelbianPlasticity.hpp.

◆ ATensor2

Definition at line 184 of file EshelbianPlasticity.hpp.

◆ ATensor3

Definition at line 185 of file EshelbianPlasticity.hpp.

◆ DTensor0Ptr

Definition at line 190 of file EshelbianPlasticity.hpp.

◆ DTensor1

Definition at line 186 of file EshelbianPlasticity.hpp.

◆ DTensor2

Definition at line 187 of file EshelbianPlasticity.hpp.

◆ DTensor2Ptr

Definition at line 192 of file EshelbianPlasticity.hpp.

◆ DTensor3

Definition at line 188 of file EshelbianPlasticity.hpp.

◆ DTensor3Ptr

Definition at line 193 of file EshelbianPlasticity.hpp.

Constructor & Destructor Documentation

◆ PhysicalEquations() [1/2]

EshelbianPlasticity::PhysicalEquations::PhysicalEquations ( )
delete

◆ PhysicalEquations() [2/2]

EshelbianPlasticity::PhysicalEquations::PhysicalEquations ( const int  size_active,
const int  size_dependent 
)
inline

Definition at line 196 of file EshelbianPlasticity.hpp.

197  : activeVariables(size_active, 0),
198  dependentVariablesPiola(size_dependent, 0),
199  dependentVariablesPiolaDirevatives(size_dependent * size_active, 0) {}

◆ ~PhysicalEquations()

virtual EshelbianPlasticity::PhysicalEquations::~PhysicalEquations ( )
virtualdefault

Member Function Documentation

◆ get_h()

DTensor2Ptr EshelbianPlasticity::PhysicalEquations::get_h ( )
inline

Definition at line 262 of file EshelbianPlasticity.hpp.

262 { return get_VecTensor2<0>(activeVariables); }

◆ get_P()

DTensor2Ptr EshelbianPlasticity::PhysicalEquations::get_P ( )
inline

Definition at line 270 of file EshelbianPlasticity.hpp.

270  {
271  return get_VecTensor2<0>(dependentVariablesPiola);
272  }

◆ get_P_dh0()

DTensor3Ptr EshelbianPlasticity::PhysicalEquations::get_P_dh0 ( )
inline

Definition at line 280 of file EshelbianPlasticity.hpp.

280  {
281  return get_vecTensor3<0>(dependentVariablesPiolaDirevatives,
282  activeVariables.size());
283  }

◆ get_P_dh1()

DTensor3Ptr EshelbianPlasticity::PhysicalEquations::get_P_dh1 ( )
inline

Definition at line 284 of file EshelbianPlasticity.hpp.

284  {
285  return get_vecTensor3<3>(dependentVariablesPiolaDirevatives,
286  activeVariables.size());
287  }

◆ get_P_dh2()

DTensor3Ptr EshelbianPlasticity::PhysicalEquations::get_P_dh2 ( )
inline

Definition at line 288 of file EshelbianPlasticity.hpp.

288  {
289  return get_vecTensor3<6>(dependentVariablesPiolaDirevatives,
290  activeVariables.size());
291  }

◆ get_VecTensor0()

template<int S>
static DTensor0Ptr EshelbianPlasticity::PhysicalEquations::get_VecTensor0 ( std::vector< double > &  v)
inlinestatic

Definition at line 224 of file EshelbianPlasticity.hpp.

224  {
225  return DTensor0Ptr(&v[S + 0]);
226  }

◆ get_VecTensor2()

template<int S>
static DTensor2Ptr EshelbianPlasticity::PhysicalEquations::get_VecTensor2 ( std::vector< double > &  v)
inlinestatic

Definition at line 218 of file EshelbianPlasticity.hpp.

218  {
219  return DTensor2Ptr(&v[S + 0], &v[S + 1], &v[S + 2], &v[S + 3], &v[S + 4],
220  &v[S + 5], &v[S + 6], &v[S + 7], &v[S + 8]);
221  }

◆ get_vecTensor3()

template<int S0>
static DTensor3Ptr EshelbianPlasticity::PhysicalEquations::get_vecTensor3 ( std::vector< double > &  v,
const int  nba 
)
inlinestatic

Definition at line 229 of file EshelbianPlasticity.hpp.

230  {
231 
232  const int A00 = nba * 0 + S0;
233  const int A01 = nba * 1 + S0;
234  const int A02 = nba * 2 + S0;
235  const int A10 = nba * 3 + S0;
236  const int A11 = nba * 4 + S0;
237  const int A12 = nba * 5 + S0;
238  const int A20 = nba * 6 + S0;
239  const int A21 = nba * 7 + S0;
240  const int A22 = nba * 8 + S0;
241 
242  return DTensor3Ptr(
243 
244  &v[A00 + 0], &v[A00 + 1], &v[A00 + 2], &v[A01 + 0], &v[A01 + 1],
245  &v[A01 + 2], &v[A02 + 0], &v[A02 + 1], &v[A02 + 2],
246 
247  &v[A10 + 0], &v[A10 + 1], &v[A10 + 2], &v[A11 + 0], &v[A11 + 1],
248  &v[A11 + 2], &v[A12 + 0], &v[A12 + 1], &v[A12 + 2],
249 
250  &v[A20 + 0], &v[A20 + 1], &v[A20 + 2], &v[A21 + 0], &v[A21 + 1],
251  &v[A21 + 2], &v[A22 + 0], &v[A22 + 1], &v[A22 + 2]
252 
253  );
254  }

◆ recordTape()

virtual MoFEMErrorCode EshelbianPlasticity::PhysicalEquations::recordTape ( const int  tag,
DTensor2Ptr t_h 
)
pure virtual

◆ returnOpJacobian()

virtual OpJacobian* EshelbianPlasticity::PhysicalEquations::returnOpJacobian ( const int  tag,
const bool  eval_rhs,
const bool  eval_lhs,
boost::shared_ptr< DataAtIntegrationPts > &  data_ptr,
boost::shared_ptr< PhysicalEquations > &  physics_ptr 
)
pure virtual

Member Data Documentation

◆ activeVariables

std::vector<double> EshelbianPlasticity::PhysicalEquations::activeVariables

Definition at line 209 of file EshelbianPlasticity.hpp.

◆ dependentVariablesPiola

std::vector<double> EshelbianPlasticity::PhysicalEquations::dependentVariablesPiola

Definition at line 210 of file EshelbianPlasticity.hpp.

◆ dependentVariablesPiolaDirevatives

std::vector<double> EshelbianPlasticity::PhysicalEquations::dependentVariablesPiolaDirevatives

Definition at line 211 of file EshelbianPlasticity.hpp.


The documentation for this struct was generated from the following file:
EshelbianPlasticity::PhysicalEquations::activeVariables
std::vector< double > activeVariables
Definition: EshelbianPlasticity.hpp:209
EshelbianPlasticity::PhysicalEquations::DTensor0Ptr
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > DTensor0Ptr
Definition: EshelbianPlasticity.hpp:190
EshelbianPlasticity::PhysicalEquations::DTensor2Ptr
FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, 3, 3 > DTensor2Ptr
Definition: EshelbianPlasticity.hpp:192
EshelbianPlasticity::PhysicalEquations::dependentVariablesPiolaDirevatives
std::vector< double > dependentVariablesPiolaDirevatives
Definition: EshelbianPlasticity.hpp:211
v
const double v
phase velocity of light in medium (cm/ns)
Definition: initial_diffusion.cpp:40
EshelbianPlasticity::PhysicalEquations::dependentVariablesPiola
std::vector< double > dependentVariablesPiola
Definition: EshelbianPlasticity.hpp:210
EshelbianPlasticity::PhysicalEquations::DTensor3Ptr
FTensor::Tensor3< FTensor::PackPtr< double *, 1 >, 3, 3, 3 > DTensor3Ptr
Definition: EshelbianPlasticity.hpp:193