|
OOFEM 3.0
|
#include <qcnode.h>
Public Member Functions | |
| qcNode (int n, Domain *aDomain) | |
| virtual | ~qcNode (void) |
| Destructor. | |
| void | initializeFrom (InputRecord &ir, int priority) override |
| void | postInitialize () override |
| Performs post initialization steps. Called after all components are created and initialized. | |
| void | postInitializeAsHangingNode () |
| int | checkConsistency () override |
| bool | isDofTypeCompatible (dofType type) const override |
| Returns true if dof of given type is allowed to be associated to receiver. | |
| virtual bool | initializeAsRepnode () |
| virtual void | setAsRepnode () |
| virtual void | setAsHanging () |
| int | giveQcNodeType () override |
| virtual int | giveMasterElementNumber () |
| void | printOutputAt (FILE *stream, TimeStep *tStep) override |
| 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 |
| void | initializeFrom (InputRecord &ir) override |
| void | initializeFinish () override |
| Performs post initialization steps. | |
| void | giveInputRecord (DynamicInputRecord &input) override |
| void | printYourself () override |
| Prints receiver state on stdout. Useful for debugging. | |
| 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 () |
| 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 =-1 |
| Number of the master element. | |
| int | masterRegion =0 |
| Region of the master element (used for automatic detection). | |
| int | qcNodeTypeLabel |
| Type of qcNode (0 deactive, 1 master, 2 hanging). | |
| 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_qcNode_masterElement |
| Static input field keys. | |
| static ParamKey | IPK_qcNode_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.
| oofem::qcNode::qcNode | ( | int | n, |
| Domain * | aDomain ) |
Constructor. Creates a hanging node with number n, belonging to aDomain.
Definition at line 58 of file qcnode.C.
References initialized, and oofem::Node::Node().
|
inlinevirtual |
|
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::Node.
Definition at line 77 of file qcnode.C.
References oofem::DofManager_local, oofem::FEMComponent::domain, oofem::Element::giveNode(), oofem::Element::giveNumberOfNodes(), oofem::DofManager::giveParallelMode(), oofem::Node::hasSameLCS(), masterElement, OOFEM_WARNING, oofem::DofManager::parallel_mode, and qcNodeTypeLabel.
|
inlineoverridevirtual |
Reimplemented from oofem::Node.
Definition at line 107 of file qcnode.h.
Referenced by printOutputAt().
|
inlineoverridevirtual |
Reimplemented from oofem::Node.
Definition at line 108 of file qcnode.h.
References _IFT_qcNode_Name.
|
inlinevirtual |
Definition at line 103 of file qcnode.h.
Referenced by oofem::Quasicontinuum::applyApproach2(), oofem::Quasicontinuum::applyApproach3(), oofem::Quasicontinuum::computeIntersectionsOfLinkWith2DTringleElements(), oofem::Quasicontinuum::computeIntersectionsOfLinkWith3DTetrahedraElements(), printOutputAt(), and oofem::Quasicontinuum::stiffnessAssignment().
|
inlineoverridevirtual |
Reimplemented from oofem::Node.
Definition at line 102 of file qcnode.h.
Referenced by printOutputAt(), and oofem::QClinearStatic::transformMeshToParticles().
|
virtual |
Definition at line 215 of file qcnode.C.
References oofem::FEMComponent::giveDomain(), oofem::QClinearStatic::nodeInFullSolvedDomainTest(), and OOFEM_ERROR.
Referenced by postInitialize().
|
overridevirtual |
Reimplemented from oofem::Node.
Definition at line 65 of file qcnode.C.
References oofem::FEMComponent::giveDomain(), IPK_qcNode_masterElement, IPK_qcNode_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::Node.
|
overridevirtual |
Performs post initialization steps. Called after all components are created and initialized.
Reimplemented from oofem::DofManager.
Definition at line 109 of file qcnode.C.
References oofem::FEMComponent::giveDomain(), oofem::QClinearStatic::giveQcApproachNumber(), initializeAsRepnode(), OOFEM_ERROR, postInitializeAsHangingNode(), qcNodeTypeLabel, setAsHanging(), and setAsRepnode().
| void oofem::qcNode::postInitializeAsHangingNode | ( | ) |
Definition at line 139 of file qcnode.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::giveInterpolation(), oofem::FEMComponent::giveNumber(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::FloatArray::giveSize(), oofem::FEInterpolation::global2local(), oofem::SpatialLocalizer::init(), oofem::SlaveDof::initialize(), initialized, masterElement, and OOFEM_ERROR.
Referenced by postInitialize().
|
overridevirtual |
Prints output of receiver to stream, for given time step. This is used for output into the standard output file.
| file | File pointer to print to. |
| tStep | Time step to write for. |
Reimplemented from oofem::DofManager.
Definition at line 289 of file qcnode.C.
References giveClassName(), oofem::FEMComponent::giveDomain(), oofem::DofManager::giveGlobalNumber(), oofem::DofManager::giveLabel(), giveMasterElementNumber(), oofem::FEMComponent::giveNumber(), giveQcNodeType(), OOFEM_WARNING, and oofem::EngngModel::printDofOutputAt().
|
virtual |
Definition at line 263 of file qcnode.C.
References oofem::DofManager::dofTypemap, oofem::DofManager::giveDofTypeMap(), oofem::FEMComponent::giveDomain(), and qcNodeTypeLabel.
Referenced by postInitialize(), oofem::QClinearStatic::setQCNodeType(), and oofem::QClinearStatic::updateNodeTypes().
|
virtual |
Definition at line 255 of file qcnode.C.
References oofem::DofManager::giveDofTypeMap(), and qcNodeTypeLabel.
Referenced by postInitialize(), oofem::QClinearStatic::setRepNodesInVerticesOfInterpolationMesh(), oofem::QClinearStatic::transformMeshToParticles(), and oofem::QClinearStatic::updateNodeTypes().
|
protected |
Flag whether node is fully initialized already.
Definition at line 76 of file qcnode.h.
Referenced by postInitializeAsHangingNode(), and qcNode().
|
staticprotected |
|
staticprotected |
Definition at line 81 of file qcnode.h.
Referenced by initializeFrom().
|
protected |
Number of the master element.
Definition at line 69 of file qcnode.h.
Referenced by checkConsistency(), initializeFrom(), and postInitializeAsHangingNode().
|
protected |
Region of the master element (used for automatic detection).
Definition at line 71 of file qcnode.h.
Referenced by initializeFrom().
|
protected |
Type of qcNode (0 deactive, 1 master, 2 hanging).
Definition at line 73 of file qcnode.h.
Referenced by checkConsistency(), postInitialize(), setAsHanging(), and setAsRepnode().