35#ifndef latticebondplasticity_h
36#define latticebondplasticity_h
43#define _IFT_LatticeBondPlasticity_Name "latticebondplast"
44#define _IFT_LatticeBondPlasticity_tol "tol"
45#define _IFT_LatticeBondPlasticity_iter "iter"
46#define _IFT_LatticeBondPlasticity_sub "sub"
47#define _IFT_LatticeBondPlasticity_fc "fc"
48#define _IFT_LatticeBondPlasticity_angle1 "angle1"
49#define _IFT_LatticeBondPlasticity_ef "ef"
90 const char *
giveClassName()
const override {
return "LatticeBondPlasticityStatus"; }
139 const char *
giveClassName()
const override {
return "LatticeBondPlasticity"; }
170 const double tempKappa,
171 const double deltaLambda,
176 const double tempKappa,
177 const double deltaLambda,
190 const double deltaLambda,
207 const double tempKappa,
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
double giveTempKappaP() const
Returns the temp. scalar measure of the largest strain level.
void saveContext(DataStream &stream, ContextMode mode) override
void initTempStatus() override
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveClassName() const override
double giveKappaP() const
Returns the last equilibrated scalar measure of the largest strain level.
void setSurfaceValue(int val)
void setTempKappaP(double newKappa)
Sets the temp scalar measure of the largest strain level to given value.
void updateYourself(TimeStep *) override
LatticeBondPlasticityStatus(int n, Domain *d, GaussPoint *g)
Constructor.
const char * giveInputRecordName() const override
bool hasMaterialModeCapability(MaterialMode mode) const override
double performRegularReturn(FloatArrayF< 3 > &stress, LatticeBondPlasticity_ReturnResult &returnResult, LatticeBondPlasticity_SurfaceType &surfaceType, double yieldValue, int transitionFlag, GaussPoint *gp) const
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
FloatArrayF< 6 > giveLatticeStress3d(const FloatArrayF< 6 > &jump, GaussPoint *gp, TimeStep *tStep) override
double computeDHardeningDKappa(double kappa) const
FloatMatrixF< 3, 3 > computeAMatrix(const FloatArrayF< 3 > &sigma, const double tempKappa, const double deltaLambda, int transitionFlag, GaussPoint *gp) const
LatticeBondPlasticity(int n, Domain *d)
Constructor.
bool checkForVertexCase(FloatArrayF< 3 > &stress, GaussPoint *gp) const
LatticeBondPlasticity_ReturnResult
const char * giveClassName() const override
FloatArrayF< 3 > computeMVector(const FloatArrayF< 3 > &sigma, const double kappa, int transitionFlag, GaussPoint *gp) const
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *atTime) override
LatticeBondPlasticity_SurfaceType
double yieldTol
yield tolerance
FloatMatrixF< 3, 3 > computeDMMatrix(const FloatArrayF< 3 > &sigma, const double deltaLambda, int transitionFlag, GaussPoint *gp) const
virtual FloatArrayF< 6 > giveReducedStrain(GaussPoint *gp, TimeStep *tStep) const
void initializeFrom(InputRecord &ir) override
double computeDParamADKappa(const double kappa) const
FloatMatrixF< 4, 4 > computeJacobian(const FloatArrayF< 3 > &sigma, const double tempKappa, const double deltaLambda, int transitionFlag, GaussPoint *gp) const
bool isCharacteristicMtrxSymmetric(MatResponseMode rMode) const override
double computeYieldValue(const FloatArrayF< 3 > &sigma, const double tempKappa, int transitionFlag, GaussPoint *gp) const
FloatArrayF< 3 > performPlasticityReturn(GaussPoint *gp, const FloatArrayF< 3 > &totalStrain, TimeStep *) const
double frictionAngleOne
frictional angle of the yield surface
double fc
compressive strength
FloatArrayF< 3 > computeFVector(const FloatArrayF< 3 > &sigma, const double kappa, int transitionFlag, GaussPoint *gp) const
double computeShift(const double kappa) const
double computeTransition(const double kappa, GaussPoint *gp) const
double computeParamA(const double kappa) const
int numberOfSubIncrements
maximum number of subincrements
int newtonIter
maximum number of iterations for stress return
double computeHardening(double kappa) const
double computeDShiftDKappa(const double kappa) const
void performVertexReturn(FloatArrayF< 3 > &stress, GaussPoint *gp) const
LatticeLinearElastic(int n, Domain *d)
LatticeMaterialStatus(GaussPoint *g)
#define _IFT_LatticeBondPlasticity_Name