44#define _IFT_IDNLMaterial_Name "idmnl1"
45#define _IFT_IDNLMaterial_r "r"
78 const char *
giveClassName()
const override {
return "IDNLMaterialStatus"; }
146 {
return IsotropicDamageMaterial1 :: computeEquivalentStrain(strain, gp, tStep); }
201 MatResponseMode mode,
211 std::unique_ptr<MaterialStatus>
CreateStatus(
GaussPoint *gp)
const override {
return std::make_unique<IDNLMaterialStatus>(gp); }
double giveLocalEquivalentStrainForAverage()
Returns the local equivalent strain to be averaged.
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
double localEquivalentStrainForAverage
Equivalent strain for averaging.
void updateYourself(TimeStep *tStep) override
void setLocalEquivalentStrainForAverage(double ls)
Sets the localEquivalentStrainForAverage to given value.
void initTempStatus() override
void saveContext(DataStream &stream, ContextMode mode) override
void restoreContext(DataStream &stream, ContextMode mode) override
Interface * giveInterface(InterfaceType) override
const char * giveClassName() const override
IDNLMaterialStatus(GaussPoint *g)
Constructor.
void NonlocalMaterialStiffnessInterface_addIPContribution(SparseMtrx &dest, const UnknownNumberingScheme &s, GaussPoint *gp, TimeStep *tStep) override
Computes and adds IP contributions to destination matrix.
int giveLocalNonlocalStiffnessContribution(GaussPoint *gp, IntArray &loc, const UnknownNumberingScheme &s, FloatArray &lcontrib, TimeStep *tStep)
double predictRelativeComputationalCost(GaussPoint *gp) override
void NonlocalMaterialStiffnessInterface_showSparseMtrxStructure(GaussPoint *gp, oofegGraphicContext &gc, TimeStep *tStep) override
Plots the sparse structure of stiffness contribution.
double computeLocalEquivalentStrain(const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) const
double computeStressBasedWeight(double cl, double &nx, double &ny, double &ratio, GaussPoint *gp, GaussPoint *jGp, double weight) const
double computeDamageParam(double kappa, const FloatArray &strain, GaussPoint *gp) const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
void giveRemoteNonlocalStiffnessContribution(GaussPoint *gp, IntArray &rloc, const UnknownNumberingScheme &s, FloatArray &rcontrib, TimeStep *tStep)
const char * giveClassName() const override
int packUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *ip) override
double computeStressBasedWeightForPeriodicCell(double cl, double &nx, double &ny, double &ratio, GaussPoint *gp, GaussPoint *jGp) const
int estimatePackSize(DataStream &buff, GaussPoint *ip) override
double giveNonlocalMetricModifierAt(GaussPoint *gp) const override
Compute the factor that specifies how the interaction length should be modified (by eikonal nonlocal ...
void computeAngleAndSigmaRatio(double &nx, double &ny, double &ratio, GaussPoint *gp, bool &flag) const
const char * giveInputRecordName() const override
Interface * giveInterface(InterfaceType it) override
int unpackAndUpdateUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *ip) override
void giveNormalElasticStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
void updateBeforeNonlocAverage(const FloatArray &strainVector, GaussPoint *gp, TimeStep *tStep) const override
void giveInputRecord(DynamicInputRecord &input) override
std ::vector< localIntegrationRecord > * NonlocalMaterialStiffnessInterface_giveIntegrationDomainList(GaussPoint *gp) override
void initDamaged(double kappa, FloatArray &totalStrainVector, GaussPoint *gp) const override
double predictRelativeRedistributionCost(GaussPoint *gp) override
IDNLMaterial(int n, Domain *d)
Constructor.
double computeEquivalentStrain(const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) const override
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
void initializeFrom(InputRecord &ir) override
IsotropicDamageMaterial1Status(GaussPoint *g)
Constructor.
IsotropicDamageMaterial1(int n, Domain *d)
Constructor.
NonlocalMaterialStiffnessInterface()
Constructor.
StructuralNonlocalMaterialExtensionInterface(Domain *d)
StructuralNonlocalMaterialStatusExtensionInterface()
#define _IFT_IDNLMaterial_Name
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]