|
OOFEM 3.0
|
#include <structuralnonlocalmaterialext.h>
Public Member Functions | |
| StructuralNonlocalMaterialExtensionInterface (Domain *d) | |
| ~StructuralNonlocalMaterialExtensionInterface () | |
| Destructor. | |
| virtual void | updateBeforeNonlocAverage (const FloatArray &strainVector, GaussPoint *gp, TimeStep *tStep) const =0 |
| Public Member Functions inherited from oofem::NonlocalMaterialExtensionInterface | |
| NonlocalMaterialExtensionInterface (Domain *d) | |
| virtual | ~NonlocalMaterialExtensionInterface () |
| Destructor. | |
| void | updateDomainBeforeNonlocAverage (TimeStep *tStep) const |
| void | buildNonlocalPointTable (GaussPoint *gp) const |
| void | rebuildNonlocalPointTable (GaussPoint *gp, IntArray *contributingElems) const |
| void | modifyNonlocalWeightFunctionAround (GaussPoint *gp) const |
| void | modifyNonlocalWeightFunction_1D_Around (GaussPoint *gp) const |
| virtual double | giveNonlocalMetricModifierAt (GaussPoint *gp) const |
| double | computeDistanceModifier (double cl, double damage) const |
| double | computeModifiedLength (double length, double dam1, double dam2) const |
| std ::vector< localIntegrationRecord > * | giveIPIntegrationList (GaussPoint *gp) const |
| virtual double | computeWeightFunction (const double cl, const double distance) const |
| virtual double | computeWeightFunction (const double cl, const FloatArray &src, const FloatArray &coord) const |
| double | giveIntegralOfWeightFunction (double cl, const int spatial_dimension) const |
| virtual double | maxValueOfWeightFunction () |
| Determines the maximum value of the nonlocal weight function. | |
| int | giveNumberOfRegions () const |
| virtual int | hasBoundedSupport () const |
| virtual double | evaluateSupportRadius (double cl) const |
| Domain * | giveDomain () |
| Returns reference to domain. | |
| void | initializeFrom (InputRecord &ir) |
| void | giveInputRecord (DynamicInputRecord &input) |
| void | endIPNonlocalAverage (GaussPoint *gp) const |
| Public Member Functions inherited from oofem::Interface | |
| Interface () | |
| Constructor. | |
| virtual | ~Interface () |
| virtual const char * | giveClassName () const =0 |
Additional Inherited Members | |
| Protected Types inherited from oofem::NonlocalMaterialExtensionInterface | |
| enum | ScalingType { ST_Unknown , ST_Standard , ST_Noscaling , ST_Borino } |
| Type characterizing the scaling approach. More... | |
| enum | AveragedVarType { AVT_Unknown , AVT_EqStrain , AVT_Compliance , AVT_Damage } |
| Type characterizing the averaged (nonlocal) variable. More... | |
| enum | NlVariationType { NLVT_Standard , NLVT_DistanceBasedLinear , NLVT_StressBased , NLVT_DistanceBasedExponential } |
| Type characterizing the Nonlocal variation. More... | |
| Protected Member Functions inherited from oofem::NonlocalMaterialExtensionInterface | |
| void | applyBarrierConstraints (const FloatArray &gpCoords, const FloatArray &jGpCoords, double &weight) const |
| void | manipulateWeight (double &weight, GaussPoint *gp, GaussPoint *jGp) const |
| double | giveDistanceBasedInteractionRadius (const FloatArray &gpCoords) const |
| int | mapToGridPoint (double x, double x0) const |
| double | mapToGridCoord (double x, double x0) const |
| double | dist2FromGridNode (double x, double y, int j, int i) const |
| Protected Attributes inherited from oofem::NonlocalMaterialExtensionInterface | |
| Domain * | domain = nullptr |
| IntArray | regionMap |
| Map indicating regions to skip (region - cross section model). | |
| bool | permanentNonlocTableFlag = false |
| Flag indicating whether to keep nonlocal interaction tables of integration points cached. | |
| WeightFunctionType | weightFun |
| Parameter specifying the type of nonlocal weight function. | |
| int | gridSize = 0 |
| Grid on which the eikonal equation will be solved (used by eikonal nonlocal models). | |
| double | initDiag = 0. |
| Optional parameters setting details of the fast marching method. | |
| int | order = 0 |
| int | centDiff = 0 |
| double | cl = 0. |
| double | suprad = 0. |
| Support radius. | |
| double | mm = 0. |
| For "undernonlocal" or "overnonlocal" formulation. | |
| ScalingType | scaling |
| Parameter specifying the type of scaling of nonlocal weight function. | |
| AveragedVarType | averagedVar |
| Parameter specifying the type of averaged (nonlocal) variable. | |
| double | cl0 = 0. |
| NlVariationType | nlvar |
| Parameter specifying the type of nonlocal variation. | |
| double | beta = 0. |
| double | zeta = 0. |
| double | px = 0. |
| double | Rf = 0. |
| Final value of interaction radius, for a model with evolving characteristic length. | |
| double | exponent = 0. |
| Parameter used as an exponent by models with evolving characteristic length. | |
| int | averType = 0 |
| Parameter specifying how the weight function should be adjusted due to damage. | |
Abstract base class for all nonlocal structural materials. Nonlocal in the sense that the response at a particular point depends not only on the state of that point, but also takes into account the state of surrounding points. The response typically depends on some nonlocal quantity obtained as weighted average over some characteristic volume. This class declares the necessary interface for all nonlocal structural constitutive models. It also stores the parameters needed for nonlocal averaging and provides services for evaluation of the weight function.
Definition at line 61 of file structuralnonlocalmaterialext.h.
|
inline |
Constructor.
| d | Domain to which new material will belong. |
Definition at line 68 of file structuralnonlocalmaterialext.h.
References oofem::NonlocalMaterialExtensionInterface::NonlocalMaterialExtensionInterface().
Referenced by oofem::FRCFCMNL::FRCFCMNL(), oofem::FRCFCMNL::giveInterface(), oofem::IDNLMaterial::giveInterface(), oofem::MazarsNLMaterial::giveInterface(), oofem::MDM::giveInterface(), oofem::MisesMatNl::giveInterface(), oofem::RankineMatNl::giveInterface(), oofem::RCSDNLMaterial::giveInterface(), oofem::TrabBoneNL3D::giveInterface(), oofem::TrabBoneNL::giveInterface(), oofem::TrabBoneNLEmbed::giveInterface(), oofem::IDNLMaterial::IDNLMaterial(), oofem::MazarsNLMaterial::MazarsNLMaterial(), oofem::MDM::MDM(), oofem::MisesMatNl::MisesMatNl(), oofem::RankineMatNl::RankineMatNl(), oofem::RCSDNLMaterial::RCSDNLMaterial(), oofem::TrabBoneNL::TrabBoneNL(), oofem::TrabBoneNL3D::TrabBoneNL3D(), and oofem::TrabBoneNLEmbed::TrabBoneNLEmbed().
|
inline |
Destructor.
Definition at line 71 of file structuralnonlocalmaterialext.h.
|
pure virtual |
Declares the service updating local variables in given integration points, which take part in nonlocal average process. Because value of single integration point influences nonlocal variables in several near integration points, it is suitable to compute these variables only once. These should be stored in integration point associated statuses. The implementation is left on derived classes. Provide material local strain increment - as is provided to computeRealStresVector. This allows to update internal vars to be averaged to new state
| strainVector | Total strain vector in given integration point. |
| gp | Integration point to update. |
| tStep | Solution step indicating time of update. |
Implemented in oofem::FRCFCMNL, oofem::IDNLMaterial, oofem::MazarsNLMaterial, oofem::MDM, oofem::MisesMatNl, oofem::RankineMatNl, oofem::RCSDNLMaterial, oofem::TrabBoneNL3D, oofem::TrabBoneNL, and oofem::TrabBoneNLEmbed.
Referenced by oofem::StructuralElement::updateBeforeNonlocalAverage().