49#define _IFT_TrabBone3D_Name "trabbone3d"
50#define _IFT_TrabBone3D_eps0 "eps0"
51#define _IFT_TrabBone3D_nu0 "nu0"
52#define _IFT_TrabBone3D_mu0 "mu0"
53#define _IFT_TrabBone3D_expk "expk"
54#define _IFT_TrabBone3D_expl "expl"
56#define _IFT_TrabBone3D_m1 "m1"
57#define _IFT_TrabBone3D_m2 "m2"
58#define _IFT_TrabBone3D_rho "rho"
60#define _IFT_TrabBone3D_sig0Pos "sig0pos"
61#define _IFT_TrabBone3D_sig0Neg "sig0neg"
62#define _IFT_TrabBone3D_chi0Pos "chi0pos"
63#define _IFT_TrabBone3D_chi0Neg "chi0neg"
64#define _IFT_TrabBone3D_tau0 "tau0"
65#define _IFT_TrabBone3D_expp "expp"
66#define _IFT_TrabBone3D_expq "expq"
67#define _IFT_TrabBone3D_plasHardFactor "plashardfactor"
68#define _IFT_TrabBone3D_expPlasHard "expplashard"
70#define _IFT_TrabBone3D_expDam "expdam"
71#define _IFT_TrabBone3D_critDam "critdam"
73#define _IFT_TrabBone3D_x1 "x1"
74#define _IFT_TrabBone3D_x2 "x2"
75#define _IFT_TrabBone3D_x3 "x3"
76#define _IFT_TrabBone3D_y1 "y1"
77#define _IFT_TrabBone3D_y2 "y2"
78#define _IFT_TrabBone3D_y3 "y3"
80#define _IFT_TrabBone3D_viscosity "viscosity"
83#define _IFT_TrabBone3D_gMin "gmin"
84#define _IFT_TrabBone3D_gammaL "gammal"
85#define _IFT_TrabBone3D_gammaP "gammap"
86#define _IFT_TrabBone3D_tDens "tdens"
87#define _IFT_TrabBone3D_densCrit "denscrit"
89#define _IFT_TrabBone3D_printflag "printflag"
90#define _IFT_TrabBone3D_max_num_iter "max_num_iter"
91#define _IFT_TrabBone3D_max_num_substeps "max_num_substeps"
92#define _IFT_TrabBone3D_rel_yield_tol "rel_yield_tol"
93#define _IFT_TrabBone3D_strain_tol "strain_tol"
StructuralMaterialStatus(GaussPoint *g)
Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g.
StructuralMaterial(int n, Domain *d)
void setTempEffectiveStress(const FloatArrayF< 6 > &sc)
double densG
Densificator criterion.
void initTempStatus() override
FloatArrayF< 6 > tempPlasDef
const FloatArrayF< 6 > & giveTempPlasDef() const
double giveTempKappa() const
TrabBone3DStatus(GaussPoint *g)
const char * giveClassName() const override
const FloatArrayF< 6 > & giveTempEffectiveStress() const
FloatMatrixF< 6, 6 > SSaTensor
const FloatMatrixF< 6, 6 > & giveSSaTensor() const
void setTempPlasDef(const FloatArrayF< 6 > &epsip)
void setTempTSED(double tse)
const FloatArrayF< 6 > & givePlasDef() const
void setKappa(double values)
FloatArrayF< 6 > effectiveStress
void restoreContext(DataStream &stream, ContextMode mode) override
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
void setTempDam(double da)
void setSSaTensor(const FloatMatrixF< 6, 6 > &ssa)
double giveTempPSED() const
double giveTempTSED() const
void setTempPSED(double pse)
double giveTempDam() const
void setTempKappa(double al)
void setPlasFlowDirec(const FloatArrayF< 6 > &pfd)
void updateYourself(TimeStep *tStep) override
const FloatArrayF< 6 > & givePlasFlowDirec() const
void saveContext(DataStream &stream, ContextMode mode) override
FloatArrayF< 6 > plasFlowDirec
FloatArrayF< 6 > tempStrain
FloatArrayF< 6 > tempEffectiveStress
FloatMatrixF< 6, 6 > constructAnisoComplTensor() const
Construct anisotropic compliance tensor.
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
double evaluateCurrentYieldStress(double kappa) const
std::pair< FloatArrayF< 6 >, double > constructPlasFlowDirec(FloatMatrixF< 6, 6 > &fabric, const FloatArrayF< 6 > &F, const FloatArrayF< 6 > &S) const
void computePlasStrainEnerDensity(GaussPoint *gp, const FloatArrayF< 6 > &strain, const FloatArrayF< 6 > &stress) const
double computeDamageParamPrime(double kappa) const
const char * giveInputRecordName() const override
TrabBone3D(int n, Domain *d)
double gammaL0
Densificator properties.
double evaluateCurrentPlasticModulus(double kappa) const
double x1
Local coordinate system.
FloatMatrixF< 6, 6 > constructNormAdjustTensor() const
Construct Tensor to adjust Norm.
double evaluateCurrentViscousStress(double deltaKappa, TimeStep *tStep) const
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
double evaluatePlasCriterion(const FloatMatrixF< 6, 6 > &fabric, const FloatArrayF< 6 > &F, const FloatArrayF< 6 > &stress, double kappa, double deltaKappa, TimeStep *tStep) const
double evaluateCurrentViscousModulus(double deltaKappa, TimeStep *tStep) const
virtual double computeCumPlastStrain(GaussPoint *gp, TimeStep *tStep) const
FloatArrayF< 6 > giveRealStressVector_3d(const FloatArrayF< 6 > &strain, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
FloatMatrixF< 6, 6 > constructStiffnessTransformationMatrix() const
void performPlasticityReturn(GaussPoint *gp, const FloatArrayF< 6 > &strain, TimeStep *tStep) const
double predictRelativeComputationalCost(GaussPoint *gp) override
bool projectOnYieldSurface(double &tempKappa, FloatArrayF< 6 > &tempEffectiveStress, FloatArrayF< 6 > &tempPlasDef, const FloatArrayF< 6 > &trialEffectiveStress, const FloatMatrixF< 6, 6 > &elasticity, const FloatMatrixF< 6, 6 > &compliance, TrabBone3DStatus *status, TimeStep *tStep, GaussPoint *gp, int lineSearchFlag) const
double viscosity
Viscosity parameter.
FloatArrayF< 6 > constructAnisoFtensor() const
void initializeFrom(InputRecord &ir) override
FloatMatrixF< 6, 6 > constructDerivativeOfPlasFlowDirec(const FloatMatrixF< 6, 6 > &fabric, const FloatArrayF< 6 > &F, const FloatArrayF< 6 > &S) const
const char * giveClassName() const override
double computeDamage(GaussPoint *gp, TimeStep *tStep) const
FloatMatrixF< 6, 6 > constructAnisoStiffnessTensor() const
Construct anisotropic stiffness tensor.
bool isCharacteristicMtrxSymmetric(MatResponseMode rMode) const override
FloatArrayF< 6 > computeDensificationStress(GaussPoint *gp, const FloatArrayF< 6 > &totalStrain, TimeStep *tStep) const
double computeDamageParam(double kappa) const
FloatMatrixF< 6, 6 > constructFabricTransformationMatrix() const
FloatMatrixF< 6, 6 > give3dMaterialStiffnessMatrix(MatResponseMode, GaussPoint *gp, TimeStep *tStep) const override
double predictRelativeRedistributionCost(GaussPoint *gp) override
FloatMatrixF< 6, 6 > constructAnisoFabricTensor() const
Construct anisotropic fabric tensor.
#define _IFT_TrabBone3D_Name