v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp > Struct Template Reference

[Auxiliary functions functions More...

#include "users_modules/multifield-thermoplasticity-private/tutorials/adv-0/src/PlasticOpsGeneric.hpp"

Inheritance diagram for PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >:
[legend]
Collaboration diagram for PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >:
[legend]

Public Member Functions

 OpCalculatePlasticSurfaceImpl (const std::string field_name, boost::shared_ptr< CommonData > common_data_ptr)
 
MoFEMErrorCode doWork (int side, EntityType type, EntData &data)
 
 OpCalculatePlasticSurfaceImpl (const std::string field_name, boost::shared_ptr< CommonData > common_data_ptr)
 
MoFEMErrorCode doWork (int side, EntityType type, EntData &data)
 

Protected Attributes

boost::shared_ptr< CommonDatacommonDataPtr
 

Detailed Description

template<int DIM, typename DomainEleOp>
struct PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >

[Auxiliary functions functions

Definition at line 399 of file PlasticOpsGeneric.hpp.

Constructor & Destructor Documentation

◆ OpCalculatePlasticSurfaceImpl() [1/2]

template<int DIM, typename DomainEleOp >
PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >::OpCalculatePlasticSurfaceImpl ( const std::string  field_name,
boost::shared_ptr< CommonData common_data_ptr 
)

Definition at line 410 of file PlasticOpsGeneric.hpp.

416 :
417 boost::shared_ptr<CommonData> commonDataPtr;
418 boost::shared_ptr<ThermoPlasticOps::ThermoPlasticBlockedParameters>

◆ OpCalculatePlasticSurfaceImpl() [2/2]

template<int DIM, typename DomainEleOp >
PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >::OpCalculatePlasticSurfaceImpl ( const std::string  field_name,
boost::shared_ptr< CommonData common_data_ptr 
)

Member Function Documentation

◆ doWork() [1/2]

template<int DIM, typename DomainEleOp >
MoFEMErrorCode PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >::doWork ( int  side,
EntityType  type,
EntData data 
)

Definition at line 421 of file PlasticOpsGeneric.hpp.

429 : DomainEleOp(field_name, DomainEleOp::OPROW),
430 commonDataPtr(common_data_ptr), commonTPDataPtr(tp_common_data_ptr) {
431 // Operator is only executed for vertices
432 std::fill(&DomainEleOp::doEntities[MBEDGE],
433 &DomainEleOp::doEntities[MBMAXTYPE], false);
434}
435
436template <int DIM, typename DomainEleOp>
437MoFEMErrorCode OpCalculatePlasticHardeningImpl<DIM, GAUSS, DomainEleOp>::doWork(
438 int side, EntityType type, EntData &data) {
440
441 FTENSOR_INDEX(DIM, i);
442 FTENSOR_INDEX(DIM, j);
443
444 const size_t nb_gauss_pts = commonDataPtr->mStressPtr->size2();
445
446 auto t_tau = getFTensor0FromVec(commonDataPtr->plasticTau);
447 auto t_plastic_strain =
448 getFTensor2SymmetricFromMat<DIM>(commonDataPtr->plasticStrain);
449 auto t_temp = getFTensor0FromVec(commonTPDataPtr->temperature);
450
451 commonDataPtr->plasticIsoHardening.resize(nb_gauss_pts, false);
452 // commonDataPtr->plasticKinHardening.resize(size_symm, nb_gauss_pts, false);
453 // TODO: sort issue with FTensor::Tensor2_symmetric<double, DIM> for kinematic
454 // hardening
455 // commonDataPtr->plasticKinHardening.resize(size_symm, nb_gauss_pts, false);
456 auto t_iso_hardening = getFTensor0FromVec(commonDataPtr->plasticIsoHardening);
457 // auto t_kin_hardening =
458 // getFTensor2SymmetricFromMat<DIM>(commonDataPtr->plasticKinHardening);
459
460 auto &params = commonDataPtr->blockParams;
461
462 for (int i = 0; i != nb_gauss_pts; ++i) {
463 t_iso_hardening =
464 iso_hardening(t_tau, params[CommonData::H], commonTPDataPtr->omega0,
465 params[CommonData::QINF], commonTPDataPtr->omegaH,
466 params[CommonData::BISO], params[CommonData::SIGMA_Y],
#define FTENSOR_INDEX(DIM, I)
DomainEle::UserDataOperator DomainEleOp
Finire element operator type.
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
constexpr auto field_name
Data on single entity (This is passed as argument to DataOperator::doWork)
double iso_hardening(double tau, double H, double Qinf, double b_iso, double sigmaY)
Definition plastic.cpp:73

◆ doWork() [2/2]

template<int DIM, typename DomainEleOp >
MoFEMErrorCode PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >::doWork ( int  side,
EntityType  type,
EntData data 
)

Member Data Documentation

◆ commonDataPtr

template<int DIM, typename DomainEleOp >
boost::shared_ptr< CommonData > PlasticOps::OpCalculatePlasticSurfaceImpl< DIM, GAUSS, DomainEleOp >::commonDataPtr
protected

Definition at line 406 of file PlasticOpsGeneric.hpp.


The documentation for this struct was generated from the following file: