15 #if !defined(KRATOS_INTERFACE_ELEMENT_UTILITIES )
16 #define KRATOS_INTERFACE_ELEMENT_UTILITIES
24 class InterfaceElementUtilities
41 rNu(0,0) = -2.0*Ncontainer(GPoint,0); rNu(0,2) = 2.0*Ncontainer(GPoint,1);
42 rNu(1,1) = -2.0*Ncontainer(GPoint,0); rNu(1,3) = 2.0*Ncontainer(GPoint,1);
50 rNu(0,0) = -2.0*Ncontainer(GPoint,0); rNu(0,2) = -2.0*Ncontainer(GPoint,1);
51 rNu(1,1) = -2.0*Ncontainer(GPoint,0); rNu(1,3) = -2.0*Ncontainer(GPoint,1);
53 rNu(0,4) = 2.0*Ncontainer(GPoint,2); rNu(0,6) = 2.0*Ncontainer(GPoint,3);
54 rNu(1,5) = 2.0*Ncontainer(GPoint,2); rNu(1,7) = 2.0*Ncontainer(GPoint,3);
62 rNu(0,0) = -2.0*Ncontainer(GPoint,0); rNu(0,3) = -2.0*Ncontainer(GPoint,1);
63 rNu(1,1) = -2.0*Ncontainer(GPoint,0); rNu(1,4) = -2.0*Ncontainer(GPoint,1);
64 rNu(2,2) = -2.0*Ncontainer(GPoint,0); rNu(2,5) = -2.0*Ncontainer(GPoint,1);
66 rNu(0,6) = 2.0*Ncontainer(GPoint,2); rNu(0,9) = 2.0*Ncontainer(GPoint,3);
67 rNu(1,7) = 2.0*Ncontainer(GPoint,2); rNu(1,10) = 2.0*Ncontainer(GPoint,3);
68 rNu(2,8) = 2.0*Ncontainer(GPoint,2); rNu(2,11) = 2.0*Ncontainer(GPoint,3);
76 rNu(0,0) = -2.0*Ncontainer(GPoint,0); rNu(0,3) = -2.0*Ncontainer(GPoint,1); rNu(0,6) = -2.0*Ncontainer(GPoint,2);
77 rNu(1,1) = -2.0*Ncontainer(GPoint,0); rNu(1,4) = -2.0*Ncontainer(GPoint,1); rNu(1,7) = -2.0*Ncontainer(GPoint,2);
78 rNu(2,2) = -2.0*Ncontainer(GPoint,0); rNu(2,5) = -2.0*Ncontainer(GPoint,1); rNu(2,8) = -2.0*Ncontainer(GPoint,2);
80 rNu(0,9) = 2.0*Ncontainer(GPoint,3); rNu(0,12) = 2.0*Ncontainer(GPoint,4); rNu(0,15) = 2.0*Ncontainer(GPoint,5);
81 rNu(1,10) = 2.0*Ncontainer(GPoint,3); rNu(1,13) = 2.0*Ncontainer(GPoint,4); rNu(1,16) = 2.0*Ncontainer(GPoint,5);
82 rNu(2,11) = 2.0*Ncontainer(GPoint,3); rNu(2,14) = 2.0*Ncontainer(GPoint,4); rNu(2,17) = 2.0*Ncontainer(GPoint,5);
90 rNu(0,0) = -2.0*Ncontainer(GPoint,0); rNu(0,3) = -2.0*Ncontainer(GPoint,1); rNu(0,6) = -2.0*Ncontainer(GPoint,2); rNu(0,9) = -2.0*Ncontainer(GPoint,3);
91 rNu(1,1) = -2.0*Ncontainer(GPoint,0); rNu(1,4) = -2.0*Ncontainer(GPoint,1); rNu(1,7) = -2.0*Ncontainer(GPoint,2); rNu(1,10) = -2.0*Ncontainer(GPoint,3);
92 rNu(2,2) = -2.0*Ncontainer(GPoint,0); rNu(2,5) = -2.0*Ncontainer(GPoint,1); rNu(2,8) = -2.0*Ncontainer(GPoint,2); rNu(2,11) = -2.0*Ncontainer(GPoint,3);
94 rNu(0,12) = 2.0*Ncontainer(GPoint,4); rNu(0,15) = 2.0*Ncontainer(GPoint,5); rNu(0,18) = 2.0*Ncontainer(GPoint,6); rNu(0,21) = 2.0*Ncontainer(GPoint,7);
95 rNu(1,13) = 2.0*Ncontainer(GPoint,4); rNu(1,16) = 2.0*Ncontainer(GPoint,5); rNu(1,19) = 2.0*Ncontainer(GPoint,6); rNu(1,22) = 2.0*Ncontainer(GPoint,7);
96 rNu(2,14) = 2.0*Ncontainer(GPoint,4); rNu(2,17) = 2.0*Ncontainer(GPoint,5); rNu(2,20) = 2.0*Ncontainer(GPoint,6); rNu(2,23) = 2.0*Ncontainer(GPoint,7);
104 rNut(0,0) = -2.0*Ncontainer(GPoint,0); rNut(0,3) = -2.0*Ncontainer(GPoint,1);
105 rNut(1,1) = -2.0*Ncontainer(GPoint,0); rNut(1,4) = -2.0*Ncontainer(GPoint,1);
107 rNut(0,6) = 2.0*Ncontainer(GPoint,2); rNut(0,9) = 2.0*Ncontainer(GPoint,3);
108 rNut(1,7) = 2.0*Ncontainer(GPoint,2); rNut(1,10) = 2.0*Ncontainer(GPoint,3);
116 rNut(0,0) = -2.0*Ncontainer(GPoint,0); rNut(0,4) = -2.0*Ncontainer(GPoint,1); rNut(0,8) = -2.0*Ncontainer(GPoint,2);
117 rNut(1,1) = -2.0*Ncontainer(GPoint,0); rNut(1,5) = -2.0*Ncontainer(GPoint,1); rNut(1,9) = -2.0*Ncontainer(GPoint,2);
118 rNut(2,2) = -2.0*Ncontainer(GPoint,0); rNut(2,6) = -2.0*Ncontainer(GPoint,1); rNut(2,10) = -2.0*Ncontainer(GPoint,2);
120 rNut(0,12) = 2.0*Ncontainer(GPoint,3); rNut(0,16) = 2.0*Ncontainer(GPoint,4); rNut(0,20) = 2.0*Ncontainer(GPoint,5);
121 rNut(1,13) = 2.0*Ncontainer(GPoint,3); rNut(1,17) = 2.0*Ncontainer(GPoint,4); rNut(1,21) = 2.0*Ncontainer(GPoint,5);
122 rNut(2,14) = 2.0*Ncontainer(GPoint,3); rNut(2,18) = 2.0*Ncontainer(GPoint,4); rNut(2,22) = 2.0*Ncontainer(GPoint,5);
130 rNut(0,0) = -2.0*Ncontainer(GPoint,0); rNut(0,4) = -2.0*Ncontainer(GPoint,1); rNut(0,8) = -2.0*Ncontainer(GPoint,2); rNut(0,12) = -2.0*Ncontainer(GPoint,3);
131 rNut(1,1) = -2.0*Ncontainer(GPoint,0); rNut(1,5) = -2.0*Ncontainer(GPoint,1); rNut(1,9) = -2.0*Ncontainer(GPoint,2); rNut(1,13) = -2.0*Ncontainer(GPoint,3);
132 rNut(2,2) = -2.0*Ncontainer(GPoint,0); rNut(2,6) = -2.0*Ncontainer(GPoint,1); rNut(2,10) = -2.0*Ncontainer(GPoint,2); rNut(2,14) = -2.0*Ncontainer(GPoint,3);
134 rNut(0,16) = 2.0*Ncontainer(GPoint,4); rNut(0,20) = 2.0*Ncontainer(GPoint,5); rNut(0,24) = 2.0*Ncontainer(GPoint,6); rNut(0,28) = 2.0*Ncontainer(GPoint,7);
135 rNut(1,17) = 2.0*Ncontainer(GPoint,4); rNut(1,21) = 2.0*Ncontainer(GPoint,5); rNut(1,25) = 2.0*Ncontainer(GPoint,6); rNut(1,29) = 2.0*Ncontainer(GPoint,7);
136 rNut(2,18) = 2.0*Ncontainer(GPoint,4); rNut(2,22) = 2.0*Ncontainer(GPoint,5); rNut(2,26) = 2.0*Ncontainer(GPoint,6); rNut(2,30) = 2.0*Ncontainer(GPoint,7);
142 const double& JointWidth,
const double& Transversal_Permeability_Coeff)
145 rPermeabilityMatrix(0,0) = JointWidth*JointWidth/12.0;
146 rPermeabilityMatrix(1,1) = Transversal_Permeability_Coeff;
152 const double& JointWidth,
const double& Transversal_Permeability_Coeff)
155 rPermeabilityMatrix(0,0) = JointWidth*JointWidth/12.0;
156 rPermeabilityMatrix(1,1) = JointWidth*JointWidth/12.0;
157 rPermeabilityMatrix(2,2) = Transversal_Permeability_Coeff;
165 rVoigtVector[0] = 0.0;
166 rVoigtVector[1] = 1.0;
174 rVoigtVector[0] = 0.0;
175 rVoigtVector[1] = 0.0;
176 rVoigtVector[2] = 1.0;
182 const double& JointWidth)
185 rPermeabilityMatrix(0,0) = JointWidth*JointWidth/12.0;
186 rPermeabilityMatrix(1,1) = JointWidth*JointWidth/12.0;
192 const double& JointWidth)
195 rPermeabilityMatrix(0,0) = JointWidth*JointWidth/12.0;
196 rPermeabilityMatrix(1,1) = JointWidth*JointWidth/12.0;
197 rPermeabilityMatrix(2,2) = JointWidth*JointWidth/12.0;
static void CalculateNuMatrix(BoundedMatrix< double, 3, 24 > &rNu, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:87
static void CalculateLinkPermeabilityMatrix(BoundedMatrix< double, 3, 3 > &rPermeabilityMatrix, const double &JointWidth)
Definition: interface_element_utilities.hpp:191
static void CalculateNuMatrix(BoundedMatrix< double, 3, 18 > &rNu, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:73
static void CalculateNuMatrix(BoundedMatrix< double, 2, 8 > &rNu, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:47
static void CalculateLinkPermeabilityMatrix(BoundedMatrix< double, 2, 2 > &rPermeabilityMatrix, const double &JointWidth)
Definition: interface_element_utilities.hpp:181
static void CalculateNuElementMatrix(BoundedMatrix< double, 3, 12 > &rNut, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:101
static void CalculateNuMatrix(BoundedMatrix< double, 3, 12 > &rNu, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:59
static void CalculatePermeabilityMatrix(BoundedMatrix< double, 2, 2 > &rPermeabilityMatrix, const double &JointWidth, const double &Transversal_Permeability_Coeff)
Definition: interface_element_utilities.hpp:141
static void CalculateNuElementMatrix(BoundedMatrix< double, 4, 32 > &rNut, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:127
static void CalculateNuMatrix(BoundedMatrix< double, 2, 4 > &rNu, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:38
static void CalculateNuElementMatrix(BoundedMatrix< double, 4, 24 > &rNut, const Matrix &Ncontainer, const unsigned int &GPoint)
Definition: interface_element_utilities.hpp:113
static void CalculatePermeabilityMatrix(BoundedMatrix< double, 3, 3 > &rPermeabilityMatrix, const double &JointWidth, const double &Transversal_Permeability_Coeff)
Definition: interface_element_utilities.hpp:151
static void CalculateVoigtVector(array_1d< double, 3 > &rVoigtVector)
Definition: interface_element_utilities.hpp:171
static void CalculateVoigtVector(array_1d< double, 2 > &rVoigtVector)
Definition: interface_element_utilities.hpp:162
Definition: amatrix_interface.h:41
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21