|
OOFEM 3.0
|
#include <prescribedgenstrainshell7.h>
Public Member Functions | |
| PrescribedGenStrainShell7 (int n, Domain *d) | |
| virtual | ~PrescribedGenStrainShell7 () |
| Destructor. | |
| double | give (Dof *dof, ValueModeType mode, double time) override |
| bcType | giveType () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| FloatMatrixF< 3, 3 > | evalCovarBaseVectorsAt (FloatArray &genEps, double zeta) |
| FloatMatrixF< 3, 3 > | evalInitialCovarBaseVectorsAt (FloatArray &genEps, double zeta) |
| void | setDeformationGradient (double zeta) |
| void | evaluateHigherOrderContribution (FloatArray &answer, double zeta, FloatArray &dx) |
| virtual void | setCenterCoordinate (const FloatArray &x) |
| virtual FloatArrayF< 3 > & | giveCenterCoordinate () |
| Returns the center coordinate. | |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| PrescribedGenStrainShell7 (int n, Domain *d) | |
| virtual | ~PrescribedGenStrainShell7 () |
| Destructor. | |
| double | give (Dof *dof, ValueModeType mode, double time) override |
| bcType | giveType () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | updateCoefficientMatrix (FloatMatrix &C) |
| void | computeField (FloatArray &sigma, EquationID eid, TimeStep *tStep) |
| void | computeTangent (FloatMatrix &tangent, EquationID eid, TimeStep *tStep) |
| void | scale (double s) override |
| virtual void | setPrescribedGenStrainShell7 (const FloatMatrix &t) |
| virtual void | setPrescribedGenStrainShell7Voigt (const FloatArray &t) |
| virtual void | setCenterCoordinate (const FloatArray &x) |
| virtual FloatArray & | giveCenterCoordinate () |
| Returns the center coordinate. | |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| Public Member Functions inherited from oofem::BoundaryCondition | |
| BoundaryCondition (int i, Domain *d) | |
| virtual | ~BoundaryCondition () |
| Destructor. | |
| virtual double | give (Dof *dof, ValueModeType mode, TimeStep *tStep) |
| void | setPrescribedValue (double s) |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::GeneralBoundaryCondition | |
| GeneralBoundaryCondition (int n, Domain *d) | |
| virtual | ~GeneralBoundaryCondition () |
| Destructor. | |
| int | giveSetNumber () const |
| virtual int | giveNumberOfInternalDofManagers () |
| Gives the number of internal dof managers. | |
| virtual DofManager * | giveInternalDofManager (int i) |
| Gives an internal dof manager from receiver. | |
| Function * | giveTimeFunction () |
| int | getIsImposedTimeFunctionNumber () const |
| void | setIsImposedTimeFunctionNumber (int funcIndx) |
| virtual bcValType | giveBCValType () const |
| virtual bool | isImposed (TimeStep *tStep) |
| virtual const IntArray & | giveDofIDs () const |
| virtual bcGeomType | giveBCGeoType () const |
| virtual double | giveProperty (int aProperty, TimeStep *tStep) const |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| virtual void | updateYourself (TimeStep *tStep) |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | updateLocalNumbering (EntityRenumberingFunctor &f) |
| virtual void | initializeFrom (InputRecord &ir, int priority) |
| virtual void | initializeFinish () |
| virtual void | postInitialize () |
| Performs post initialization steps. Called after all components are created and initialized. | |
| virtual int | checkConsistency () |
| virtual void | printOutputAt (FILE *file, TimeStep *tStep) |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. | |
| virtual Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Member Functions | |
| double | domainSize () |
| double | domainSize () |
Protected Attributes | |
| FloatMatrixF< 3, 3 > | gradient |
| Prescribed gradient \( d_{ij} \). | |
| FloatArray | initialGenEps |
| FloatArray | genEps |
| FloatArrayF< 3 > | centerCoord |
| Center coordinate \( \bar{x}_i \). | |
| FloatMatrix | gradient |
| Prescribed gradient \( d_{ij} \). | |
| FloatArray | centerCoord |
| Center coordinate \( \bar{x}_i \). | |
| Protected Attributes inherited from oofem::BoundaryCondition | |
| FloatArray | values |
| Prescribed values for each resp. dof. | |
| Protected Attributes inherited from oofem::GeneralBoundaryCondition | |
| int | timeFunction |
| Associated load time function. | |
| bcValType | valType |
| Physical meaning of BC value. | |
| IntArray | dofs |
| Dofs that b.c. is applied to (relevant for Dirichlet type b.c.s). | |
| int | isImposedTimeFunction |
| int | set |
| Set number for boundary condition to be applied to. | |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Prescribes \( u_i = d_{ij}(x_j-\bar{x}_j) \) or \( s = d_{1j}(x_j - \bar{x}_j) \) where \( v_i \) are primary unknowns for the subscale. This is typical boundary condition in multiscale analysis where \( d = \partial_x s\) would a macroscopic gradient at the integration point, i.e. this is a boundary condition for prolongation. It is also convenient to use when one wants to test a arbitrary specimen for shear.
Prescribes \( v_i = d_{ij}(x_j-\bar{x}_j) \) or \( s = d_{1j}(x_j - \bar{x}_j) \) where \( v_i \) are primary unknowns for the subscale. This is typical boundary condition in multiscale analysis where \( d = \partial_x s\) would a macroscopic gradient at the integration point, i.e. this is a boundary condition for prolongation. It is also convenient to use when one wants to test a arbitrary specimen for shear.
Definition at line 63 of file prescribedgenstrainshell7.h.
|
inline |
Creates boundary condition with given number, belonging to given domain.
| n | Boundary condition number. |
| d | Domain to which new object will belongs. |
Definition at line 89 of file prescribedgenstrainshell7.h.
References oofem::BoundaryCondition::BoundaryCondition().
|
inlinevirtual |
Destructor.
Definition at line 92 of file prescribedgenstrainshell7.h.
|
inline |
Creates boundary condition with given number, belonging to given domain.
| n | Boundary condition number. |
| d | Domain to which new object will belongs. |
Definition at line 76 of file prescribedgradientshell7base.h.
References oofem::BoundaryCondition::BoundaryCondition().
|
inlinevirtual |
Destructor.
Definition at line 79 of file prescribedgradientshell7base.h.
| void oofem::PrescribedGenStrainShell7::computeField | ( | FloatArray & | sigma, |
| EquationID | eid, | ||
| TimeStep * | tStep ) |
Computes the homogenized, macroscopic, field (stress).
| sigma | Output quantity (typically stress). |
| eid | Equation ID to which sigma belongs. |
| tStep | Active time step. |
Definition at line 210 of file prescribedgradientshell7base.C.
References oofem::EngngModel::assembleVector(), oofem::FloatArray::beTProductOf(), oofem::FEMComponent::domain, domainSize(), oofem::FEMComponent::giveDomain(), oofem::FEMComponent::giveNumber(), oofem::EngngModel::giveNumberOfDomainEquations(), oofem::FloatArray::times(), updateCoefficientMatrix(), and oofem::FloatArray::zero().
Referenced by giveInputRecord().
| void oofem::PrescribedGenStrainShell7::computeTangent | ( | FloatMatrix & | tangent, |
| EquationID | eid, | ||
| TimeStep * | tStep ) |
Computes the macroscopic tangent for homogenization problems through sensitivity analysis.
| tangent | Output tangent. |
| eid | Equation ID to tangent belongs. |
| tStep | Active time step. |
Definition at line 232 of file prescribedgradientshell7base.C.
References oofem::EngngModel::assemble(), oofem::FloatMatrix::beTProductOf(), oofem::classFactory, oofem::FEMComponent::domain, domainSize(), oofem::FEMComponent::giveDomain(), OOFEM_ERROR, oofem::ST_Petsc, oofem::FloatMatrix::subtract(), oofem::FloatMatrix::times(), and updateCoefficientMatrix().
Referenced by giveInputRecord().
|
protected |
Definition at line 266 of file prescribedgenstrainshell7.C.
References oofem::IntArray::at(), oofem::FEInterpolation::evalNXIntegral(), oofem::FEMComponent::giveDomain(), oofem::Element::giveInterpolation(), oofem::Domain::giveNumberOfSpatialDimensions(), oofem::IntArray::giveSize(), and oofem::GeneralBoundaryCondition::set.
Referenced by computeField(), and computeTangent().
|
protected |
| FloatMatrixF< 3, 3 > oofem::PrescribedGenStrainShell7::evalCovarBaseVectorsAt | ( | FloatArray & | genEps, |
| double | zeta ) |
Constructs a coefficient matrix for all prescribed unknowns. Helper routine for computational homogenization.
| C | Coefficient matrix to fill. |
Definition at line 114 of file prescribedgenstrainshell7.C.
References genEps, and oofem::FloatMatrixF< N, M >::setColumn().
Referenced by setDeformationGradient().
| FloatMatrixF< 3, 3 > oofem::PrescribedGenStrainShell7::evalInitialCovarBaseVectorsAt | ( | FloatArray & | genEps, |
| double | zeta ) |
Definition at line 137 of file prescribedgenstrainshell7.C.
References oofem::FloatArrayF< N >::at(), genEps, and oofem::FloatMatrixF< N, M >::setColumn().
Referenced by evaluateHigherOrderContribution(), and setDeformationGradient().
| void oofem::PrescribedGenStrainShell7::evaluateHigherOrderContribution | ( | FloatArray & | answer, |
| double | zeta, | ||
| FloatArray & | dx ) |
Definition at line 173 of file prescribedgenstrainshell7.C.
References oofem::FloatArrayF< N >::at(), oofem::dot(), evalInitialCovarBaseVectorsAt(), genEps, and initialGenEps.
Referenced by give().
|
overridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 57 of file prescribedgenstrainshell7.C.
References oofem::FloatArray::add(), oofem::FloatArray::at(), oofem::FloatArray::beDifferenceOf(), oofem::FloatArray::beProductOf(), centerCoord, evaluateHigherOrderContribution(), oofem::DofManager::giveCoordinates(), oofem::Dof::giveDofID(), oofem::Dof::giveDofManager(), oofem::GeneralBoundaryCondition::giveTimeFunction(), gradient, OOFEM_ERROR, setDeformationGradient(), and oofem::FloatArray::times().
|
overridevirtual |
Reimplemented from oofem::BoundaryCondition.
|
inlinevirtual |
Returns the center coordinate.
Definition at line 129 of file prescribedgenstrainshell7.h.
References centerCoord.
Referenced by updateCoefficientMatrix().
|
inlinevirtual |
Returns the center coordinate.
Definition at line 141 of file prescribedgradientshell7base.h.
References centerCoord.
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 131 of file prescribedgenstrainshell7.h.
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 143 of file prescribedgradientshell7base.h.
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::BoundaryCondition.
Definition at line 299 of file prescribedgenstrainshell7.C.
References _IFT_PrescribedGenStrainShell7_centercoords, _IFT_PrescribedGenStrainShell7_generalizedstrain, _IFT_PrescribedGenStrainShell7_initialgeneralizedstrain, centerCoord, genEps, initialGenEps, and oofem::DynamicInputRecord::setField().
|
overridevirtual |
Setups the input record string of receiver.
| input | Dynamic input record to be filled by receiver. |
Reimplemented from oofem::BoundaryCondition.
References computeField(), computeTangent(), and updateCoefficientMatrix().
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 132 of file prescribedgenstrainshell7.h.
References _IFT_PrescribedGenStrainShell7_Name.
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 144 of file prescribedgradientshell7base.h.
References _IFT_PrescribedGenStrainShell7_Name.
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 96 of file prescribedgenstrainshell7.h.
References oofem::DirichletBT.
|
inlineoverridevirtual |
Reimplemented from oofem::BoundaryCondition.
Definition at line 83 of file prescribedgradientshell7base.h.
References oofem::DirichletBT.
|
overridevirtual |
Initializes receiver according to object description stored in input record. The input record contains two fields;
Reimplemented from oofem::BoundaryCondition.
Definition at line 286 of file prescribedgenstrainshell7.C.
References _IFT_PrescribedGenStrainShell7_centercoords, _IFT_PrescribedGenStrainShell7_generalizedstrain, _IFT_PrescribedGenStrainShell7_initialgeneralizedstrain, centerCoord, genEps, initialGenEps, IR_GIVE_FIELD, and IR_GIVE_OPTIONAL_FIELD.
|
overridevirtual |
Initializes receiver according to object description stored in input record. The input record contains two fields;
Reimplemented from oofem::BoundaryCondition.
|
inlineoverridevirtual |
Scales the receiver according to given value. Typically used in nondimensional analysis to scale down BCs and ICs.
| s | Scale factor. |
Reimplemented from oofem::BoundaryCondition.
Definition at line 120 of file prescribedgradientshell7base.h.
References gradient.
|
inlinevirtual |
Set the center coordinate for the prescribed values to be set for.
| x | Center coordinate. |
Definition at line 127 of file prescribedgenstrainshell7.h.
References centerCoord.
|
inlinevirtual |
Set the center coordinate for the prescribed values to be set for.
| x | Center coordinate. |
Definition at line 139 of file prescribedgradientshell7base.h.
References centerCoord.
| void oofem::PrescribedGenStrainShell7::setDeformationGradient | ( | double | zeta | ) |
Definition at line 162 of file prescribedgenstrainshell7.C.
References oofem::dotT(), evalCovarBaseVectorsAt(), evalInitialCovarBaseVectorsAt(), oofem::eye(), genEps, gradient, and initialGenEps.
Referenced by give().
|
inlinevirtual |
Set prescribed tensor.
| t | New prescribed value. |
Definition at line 126 of file prescribedgradientshell7base.h.
References gradient.
|
virtual |
Sets the prescribed tensor from the matrix from given voigt notation. Assumes use of double values for off-diagonal, usually the way for strain in Voigt form.
| t | Vector in voigt format. |
Definition at line 103 of file prescribedgradientshell7base.C.
References oofem::FloatArray::at(), oofem::FloatArray::giveSize(), gradient, and OOFEM_ERROR.
| void oofem::PrescribedGenStrainShell7::updateCoefficientMatrix | ( | FloatMatrix & | C | ) |
Constructs a coefficient matrix for all prescribed unknowns. Helper routine for computational homogenization.
| C | Coefficient matrix to fill. |
Definition at line 125 of file prescribedgradientshell7base.C.
References oofem::Dof::__givePrescribedEquationNumber(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::GeneralBoundaryCondition::dofs, oofem::FEMComponent::domain, giveCenterCoordinate(), oofem::DofManager::giveCoordinates(), oofem::DofManager::giveDofWithID(), oofem::FEMComponent::giveDomain(), OOFEM_ERROR, oofem::FloatMatrix::resize(), and oofem::FloatMatrix::zero().
Referenced by computeField(), computeTangent(), and giveInputRecord().
|
protected |
Center coordinate \( \bar{x}_i \).
Definition at line 81 of file prescribedgenstrainshell7.h.
Referenced by give(), giveCenterCoordinate(), giveInputRecord(), initializeFrom(), and setCenterCoordinate().
|
protected |
Center coordinate \( \bar{x}_i \).
Definition at line 68 of file prescribedgradientshell7base.h.
|
protected |
Current generalized strain eps = [xbar_{,alpha}, m_{,alpha}, m, gamma_{,alpha}, gamma ] = [ (3 3) (3 3) 3 (1 1) 1] - 18 components
Definition at line 78 of file prescribedgenstrainshell7.h.
Referenced by evalCovarBaseVectorsAt(), evalInitialCovarBaseVectorsAt(), evaluateHigherOrderContribution(), giveInputRecord(), initializeFrom(), and setDeformationGradient().
|
protected |
Prescribed gradient \( d_{ij} \).
Definition at line 67 of file prescribedgenstrainshell7.h.
Referenced by give(), scale(), setDeformationGradient(), setPrescribedGenStrainShell7(), and setPrescribedGenStrainShell7Voigt().
|
protected |
Prescribed gradient \( d_{ij} \).
Definition at line 65 of file prescribedgradientshell7base.h.
|
protected |
Initial generalized strain eps = [Xbar_{,alpha}, M_{,alpha}, M ] = [ (3 3) (3 3) 3] - 15 components
Definition at line 73 of file prescribedgenstrainshell7.h.
Referenced by evaluateHigherOrderContribution(), giveInputRecord(), initializeFrom(), and setDeformationGradient().