38 #include "../sm/CrossSections/structuralcrosssection.h" 39 #include "../sm/Materials/structuralmaterial.h" 48 #define _IFT_FiberedCrossSection_Name "fiberedcs" 49 #define _IFT_FiberedCrossSection_nfibers "nfibers" 50 #define _IFT_FiberedCrossSection_fibermaterials "fibermaterials" 51 #define _IFT_FiberedCrossSection_thicks "thicks" 52 #define _IFT_FiberedCrossSection_widths "widths" 53 #define _IFT_FiberedCrossSection_fiberycentrecoords "fiberycentrecoords" 54 #define _IFT_FiberedCrossSection_fiberzcentrecoords "fiberzcentrecoords" 55 #define _IFT_FiberedCrossSection_thick "thick" 56 #define _IFT_FiberedCrossSection_width "width" 61 class FiberedCrossSectionModelInterface;
103 fiberYcoords(), fiberZcoords()
233 virtual void FiberedCrossSectionInterface_computeStrainVectorInFiber(
FloatArray &answer,
const FloatArray &masterGpStrain,
237 #endif // fiberedcs_h
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual void giveCharMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the stiffness matrix of receiver in given integration point, respecting its history...
virtual void giveStiffnessMatrix_1d(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
virtual contextIOResultType restoreIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Reads integration point state to output stream.
virtual void give3dShellStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing 3d shell stiffness matrix.
virtual void createMaterialStatus(GaussPoint &iGP)
virtual void printYourself()
Prints receiver state on stdout. Useful for debugging.
virtual void giveGeneralizedStress_MembraneRot(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
FloatArray fiberThicks
Thickness for each fiber.
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode mode)
Check for symmetry of stiffness matrix.
double thick
Total thickness.
virtual void giveGeneralizedStress_Beam3d(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
CrossSectionProperty
List of properties possibly stored in a cross section.
virtual void giveRealStress_PlaneStrain(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
virtual FloatArray * imposeStressConstrainsOnGradient(GaussPoint *gp, FloatArray *gradientStressVector3d)
Returns modified gradient of stress vector, which is used to bring stresses back to yield surface...
MaterialMode
Type representing material mode of integration point.
virtual double give(int aProperty, GaussPoint *gp)
Returns the value of cross section property.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void giveRealStress_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
virtual int estimatePackSize(DataStream &buff, GaussPoint *ip)
Estimates the necessary pack size to hold all packed data of receiver.
virtual void giveRealStress_PlaneStress(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
virtual void giveCauchyStresses(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedFIncrement, TimeStep *tStep)
Computes the Cauchy stress vector for a given increment of deformation gradient and given integration...
virtual void giveRealStress_1d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
virtual void give2dPlateStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing 2d plate stiffness matrix.
virtual int packUnknowns(DataStream &buff, TimeStep *tStep, GaussPoint *ip)
Pack all necessary data of integration point (according to element parallel_mode) into given communic...
FiberedCrossSection(int n, Domain *d)
virtual void giveMembraneRotStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing membrane stiffness matrix with added drilling stiffness.
#define _IFT_FiberedCrossSection_Name
virtual int checkConsistency()
Allows programmer to test some internal data, before computation begins.
virtual void give2dBeamStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the stiffness matrix for 2d beams.
MaterialMode giveCorrespondingSlaveMaterialMode(MaterialMode)
virtual void giveStiffnessMatrix_dCde(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes the material stiffness matrix dCde of receiver in a given integration point, respecting its history.
This class implements a fibered cross section in a finite element problem.
virtual void giveFirstPKStresses(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedFIncrement, TimeStep *tStep)
Computes the First Piola-Kirchoff stress vector for a given deformation gradient and integration poin...
virtual const char * giveClassName() const
virtual void giveGeneralizedStress_PlateSubSoil(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
virtual void giveStiffnessMatrix_3d(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing the stiffness matrix.
Class representing vector of real numbers.
virtual void giveGeneralizedStress_Shell(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
virtual void giveGeneralizedStress_Plate(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
void giveFiberMaterialStiffnessMatrix(FloatMatrix &fiberMatrix, MatResponseMode mode, GaussPoint *layerGp, TimeStep *tStep)
Method for computing 1d fiber stiffness matrix of receiver.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void giveGeneralizedStress_Beam2d(FloatArray &answer, GaussPoint *gp, const FloatArray &generalizedStrain, TimeStep *tStep)
Computes the generalized stress vector for given strain and integration point.
virtual FloatArray * imposeStrainConstrainsOnGradient(GaussPoint *gp, FloatArray *gradientStrainVector3d)
Returns modified gradient of strain vector, which is used to compute plastic strain increment...
double computeIntegralThickWidth()
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 IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
int numberOfFibers
Number of fibers.
virtual const char * giveInputRecordName() const
FiberedCrossSectionInterface()
GaussPoint * giveSlaveGaussPoint(GaussPoint *gp, int)
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual ~FiberedCrossSection()
The element interface required by FiberedCrossSection.
virtual void giveStiffnessMatrix_dPdF(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes the material stiffness matrix dPdF of receiver in a given integration point, respecting its history.
virtual void giveStiffnessMatrix_PlaneStrain(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Abstract base class for all structural cross section models.
the oofem namespace is to define a context or scope in which all oofem names are defined.
IntArray fiberMaterials
Material of each fiber.
virtual contextIOResultType saveIPContext(DataStream &stream, ContextMode mode, GaussPoint *gp)
Stores integration point state to output stream.
virtual void give2dPlateSubSoilStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Method for computing subsoil stiffness matrix for plates.
Class representing integration point in finite element program.
Class representing solution step.
virtual void giveRealStress_Warping(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
FloatArray fiberWidths
Width for each fiber.
virtual void give3dBeamStiffMtrx(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes the stiffness matrix for 2d beams.
virtual void giveStiffnessMatrix_PlaneStress(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)