|
OOFEM 3.0
|
#include <hangingnode.h>
Public Member Functions | |
| HangingNode (int n, Domain *aDomain) | |
| virtual | ~HangingNode (void) |
| Destructor. | |
| void | initializeFrom (InputRecord &ir, int priority) override |
| void | postInitialize () override |
| Performs post initialization steps. Called after all components are created and initialized. | |
| int | checkConsistency () override |
| bool | isDofTypeCompatible (dofType type) const override |
| Returns true if dof of given type is allowed to be associated to receiver. | |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| Public Member Functions inherited from oofem::Node | |
| Node (int n, Domain *aDomain) | |
| void | setCoordinates (FloatArray coords) |
| virtual double | giveUpdatedCoordinate (int ic, TimeStep *tStep, double scale=1.) |
| virtual void | giveUpdatedCoordinates (FloatArray &answer, TimeStep *tStep, double scale=1.) |
| bool | hasLocalCS () |
| Returns nonzero if node has prescribed local coordinate system. | |
| FloatMatrix * | giveLocalCoordinateTriplet () |
| bool | hasSameLCS (Node *remote) |
| bool | computeL2GTransformation (FloatMatrix &answer, const IntArray &dofIDArry) override |
| bool | requiresTransformation () override |
| void | computeLoadVector (FloatArray &answer, Load *load, CharType type, TimeStep *tStep, ValueModeType mode) override |
| void | updateYourself (TimeStep *tStep) override |
| const char * | giveClassName () const override |
| const char * | giveInputRecordName () const override |
| void | initializeFrom (InputRecord &ir) override |
| void | initializeFrom (InputRecord &ir, int priority) override |
| void | initializeFinish () override |
| Performs post initialization steps. | |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | printYourself () override |
| Prints receiver state on stdout. Useful for debugging. | |
| int | checkConsistency () override |
| bool | isDofTypeCompatible (dofType type) const override |
| Returns true if dof of given type is allowed to be associated to receiver. | |
| virtual int | giveQcNodeType () |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| void | drawYourself (oofegGraphicContext &gc, TimeStep *tStep) override |
| Public Member Functions inherited from oofem::DofManager | |
| std::vector< Dof * >::iterator | begin () |
| std::vector< Dof * >::iterator | end () |
| std::vector< Dof * >::const_iterator | begin () const |
| std::vector< Dof * >::const_iterator | end () const |
| DofManager (int n, Domain *aDomain) | |
| virtual | ~DofManager () |
| Destructor. | |
| Dof * | giveDofWithID (int dofID) const |
| int | giveNumberOfDofs () const |
| void | askNewEquationNumbers (TimeStep *tStep) |
| Renumbers all contained DOFs. | |
| int | giveNumberOfPrimaryMasterDofs (const IntArray &dofIDArray) const |
| void | giveLocationArray (const IntArray &dofIDArry, IntArray &locationArray, const UnknownNumberingScheme &s) const |
| void | giveMasterDofIDArray (const IntArray &dofIDArry, IntArray &masterDofIDs) const |
| void | giveCompleteLocationArray (IntArray &locationArray, const UnknownNumberingScheme &s) const |
| void | giveCompleteMasterDofIDArray (IntArray &dofIDArray) const |
| std::vector< Dof * >::const_iterator | findDofWithDofId (DofIDItem dofID) const |
| void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep, bool padding=false) |
| void | giveUnknownVector (FloatArray &answer, const IntArray &dofMask, PrimaryField &field, ValueModeType mode, TimeStep *tStep, bool padding=false) |
| void | giveCompleteUnknownVector (FloatArray &answer, ValueModeType mode, TimeStep *tStep) |
| void | giveUnknownVectorOfType (FloatArray &answer, UnknownType ut, ValueModeType mode, TimeStep *tStep) |
| virtual void | givePrescribedUnknownVector (FloatArray &answer, const IntArray &dofMask, ValueModeType mode, TimeStep *tStep) |
| bool | computeM2GTransformation (FloatMatrix &answer, const IntArray &dofIDArry) |
| virtual bool | computeM2LTransformation (FloatMatrix &answer, const IntArray &dofIDArry) |
| IntArray * | giveLoadArray () |
| void | setLoadArray (IntArray &load) |
| double | giveCoordinate (int i) const |
| const FloatArray & | giveCoordinates () const |
| void | setCoordinates (const FloatArray &coords) |
| Set coordinates. | |
| const IntArray * | giveForcedDofIDs () |
| std ::map< int, int > * | giveDofTypeMap () |
| std ::map< int, int > * | giveMasterMap () |
| std ::map< int, int > * | giveBcMap () |
| std ::map< int, int > * | giveIcMap () |
| void | printOutputAt (FILE *file, TimeStep *tStep) override |
| bool | isBoundary () |
| void | setBoundaryFlag (bool isBoundary) |
| virtual bool | hasAnySlaveDofs () |
| virtual bool | giveMasterDofMans (IntArray &masters) |
| void | updateLocalNumbering (EntityRenumberingFunctor &f) override |
| void | setNumberOfDofs (int _ndofs) |
| void | appendDof (Dof *dof) |
| void | removeDof (DofIDItem id) |
| bool | hasDofID (DofIDItem id) const |
| int | giveGlobalNumber () const |
| int | giveLabel () const |
| void | setGlobalNumber (int newNumber) |
| dofManagerParallelMode | giveParallelMode () const |
| void | setParallelMode (dofManagerParallelMode _mode) |
| const IntArray * | givePartitionList () |
| void | setPartitionList (const IntArray *_p) |
| void | removePartitionFromList (int _part) |
| Removes given partition from receiver list. | |
| void | mergePartitionList (IntArray &_p) |
| Merges receiver partition list with given lists. | |
| int | givePartitionsConnectivitySize () |
| bool | isLocal () |
| Returns true if receiver is locally maintained. | |
| bool | isShared () |
| Returns true if receiver is shared. | |
| bool | isNull () |
| Returns true if receiver is shared. | |
| 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 Interface * | giveInterface (InterfaceType t) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Protected Attributes | |
| int | masterElement =0 |
| Number of the master element. | |
| int | masterRegion =0 |
| Region of the master element (used for automatic detection). | |
| bool | initialized |
| Flag whether node is fully initialized already. | |
| Protected Attributes inherited from oofem::Node | |
| std::unique_ptr< FloatMatrix > | localCoordinateSystem |
| Protected Attributes inherited from oofem::DofManager | |
| FloatArray | coordinates |
| Array storing nodal coordinates. | |
| std::vector< Dof * > | dofArray |
| Array of DOFs. | |
| IntArray | loadArray |
| List of applied loads. | |
| bool | isBoundaryFlag |
| bool | hasSlaveDofs |
| Flag indicating whether receiver has slave DOFs. | |
| int | globalNumber |
| dofManagerParallelMode | parallel_mode |
| IntArray | partitions |
| IntArray | dofidmask |
| List of additional dof ids to include. | |
| std ::map< int, int > | dofTypemap |
| Map from DofIDItem to dofType. | |
| std ::map< int, int > | dofMastermap |
| Map from DofIDItem to master node. | |
| std ::map< int, int > | dofBCmap |
| Map from DofIDItem to bc (to be removed). | |
| std ::map< int, int > | dofICmap |
| Map from DofIDItem to ic (to be removed). | |
| IntArray | mBC |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Static Protected Attributes | |
| static ParamKey | IPK_HangingNode_masterElement |
| static ParamKey | IPK_HangingNode_masterRegion |
| Static Protected Attributes inherited from oofem::Node | |
| static ParamKey | IPK_Node_lcs |
| static ParamKey | IPK_Node_coords |
Additional Inherited Members | |
| Static Public Attributes inherited from oofem::DofManager | |
| static ParamKey | IPK_DofManager_dofidmask |
| static ParamKey | IPK_DofManager_load |
| static ParamKey | IPK_DofManager_bc |
| static ParamKey | IPK_DofManager_ic |
| static ParamKey | IPK_DofManager_mastermask |
| static ParamKey | IPK_DofManager_doftypemask |
| static ParamKey | IPK_DofManager_boundaryflag |
| static ParamKey | IPK_DofManager_globnum |
| static ParamKey | IPK_DofManager_partitions |
| static ParamKey | IPK_DofManager_sharedflag |
| static ParamKey | IPK_DofManager_remoteflag |
| static ParamKey | IPK_DofManager_nullflag |
Class implementing hanging node connected to other nodes (masters) using interpolation. Hanging node possess no degrees of freedom - all values are interpolated from corresponding master dofs.
The introduction of hanging nodes allows, for example, to include reinforcing bar elements inside arbitrary FE-mesh of concrete specimen or facilitates the local refinement of FE-mesh.
The contributions of hanging node are localized directly to master related equations. The hanging node can not have its own boundary or initial conditions, they are determined completely from master dof conditions. The local coordinate system in slave is not supported in current implementation, the global cs applies. On the other hand, hanging node can be loaded independently of master.
If no master element number is supplied (or negative) then it will locate it using the global coordinates. and if no master region number is supplied (or zero), it will look for elements in all regions.
Definition at line 63 of file hangingnode.h.
| oofem::HangingNode::HangingNode | ( | int | n, |
| Domain * | aDomain ) |
Constructor. Creates a hanging node with number n, belonging to aDomain.
Definition at line 51 of file hangingnode.C.
References initialized, and oofem::Node::Node().
|
inlinevirtual |
Destructor.
Definition at line 86 of file hangingnode.h.
|
overridevirtual |
Allows programmer to test some internal data, before computation begins. For example, one may use this function, to ensure that element has material with required capabilities is assigned to element. This must be done after all mesh components are instanciated.
Reimplemented from oofem::FEMComponent.
Definition at line 67 of file hangingnode.C.
References oofem::DofManager_local, oofem::FEMComponent::domain, oofem::Element::giveNode(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfNodes(), oofem::Node::hasSameLCS(), masterElement, OOFEM_ERROR, OOFEM_WARNING, and oofem::DofManager::parallel_mode.
|
inlineoverridevirtual |
Reimplemented from oofem::DofManager.
Definition at line 93 of file hangingnode.h.
|
inlineoverridevirtual |
Reimplemented from oofem::DofManager.
Definition at line 94 of file hangingnode.h.
References _IFT_HangingNode_Name.
|
overridevirtual |
Reimplemented from oofem::DofManager.
Definition at line 58 of file hangingnode.C.
References oofem::FEMComponent::giveDomain(), IPK_HangingNode_masterElement, IPK_HangingNode_masterRegion, masterElement, masterRegion, oofem::FEMComponent::number, and PM_UPDATE_PARAMETER.
|
inlineoverridevirtual |
Returns true if dof of given type is allowed to be associated to receiver.
Reimplemented from oofem::DofManager.
Definition at line 91 of file hangingnode.h.
|
overridevirtual |
Performs post initialization steps. Called after all components are created and initialized.
Reimplemented from oofem::DofManager.
Definition at line 102 of file hangingnode.C.
References oofem::IntArray::clear(), oofem::DofManager::coordinates, oofem::FEMComponent::domain, oofem::FEInterpolation::evalN(), oofem::IntArray::followedBy(), oofem::Dof::giveDofID(), oofem::Element::giveDofManArray(), oofem::FEMComponent::giveDomain(), oofem::SpatialLocalizer::giveElementClosestToPoint(), oofem::Element::giveGlobalNumber(), oofem::Element::giveInterpolation(), oofem::FEMComponent::giveNumber(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::FloatArray::giveSize(), oofem::FEInterpolation::global2local(), oofem::SpatialLocalizer::init(), oofem::SlaveDof::initialize(), initialized, masterElement, OOFEM_ERROR, and OOFEM_LOG_INFO.
|
protected |
Flag whether node is fully initialized already.
Definition at line 72 of file hangingnode.h.
Referenced by HangingNode(), and postInitialize().
|
staticprotected |
Definition at line 75 of file hangingnode.h.
Referenced by initializeFrom().
|
staticprotected |
Definition at line 76 of file hangingnode.h.
Referenced by initializeFrom().
|
protected |
Number of the master element.
Definition at line 67 of file hangingnode.h.
Referenced by checkConsistency(), initializeFrom(), and postInitialize().
|
protected |
Region of the master element (used for automatic detection).
Definition at line 69 of file hangingnode.h.
Referenced by initializeFrom().