|
| v0.14.0
|
Go to the documentation of this file.
22 using namespace MoFEM;
24 #include <boost/program_options.hpp>
26 namespace po = boost::program_options;
28 #include <boost/numeric/ublas/vector_proxy.hpp>
29 #include <boost/numeric/ublas/matrix.hpp>
30 #include <boost/numeric/ublas/matrix_proxy.hpp>
31 #include <boost/numeric/ublas/vector.hpp>
32 #include <boost/numeric/ublas/symmetric.hpp>
34 #include <adolc/adolc.h>
39 using namespace boost::numeric;
41 static char help[] =
"...\n"
44 int main(
int argc,
char *argv[]) {
71 cp.
sTrain.resize(6,
false);
85 for (
int ii = 0; ii <
N; ii++) {
86 cout <<
"Step " << ii << endl;
93 }
else if (ii <= 100) {
109 bool nonlinear =
false;
115 cout <<
"plot " << cp.
sTrain[idx] <<
" " << cp.
sTress[idx] <<
" "
122 cerr <<
"Cep " << cp.
Cep << endl;
125 const double eps = 1e-6;
126 for (
int ii = 0; ii < 6; ii++) {
130 for (
int dd = 0;
dd < 6;
dd++) {
136 for (
int dd = 0;
dd < 6;
dd++) {
141 cerr <<
"e " << e << endl;
VectorDouble plasticStrain0
VectorDouble internalVariables0
double young_modulus
Young modulus.
virtual PetscErrorCode destroyMatAVecR()
VectorDouble plasticStrain
UBlasMatrix< double > MatrixDouble
PetscErrorCode solveColasetProjection()
static MoFEMErrorCode Finalize()
Checks for options to be called at the conclusion of the program.
PetscErrorCode snesCreate()
virtual PetscErrorCode createMatAVecR()
Deprecated interface functions.
DeprecatedCoreInterface Interface
PetscErrorCode SmallStrainPlasticityfRes(SNES snes, Vec chi, Vec r, void *ctx)
#define CHKERR
Inline error check.
int main(int argc, char *argv[])
implementation of Data Operators for Forces and Sources
PetscErrorCode snesDestroy()
Small Strain plasticity material models.
double poisson_ratio
Poisson ratio.
J2 plasticity (Kinematic Isotropic (Linear) Hardening)
Operators and data structures for small strain plasticity.
VectorDouble internalVariables
static MoFEMErrorCode Initialize(int *argc, char ***args, const char file[], const char help[])
Initializes the MoFEM database PETSc, MOAB and MPI.
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)
#define CATCH_ERRORS
Catch errors.
UBlasVector< double > VectorDouble
PetscErrorCode consistentTangent()