85 nlstatus->setLocalEquivalentStrainForAverage(equivStrain);
94 double nonlocalEquivalentStrain = 0.0;
103 nonlocalContribution *= lir.weight;
105 nonlocalEquivalentStrain += nonlocalContribution;
108 nonlocalEquivalentStrain *= 1. / status->giveIntegrationScale();
110 return nonlocalEquivalentStrain;
116 MazarsMaterial :: initializeFrom(ir);
117 StructuralNonlocalMaterialExtensionInterface :: initializeFrom(ir);
135 if ( ( dist >= 0. ) && ( dist <= this->
R ) ) {
136 double help = ( 1. - dist * dist / (
R *
R ) );
160MazarsNLMaterialStatus :: MazarsNLMaterialStatus(
GaussPoint *g) :
166MazarsNLMaterialStatus :: printOutputAt(FILE *file,
TimeStep *tStep)
const
168 StructuralMaterialStatus :: printOutputAt(file, tStep);
169 fprintf(file,
"status { ");
170 if ( this->
damage > 0.0 ) {
171 fprintf(file,
"nonloc-kappa %f, damage %f ", this->
kappa, this->
damage);
174 fprintf(file,
"}\n");
179MazarsNLMaterialStatus :: initTempStatus()
185 MazarsMaterialStatus :: initTempStatus();
190MazarsNLMaterialStatus :: updateYourself(
TimeStep *tStep)
197 MazarsMaterialStatus :: updateYourself(tStep);
204 MazarsMaterialStatus :: saveContext(stream, mode);
211 MazarsMaterialStatus :: restoreContext(stream, mode);
242 double localEquivalentStrainForAverage;
244 result = buff.
read(localEquivalentStrainForAverage);
#define REGISTER_Material(class)
virtual int read(int *data, std::size_t count)=0
Reads count integer values into array pointed by data.
virtual int givePackSizeOfDouble(std::size_t count)=0
virtual int write(const int *data, std::size_t count)=0
Writes count integer values from array pointed by data.
MaterialStatus * giveStatus(GaussPoint *gp) const override
double damage
Damage level of material.
double kappa
Scalar measure of the largest strain level ever reached in material.
void setLe(double ls)
Sets characteristic length to given value.
virtual void initTempStatus(GaussPoint *gp) const
MazarsMaterialStatus(GaussPoint *g)
Constructor.
void setLec(double ls)
Sets characteristic length to given value.
MazarsMaterial(int n, Domain *d)
Constructor.
double hReft
Reference elem-length for objectivity.
void setLocalEquivalentStrainForAverage(double ls)
Sets the local equivalent strain for average to given value.
double giveLocalEquivalentStrainForAverage()
Returns the local equivalent strain to be averaged.
double computeLocalEquivalentStrain(const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) const
double R
Interaction radius, related to the nonlocal characteristic length of material.
void buildNonlocalPointTable(GaussPoint *gp) const
void endIPNonlocalAverage(GaussPoint *gp) const
void updateDomainBeforeNonlocAverage(TimeStep *tStep) const
std ::vector< localIntegrationRecord > * giveIPIntegrationList(GaussPoint *gp) const
void giveStressDependentPartOfStrainVector(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrainVector, TimeStep *tStep, ValueModeType mode) const
StructuralNonlocalMaterialExtensionInterface(Domain *d)
StructuralNonlocalMaterialStatusExtensionInterface()
#define _IFT_MazarsNLMaterial_r
@ NonlocalMaterialStatusExtensionInterfaceType
@ NonlocalMaterialExtensionInterfaceType
double distance(const FloatArray &x, const FloatArray &y)