51HangingNode :: HangingNode(
int n,
Domain *aDomain) :
Node(n, aDomain)
58void HangingNode :: initializeFrom(
InputRecord &ir,
int priority)
62 Node :: initializeFrom(ir, priority);
67int HangingNode :: checkConsistency()
69 int result = Node :: checkConsistency();
72 OOFEM_ERROR(
"Master element not specified or determined for hanging node %d.\nHas postInitialize() method been called before? ", this->
giveNumber());
82 for (
int i = 1; i <= countOfMasterNodes; i++ ) {
84 OOFEM_WARNING(
"Mismatch in parallel mode of HangingNode and master");
102void HangingNode :: postInitialize()
104 Node :: postInitialize();
125 OOFEM_ERROR(
"Couldn't find closest element (automatically).");
144 for (
Dof *dof: *
this ) {
150 OOFEM_ERROR(
"Requested interpolation for dof id %d doesn't exist in element %d.",
154 if ( fei->hasMultiField() ) {
156 IntArray masterDofIDs, masterNodesDup, dofids;
158 masterContribution.flatten(multiContribution);
159 masterDofIDs.
clear();
164 sdof->
initialize(masterNodesDup, & masterDofIDs, masterContribution);
#define REGISTER_DofManager(class)
dofManagerParallelMode parallel_mode
FloatArray coordinates
Array storing nodal coordinates.
DofIDItem giveDofID() const
int giveGlobalNumber() const
Node * giveNode(int i) const
virtual FEInterpolation * giveInterpolation() const
virtual int giveNumberOfNodes() const
const IntArray & giveDofManArray() const
virtual int global2local(FloatArray &answer, const FloatArray &gcoords, const FEICellGeometry &cellgeo) const =0
virtual void evalN(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const =0
Domain * giveDomain() const
Domain * domain
Link to domain object, useful for communicating with other FEM components.
int number
Component number.
Index giveSize() const
Returns the size of receiver.
int giveNumberOfColumns() const
Returns number of columns of receiver.
int masterElement
Number of the master element.
bool initialized
Flag whether node is fully initialized already.
static ParamKey IPK_HangingNode_masterRegion
static ParamKey IPK_HangingNode_masterElement
int masterRegion
Region of the master element (used for automatic detection).
void followedBy(const IntArray &b, int allocChunk=0)
Node(int n, Domain *aDomain)
bool hasSameLCS(Node *remote)
void initialize(const IntArray &masterNodes, const IntArray &mstrDofID, const FloatArray &mstrContribution)
virtual int init(bool force=false)
virtual Element * giveElementClosestToPoint(FloatArray &lcoords, FloatArray &closest, const FloatArray &coords, int region=0)=0
#define OOFEM_WARNING(...)
#define OOFEM_LOG_INFO(...)
#define PM_UPDATE_PARAMETER(_val, _pm, _ir, _componentnum, _paramkey, _prio)