|
41 | 41 | //@{ |
42 | 42 | #define _IFT_HangingNode_Name "hangingnode" |
43 | 43 | #define _IFT_HangingNode_masterElement "masterelement" |
44 | | -//#define _IFT_HangingNode_masterElement "masterelementrot" |
| 44 | +#define _IFT_HangingNode_masterElementRot "masterelementrot" |
45 | 45 | #define _IFT_HangingNode_masterRegion "masterregion" |
46 | 46 | //@} |
47 | 47 |
|
@@ -81,24 +81,25 @@ class OOFEM_EXPORT HangingNode : public Node |
81 | 81 | * @param n Node number in domain aDomain. |
82 | 82 | * @param aDomain Domain to which node belongs. |
83 | 83 | */ |
84 | | - HangingNode(int n, Domain * aDomain); |
| 84 | + HangingNode(int n, Domain *aDomain); |
85 | 85 | /// Destructor. |
86 | 86 | virtual ~HangingNode(void) { } |
87 | 87 |
|
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); |
90 | 90 | void postInitialize() override; |
91 | 91 | 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); |
98 | 98 | bool isDofTypeCompatible(dofType type) const override { return ( type == DT_master || type == DT_slave ); } |
99 | 99 |
|
100 | 100 | const char *giveClassName() const override { return "HangingNode"; } |
101 | 101 | const char *giveInputRecordName() const override { return _IFT_HangingNode_Name; } |
| 102 | + int giveMasterElementRot() const { return masterElementRot; } |
102 | 103 | }; |
103 | 104 | } // end namespace oofem |
104 | 105 | #endif // hangingnode_h |
0 commit comments