35 #include "../sm/CrossSections/structuralinterfacecrosssection.h" 36 #include "../sm/Materials/InterfaceMaterials/structuralinterfacematerialstatus.h" 37 #include "../sm/Materials/InterfaceMaterials/structuralinterfacematerial.h" 45 StructuralInterfaceMaterial *
65 if ( !dynamic_cast< StructuralInterfaceMaterial * >(mat) ) {
81 double thickness = 0.0;
100 OOFEM_ERROR(
"Not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
113 OOFEM_ERROR(
"not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
126 OOFEM_ERROR(
"Not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
142 OOFEM_ERROR(
"not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
155 OOFEM_ERROR(
"not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
169 OOFEM_ERROR(
"not implemented - use numerical tangent instead (keyword: 'use_num_tangent') ");
177 if ( type == IST_CrossSectionNumber ) {
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
StructuralInterfaceMaterial * giveInterfaceMaterial()
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void give3dStiffnessMatrix_dTdj_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
virtual MaterialStatus * giveStatus(GaussPoint *gp) const
Returns material status of receiver in given integration point.
void give3dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual void give3dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
void give2dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
void give1dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual int packUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *ip)
Pack all necessary data of integration point (according to element parallel_mode) into given communic...
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
double & at(int i)
Coefficient access function.
#define _IFT_StructuralInterfaceCrossSection_Material
virtual int checkConsistency()
Allows programmer to test some internal data, before computation begins.
REGISTER_CrossSection(EmptyCS)
Element * giveElement()
Returns corresponding element to receiver.
void give1dStiffnessMatrix_dTdj_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
MatResponseMode
Describes the character of characteristic material matrix.
virtual void give1dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Gives the tangent: .
void give2dStiffnessMatrix_dTdj_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
Dictionary propertyDictionary
Dictionary for storing cross section parameters (like dimensions).
Material * giveMaterial(int n)
Service for accessing particular domain material model.
virtual int unpackAndUpdateUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *gp)
Unpack and updates all necessary data of given integration point (according to element parallel_mode)...
virtual void give2dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual Material * giveMaterial(IntegrationPoint *ip)
Returns the material associated with the GP.
const FloatArray & giveTraction(IntegrationPoint *ip)
This class implements a structural interface material status information.
Abstract base class for all material models.
virtual int estimatePackSize(DataStream &buff, GaussPoint *gp)
Estimates the necessary pack size to hold all packed data of receiver.
void give1dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
void give2dStiffnessMatrix_Eng_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
virtual void give1dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Pair * add(int aKey, double value)
Adds a new Pair with given keyword and value into receiver.
Class representing vector of real numbers.
void give3dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Implementation of matrix containing floating point numbers.
virtual int giveIPValue(FloatArray &answer, GaussPoint *ip, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual const char * giveClassName() const =0
void give3dStiffnessMatrix_Eng_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
void give2dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual void give2dStiffnessMatrix_dTdj(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual int estimatePackSize(DataStream &buff, GaussPoint *ip)
Estimates the necessary pack size to hold all packed data of receiver.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Domain * giveDomain() const
int giveMaterialNumber() const
Abstract base class for all "structural" interface models.
void give1dStiffnessMatrix_Eng_Num(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void give3dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
virtual int unpackAndUpdateUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *ip)
Unpack and updates all necessary data of given integration point (according to element parallel_mode)...
virtual int packUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *gp)
Pack all necessary data of integration point (according to element parallel_mode) into given communic...
virtual bool hasAnalyticalTangentStiffness() const =0
Tells if the model has implemented analytical tangent stiffness.
#define _IFT_StructuralInterfaceCrossSection_thickness
Class representing integration point in finite element program.
#define OOFEM_WARNING(...)
Class representing solution step.
virtual Material * giveMaterial()
void resize(int s)
Resizes receiver towards requested size.