Skip to content

Commit 92e5719

Browse files
committed
corrections to hanging node
1 parent d63cab7 commit 92e5719

7 files changed

Lines changed: 832 additions & 808 deletions

File tree

src/oofemlib/hangingnode.C

Lines changed: 399 additions & 386 deletions
Large diffs are not rendered by default.

src/oofemlib/hangingnode.h

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
//@{
4242
#define _IFT_HangingNode_Name "hangingnode"
4343
#define _IFT_HangingNode_masterElement "masterelement"
44-
//#define _IFT_HangingNode_masterElement "masterelementrot"
44+
#define _IFT_HangingNode_masterElementRot "masterelementrot"
4545
#define _IFT_HangingNode_masterRegion "masterregion"
4646
//@}
4747

@@ -81,24 +81,25 @@ class OOFEM_EXPORT HangingNode : public Node
8181
* @param n Node number in domain aDomain.
8282
* @param aDomain Domain to which node belongs.
8383
*/
84-
HangingNode(int n, Domain * aDomain);
84+
HangingNode(int n, Domain *aDomain);
8585
/// Destructor.
8686
virtual ~HangingNode(void) { }
8787

88-
void initializeFrom(InputRecord &ir) override;
89-
FloatArray computeTriangleRotations( DofIDItem id, FloatArray &hangingNodeCoords, const IntArray &hexaNodes, const FloatArray &translationContribution, Element *e );
88+
void initializeFrom(InputRecord &ir) override;
89+
FloatArray computeTriangleRotations(DofIDItem id, FloatArray &hangingNodeCoords, const IntArray &hexaNodes, const FloatArray &translationContribution, Element *e);
9090
void postInitialize() override;
9191
int checkConsistency() override;
92-
std::tuple<int, int, double> findMasterNodesWithAlignedCoordinates( const IntArray &masterNodes, FloatArray localLcoords, Element *e ) const;
93-
FloatArray computeMasterContributionForRv( const IntArray &masterNodes, const FloatArray &translationContribution, const FloatArray &lcoords, Element *e ) const;
94-
static double computeDistance( const FloatArray &masterGlobalCoords1, const FloatArray &masterGlobalCoords2 );
95-
static double distance( const std::array<double, 3> &a, const std::array<double, 3> &b );
96-
std::vector<int> findThreeClosestNodes( FloatArray &hangingNodeCoords, const IntArray &hexaNodes );
97-
int findNormalDirection( const FloatArray &localLcoords1, const FloatArray &localLcoords2, const FloatArray &localLcoords3 );
92+
std::tuple< int, int, double >findMasterNodesWithAlignedCoordinates(const IntArray &masterNodes, FloatArray localLcoords, Element *e) const;
93+
FloatArray computeMasterContributionForRv(const IntArray &masterNodes, const FloatArray &translationContribution, const FloatArray &lcoords, Element *e) const;
94+
static double computeDistance(const FloatArray &masterGlobalCoords1, const FloatArray &masterGlobalCoords2);
95+
static double distance(const std::array< double, 3 > &a, const std::array< double, 3 > &b);
96+
std::vector< int >findThreeClosestNodes(FloatArray &hangingNodeCoords, const IntArray &hexaNodes);
97+
int findNormalDirection(const FloatArray &localLcoords1, const FloatArray &localLcoords2, const FloatArray &localLcoords3);
9898
bool isDofTypeCompatible(dofType type) const override { return ( type == DT_master || type == DT_slave ); }
9999

100100
const char *giveClassName() const override { return "HangingNode"; }
101101
const char *giveInputRecordName() const override { return _IFT_HangingNode_Name; }
102+
int giveMasterElementRot() const { return masterElementRot; }
102103
};
103104
} // end namespace oofem
104105
#endif // hangingnode_h

0 commit comments

Comments
 (0)