|
| v0.14.0
|
Closest point projection algorithm.
More...
#include <users_modules/small_strain_plasticity/src/SmallStrainPlasticity.hpp>
Closest point projection algorithm.
- Examples
- SmallStrainPlasticityMaterialModels.hpp.
Definition at line 482 of file SmallStrainPlasticity.hpp.
◆ ClosestPointProjection()
SmallStrainPlasticity::ClosestPointProjection::ClosestPointProjection |
( |
| ) |
|
|
inline |
◆ cAlculateA()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::cAlculateA |
( |
| ) |
|
|
virtual |
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 978 of file SmallStrainPlasticity.cpp.
985 for(
int ii = 0;ii<6;ii++) {
986 for(
int jj = 0;jj<6;jj++) {
994 for(
int ii = 0;ii<6;ii++) {
1001 for(
int jj = 0;jj<6;jj++) {
1007 dataA(6+ii,6+ii) -= 1;
1015 for(
unsigned int dd = 0;
dd<partial_y_sigma_c.size();
dd++) {
1018 for(
unsigned int dd = 0;
dd<partial_y_flux_d.size();
dd++) {
1022 ierr = MatAssemblyBegin(
A,MAT_FINAL_ASSEMBLY); CHKERRQ(
ierr);
1023 ierr = MatAssemblyEnd(
A,MAT_FINAL_ASSEMBLY); CHKERRQ(
ierr);
1024 PetscFunctionReturn(0);
◆ cAlculateR()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::cAlculateR |
( |
Vec |
R | ) |
|
|
virtual |
◆ consistentTangent()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::consistentTangent |
( |
| ) |
|
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 1095 of file SmallStrainPlasticity.cpp.
1099 Ep.resize(6,6,
false);
1109 for(
int dd = 0;
dd<6;
dd++) {
1110 ierr = VecZeroEntries(
R); CHKERRQ(
ierr);
1112 ierr = VecGetArray(
R,&array); CHKERRQ(
ierr);
1114 for(
int ii = 0;ii<6;ii++) {
1115 array[ii] = ep_row(ii,
dd);
1118 array[6+ii] = alpha_row(ii,
dd);
1120 array[
n] = y_row[
dd];
1122 ierr = VecRestoreArray(
R,&array); CHKERRQ(
ierr);
1123 ierr = VecAssemblyBegin(
R); CHKERRQ(
ierr);
1124 ierr = VecAssemblyEnd(
R); CHKERRQ(
ierr);
1128 for(
int ii = 0;ii<6;ii++) {
1129 Ep(ii,
dd) = array[ii];
1132 Lp(ii,
dd) = array[6+ii];
1138 Cp.resize(6,6,
false);
1139 noalias(
Cp) = prod(
C,
Ep);
1140 Cep.resize(6,6,
false);
1150 PetscFunctionReturn(0);
◆ createMatAVecR()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::createMatAVecR |
( |
| ) |
|
|
virtual |
◆ destroyMatAVecR()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::destroyMatAVecR |
( |
| ) |
|
|
virtual |
◆ evaluatePotentials()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::evaluatePotentials |
( |
| ) |
|
|
virtual |
◆ flowPotential()
virtual PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::flowPotential |
( |
| ) |
|
|
inlinevirtual |
◆ freeHemholtzEnergy()
virtual PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::freeHemholtzEnergy |
( |
| ) |
|
|
inlinevirtual |
◆ pLayH()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::pLayH |
( |
| ) |
|
|
virtual |
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 870 of file SmallStrainPlasticity.cpp.
873 int adloc_return_value = 0;
875 if(
r<adloc_return_value) {
880 if(
r<adloc_return_value) {
890 if(
r<adloc_return_value) {
896 ublas::shallow_array_adaptor<double>(
903 for(
int ii = 0;ii<6;ii++) {
904 for(
int jj = 0;jj<=ii;jj++) {
910 for(
unsigned int jj = 0;jj<=ii;jj++) {
916 for(
int ii = 0;ii<6;ii++) {
921 PetscFunctionReturn(0);
◆ pLayW()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::pLayW |
( |
| ) |
|
|
virtual |
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 762 of file SmallStrainPlasticity.cpp.
765 int adloc_return_value = 0;
767 if(
r<adloc_return_value) {
772 if(
r<adloc_return_value) {
782 if(
r<adloc_return_value) {
788 ublas::shallow_array_adaptor<double>(
794 for(
int ii = 0;ii<6;ii++) {
795 for(
int jj = 0;jj<=ii;jj++) {
800 for(
int ii = 0;ii<6;ii++) {
801 for(
int jj = 0;jj<6;jj++) {
807 for(
unsigned int jj = 0;jj<=ii;jj++) {
811 PetscFunctionReturn(0);
◆ pLayW_NoHessian()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::pLayW_NoHessian |
( |
| ) |
|
|
virtual |
◆ pLayY()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::pLayY |
( |
| ) |
|
|
virtual |
◆ pLayY_NoGradient()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::pLayY_NoGradient |
( |
| ) |
|
|
virtual |
◆ rEcordH()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::rEcordH |
( |
| ) |
|
|
virtual |
◆ rEcordW()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::rEcordW |
( |
| ) |
|
|
virtual |
◆ rEcordY()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::rEcordY |
( |
| ) |
|
|
virtual |
◆ setActiveVariablesW()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::setActiveVariablesW |
( |
| ) |
|
|
virtual |
◆ setActiveVariablesYH()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::setActiveVariablesYH |
( |
| ) |
|
|
virtual |
◆ snesCreate()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::snesCreate |
( |
| ) |
|
◆ snesDestroy()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::snesDestroy |
( |
| ) |
|
◆ solveColasetProjection()
PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::solveColasetProjection |
( |
| ) |
|
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 1050 of file SmallStrainPlasticity.cpp.
1055 for(
int ii = 0;ii<6;ii++) {
1059 for(
unsigned int ii = 0;ii<nb_internal_variables;ii++) {
1063 ierr = VecRestoreArray(
Chi,&array); CHKERRQ(
ierr);
1066 SNESConvergedReason reason;
1067 ierr = SNESGetConvergedReason(
sNes,&reason); CHKERRQ(
ierr);
1070 ierr = SNESGetIterationNumber(
sNes,&its); CHKERRQ(
ierr);
1082 for(
int ii = 0;ii<6;ii++) {
1086 for(
unsigned int ii = 0;ii<nb_internal_variables;ii++) {
1090 ierr = VecRestoreArray(
Chi,&array); CHKERRQ(
ierr);
1092 PetscFunctionReturn(0);
◆ yieldFunction()
virtual PetscErrorCode SmallStrainPlasticity::ClosestPointProjection::yieldFunction |
( |
| ) |
|
|
inlinevirtual |
◆ SmallStrainPlasticityfJac
PetscErrorCode SmallStrainPlasticityfJac |
( |
SNES |
, |
|
|
Vec |
, |
|
|
Mat |
, |
|
|
Mat |
, |
|
|
void * |
ctx |
|
) |
| |
|
friend |
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 1207 of file SmallStrainPlasticity.cpp.
1213 #if PETSC_VERSION_GE(3,6,0)
1214 const double *array;
1215 ierr = VecGetArrayRead(chi,&array); CHKERRQ(
ierr);
1218 ierr = VecGetArray(chi,&array); CHKERRQ(
ierr);
1220 for(
int ii = 0;ii<6;ii++) {
1227 #if PETSC_VERSION_GE(3,6,0)
1228 ierr = VecRestoreArrayRead(chi,&array); CHKERRQ(
ierr);
1230 ierr = VecRestoreArray(chi,&array); CHKERRQ(
ierr);
1235 PetscFunctionReturn(0);
◆ SmallStrainPlasticityfRes
PetscErrorCode SmallStrainPlasticityfRes |
( |
SNES |
, |
|
|
Vec |
, |
|
|
Vec |
, |
|
|
void * |
ctx |
|
) |
| |
|
friend |
- Examples
- SmallStrainPlasticity.hpp.
Definition at line 1154 of file SmallStrainPlasticity.cpp.
1161 #if PETSC_VERSION_GE(3,6,0)
1162 const double *array;
1163 ierr = VecGetArrayRead(chi,&array); CHKERRQ(
ierr);
1165 const double *array;
1166 ierr = VecGetArray(chi,&array); CHKERRQ(
ierr);
1168 for(
int ii = 0;ii<6;ii++) {
1175 #if PETSC_VERSION_GE(3,6,0)
1176 ierr = VecRestoreArrayRead(chi,&array); CHKERRQ(
ierr);
1178 ierr = VecRestoreArray(chi,&array); CHKERRQ(
ierr);
1204 PetscFunctionReturn(0);
Mat SmallStrainPlasticity::ClosestPointProjection::A |
◆ a_h
adouble SmallStrainPlasticity::ClosestPointProjection::a_h |
◆ a_internalFluxes
ublas::vector<adouble> SmallStrainPlasticity::ClosestPointProjection::a_internalFluxes |
◆ a_internalVariables
ublas::vector<adouble> SmallStrainPlasticity::ClosestPointProjection::a_internalVariables |
◆ a_plasticStrain
ublas::vector<adouble> SmallStrainPlasticity::ClosestPointProjection::a_plasticStrain |
◆ a_sTrain
ublas::vector<adouble> SmallStrainPlasticity::ClosestPointProjection::a_sTrain |
◆ a_sTress
ublas::vector<adouble> SmallStrainPlasticity::ClosestPointProjection::a_sTress |
◆ a_w
adouble SmallStrainPlasticity::ClosestPointProjection::a_w |
◆ a_y
adouble SmallStrainPlasticity::ClosestPointProjection::a_y |
◆ activeVariablesW
VectorDouble SmallStrainPlasticity::ClosestPointProjection::activeVariablesW |
◆ activeVariablesYH
VectorDouble SmallStrainPlasticity::ClosestPointProjection::activeVariablesYH |
ublas::symmetric_matrix<double,ublas::lower> SmallStrainPlasticity::ClosestPointProjection::C |
◆ Cep
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::Cep |
◆ Chi
Vec SmallStrainPlasticity::ClosestPointProjection::Chi |
◆ Cp
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::Cp |
ublas::symmetric_matrix<double,ublas::lower> SmallStrainPlasticity::ClosestPointProjection::D |
◆ dataA
ublas::matrix<double,ublas::column_major> SmallStrainPlasticity::ClosestPointProjection::dataA |
◆ dChi
Vec SmallStrainPlasticity::ClosestPointProjection::dChi |
◆ deltaGamma
double SmallStrainPlasticity::ClosestPointProjection::deltaGamma |
◆ Ep
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::Ep |
◆ gG
int SmallStrainPlasticity::ClosestPointProjection::gG |
◆ gradientH
VectorDouble SmallStrainPlasticity::ClosestPointProjection::gradientH |
◆ gradientW
VectorDouble SmallStrainPlasticity::ClosestPointProjection::gradientW |
◆ gradientY
VectorDouble SmallStrainPlasticity::ClosestPointProjection::gradientY |
double SmallStrainPlasticity::ClosestPointProjection::h |
◆ hessianH
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::hessianH |
◆ hessianW
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::hessianW |
◆ internalFluxes
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::internalFluxes |
◆ internalVariables
VectorDouble SmallStrainPlasticity::ClosestPointProjection::internalVariables |
◆ internalVariables0
VectorDouble SmallStrainPlasticity::ClosestPointProjection::internalVariables0 |
◆ kSp
KSP SmallStrainPlasticity::ClosestPointProjection::kSp |
◆ lineSearch
SNESLineSearch SmallStrainPlasticity::ClosestPointProjection::lineSearch |
◆ Lp
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::Lp |
◆ partial2HFlux
ublas::symmetric_matrix<double,ublas::lower> SmallStrainPlasticity::ClosestPointProjection::partial2HFlux |
◆ partial2HSigma
ublas::symmetric_matrix<double,ublas::lower> SmallStrainPlasticity::ClosestPointProjection::partial2HSigma |
◆ partial2HSigmaFlux
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::partial2HSigmaFlux |
◆ partialHFlux
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::partialHFlux |
◆ partialHSigma
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::partialHSigma |
◆ partialWStrainPlasticStrain
MatrixDouble SmallStrainPlasticity::ClosestPointProjection::partialWStrainPlasticStrain |
◆ partialYFlux
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::partialYFlux |
◆ partialYSigma
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::partialYSigma |
◆ pC
PC SmallStrainPlasticity::ClosestPointProjection::pC |
◆ plasticStrain
VectorDouble SmallStrainPlasticity::ClosestPointProjection::plasticStrain |
◆ plasticStrain0
VectorDouble SmallStrainPlasticity::ClosestPointProjection::plasticStrain0 |
Vec SmallStrainPlasticity::ClosestPointProjection::R |
◆ sNes
SNES SmallStrainPlasticity::ClosestPointProjection::sNes |
◆ sTrain
VectorDouble SmallStrainPlasticity::ClosestPointProjection::sTrain |
◆ sTress
VectorAdaptor SmallStrainPlasticity::ClosestPointProjection::sTress |
◆ tAgs
vector<int> SmallStrainPlasticity::ClosestPointProjection::tAgs |
◆ tOl
double SmallStrainPlasticity::ClosestPointProjection::tOl |
double SmallStrainPlasticity::ClosestPointProjection::w |
double SmallStrainPlasticity::ClosestPointProjection::y |
◆ Yp
VectorDouble SmallStrainPlasticity::ClosestPointProjection::Yp |
The documentation for this struct was generated from the following files:
friend PetscErrorCode SmallStrainPlasticityfRes(SNES, Vec, Vec, void *ctx)
virtual PetscErrorCode evaluatePotentials()
VectorDouble plasticStrain0
ublas::vector< adouble > a_plasticStrain
SNESLineSearch lineSearch
VectorDouble internalVariables0
virtual PetscErrorCode yieldFunction()
virtual PetscErrorCode setActiveVariablesW()
VectorAdaptor partialHFlux
virtual PetscErrorCode pLayH()
VectorDouble plasticStrain
virtual PetscErrorCode rEcordH()
UBlasMatrix< double > MatrixDouble
Closest point projection algorithm.
VectorAdaptor partialHSigma
virtual PetscErrorCode rEcordY()
ublas::symmetric_matrix< double, ublas::lower > D
ublas::matrix< double, ublas::column_major > dataA
VectorAdaptor partialYSigma
ublas::symmetric_matrix< double, ublas::lower > partial2HFlux
friend PetscErrorCode SmallStrainPlasticityfJac(SNES, Vec, Mat, Mat, void *ctx)
ublas::vector< adouble > a_internalFluxes
VectorAdaptor internalFluxes
MatrixDouble partial2HSigmaFlux
MatrixDouble partialWStrainPlasticStrain
VectorAdaptor partialYFlux
VectorDouble activeVariablesYH
VectorDouble activeVariablesW
@ MOFEM_OPERATION_UNSUCCESSFUL
virtual PetscErrorCode rEcordW()
ublas::vector< adouble > a_internalVariables
VectorShallowArrayAdaptor< double > VectorAdaptor
ublas::symmetric_matrix< double, ublas::lower > partial2HSigma
virtual PetscErrorCode freeHemholtzEnergy()
ublas::vector< adouble > a_sTress
VectorDouble internalVariables
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
virtual PetscErrorCode pLayW()
virtual PetscErrorCode flowPotential()
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
virtual PetscErrorCode cAlculateR(Vec R)
virtual PetscErrorCode setActiveVariablesYH()
UBlasVector< double > VectorDouble
ublas::vector< adouble > a_sTrain
virtual PetscErrorCode pLayY()
virtual PetscErrorCode cAlculateA()
ublas::symmetric_matrix< double, ublas::lower > C