ParMooN
 All Classes Functions Variables Friends Pages
InnerInterfaceJoint.h
1 // =======================================================================
2 // @(#)InnerInterfaceJoint.h 1.3 01/26/12
3 //
4 // Class: TInnerInterfaceJoint
5 // Purpose: connects two cells of different collection
6 // (not treated as a boundary joint)
7 //
8 //
9 // =======================================================================
10 
11 #ifndef __INNERINTERFACEJOINT__
12 #define __INNERINTERFACEJOINT__
13 
14 #include <JointEqN.h>
15 #include <Vertex.h>
16 
19 {
20  protected:
23 
25  double Xstart;
27  double Ystart;
29  double delX;
31  double delY;
32 
35  public:
38  int SubDomainsID[2];
39 
40  // Constructors
43  TInnerInterfaceJoint(TBaseCell *neighb0, TBaseCell *neighb1);
44 
45  // Methods
47  virtual TJoint *NewInst(double T_0, double T_1, TBaseCell *Me);
48  virtual TJoint *NewInst();
49 
50 
51  virtual bool InnerJoint() const
52  { return true; }
53 
55  void SetChild(TInnerInterfaceJoint *child);
57  TInnerInterfaceJoint *GetChild(int child) const;
58 
60  TBaseCell *GetNeighbour(int i) const;
61 
64  void SetParams (double xstart, double ystart, double delx, double dely);
65  void GetParams (double &xstart, double &ystart, double &delx, double &dely) const;
66 
68  double GetLength() const;
69 
71  void GetNormal(double &nx, double &ny) const;
72 
74  void GetTangent(double &tx, double &ty) const;
75 
77  int GetIndexInNeighbor(TBaseCell const * const neigh);
78  void SetIndexInNeighbor(TBaseCell *neigh, int index);
79 
80  // Destructor
81  virtual ~TInnerInterfaceJoint(){};
82 
83 };
84 
85 #endif
void SetChild(TInnerInterfaceJoint *child)
Definition: InnerInterfaceJoint.C:72
Definition: InnerInterfaceJoint.h:18
void SetIndexInNeighbor(TBaseCell *neigh, int index)
Definition: InnerInterfaceJoint.C:168
TInnerInterfaceJoint * children[2]
Definition: InnerInterfaceJoint.h:22
double delX
Definition: InnerInterfaceJoint.h:29
double delY
Definition: InnerInterfaceJoint.h:31
virtual TJoint * NewInst(double T_0, double T_1, TBaseCell *Me)
Definition: InnerInterfaceJoint.C:61
Definition: JointEqN.h:20
Definition: Joint.h:48
void GetTangent(double &tx, double &ty) const
Definition: InnerInterfaceJoint.C:146
double GetLength() const
Definition: InnerInterfaceJoint.C:132
TBaseCell * GetNeighbour(int i) const
Definition: InnerInterfaceJoint.C:98
void SetParams(double xstart, double ystart, double delx, double dely)
Definition: InnerInterfaceJoint.C:113
double Xstart
Definition: InnerInterfaceJoint.h:25
TInnerInterfaceJoint(TBaseCell *neighb0)
Definition: InnerInterfaceJoint.C:42
information for finite element data structure
Definition: BaseCell.h:25
int GetIndexInNeighbor(TBaseCell const *const neigh)
Definition: InnerInterfaceJoint.C:154
double Ystart
Definition: InnerInterfaceJoint.h:27
void GetNormal(double &nx, double &ny) const
Definition: InnerInterfaceJoint.C:138
int NeibGlobalCellNo[2]
Definition: InnerInterfaceJoint.h:37
virtual bool InnerJoint() const
Definition: InnerInterfaceJoint.h:51
void GetParams(double &xstart, double &ystart, double &delx, double &dely) const
Definition: InnerInterfaceJoint.C:123
TInnerInterfaceJoint * GetChild(int child) const
Definition: InnerInterfaceJoint.C:86
int IndexInNeighbor[2]
Definition: InnerInterfaceJoint.h:34