35#ifndef micromaterial_h
36#define micromaterial_h
53#define _IFT_MicroMaterial_Name "micromat"
54#define _IFT_MicroMaterial_fileName "file"
58class UnknownNumberingScheme;
72 const char *
giveClassName()
const override {
return "MicroMaterialStatus"; }
117 void init(
void)
override;
GaussPoint * gp
Associated integration point.
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveClassName() const override
void saveContext(DataStream &stream, ContextMode mode) override
MicroMaterialStatus(GaussPoint *gp)
Constructor.
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
void initTempStatus() override
void updateYourself(TimeStep *tStep) override
MicroMaterial(int n, Domain *d)
Constructor.
int totalBoundaryDofs
Number of equations associated with boundary nodes.
void initializeFrom(InputRecord &ir) override
IntArray microBoundaryDofsArr
Array of equation numbers associated to boundary nodes.
int NumberOfDofManagers
Number of DOF Managers.
std::vector< IntArray > microDefaultDofs
Array containing default equation numbers for all nodes [DofManagerNumber][DOF].
MacroLSpace * macroLSpaceElement
Pointer to the macroscale element.
std::unique_ptr< EngngModel > problemMicro
Pointer to the underlying micro problem.
int totalInternalDofs
Number of equations associated with boundary nodes.
Domain * macroDomain
Pointer to the macroscale domain.
void setMacroProperties(Domain *macroDomain, MacroLSpace *macroLSpaceElement, const IntArray µMasterNodes, const IntArray µBoundaryNodes)
std::vector< IntArray > microBoundaryDofs
Array containing equation numbers for boundary nodes [DofManagerNumber][DOF].
std::vector< IntArray > microInternalDofs
Array containing equation numbers for internal nodes to be condensed out [DofManagerNumber][DOF].
int reqNumberOfDomainEquation
Required number of domain equations.
void init(void) override
Related to numbering scheme.
std::string inputFileNameMicro
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
const char * giveInputRecordName() const override
int giveDofEquationNumber(Dof *dof) const override
bool microMatIsUsed
Flag signalizing whether micromaterial is used by other element.
EquationNumbering DofEquationNumbering
bool isDefault() const override
const char * giveClassName() const override
void giveMacroStiffnessMatrix(FloatMatrix &answer, TimeStep *tStep, MatResponseMode rMode, const IntArray µMasterNodes, const IntArray µBoundaryNodes)
int maxNumberOfDomainEquation
The maximum DOFs corresponding to released all of the boundary conditions.
FloatArrayF< 6 > giveRealStressVector_3d(const FloatArrayF< 6 > &strain, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
int giveRequiredNumberOfDomainEquation() const override
IntArray microInternalDofsArr
Array of equation numbers associated to internal nodes.
std::vector< FloatArray > microMasterCoords
Array containing coordinates of 8 master nodes of microproblem.
StructuralMaterialStatus(GaussPoint *g)
Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g.
StructuralMaterial(int n, Domain *d)
UnknownNumberingScheme(void)
#define _IFT_MicroMaterial_Name