BF_Edge_2.cpp (getdp-3.4.0-source.tgz) | : | BF_Edge_2.cpp (getdp-3.5.0-source.tgz) | ||
---|---|---|---|---|
// GetDP - Copyright (C) 1997-2021 P. Dular and C. Geuzaine, University of Liege | // GetDP - Copyright (C) 1997-2022 P. Dular and C. Geuzaine, University of Liege | |||
// | // | |||
// See the LICENSE.txt file for license information. Please report all | // See the LICENSE.txt file for license information. Please report all | |||
// issues on https://gitlab.onelab.info/getdp/getdp/issues. | // issues on https://gitlab.onelab.info/getdp/getdp/issues. | |||
#include "ProData.h" | #include "ProData.h" | |||
#include "Message.h" | #include "Message.h" | |||
/* ------------------------------------------------------------------------ */ | /* ------------------------------------------------------------------------ */ | |||
/* B F _ E d g e _ 2 */ | /* B F _ E d g e _ 2 */ | |||
/* ------------------------------------------------------------------------ */ | /* ------------------------------------------------------------------------ */ | |||
/* ------- */ | /* ------- */ | |||
/* Edges */ | /* Edges */ | |||
/* ------- */ | /* ------- */ | |||
#define WrongNumEntity Message::Error("Wrong Edge number in 'BF_Edge_2E'") | #define WrongNumEntity Message::Error("Wrong Edge number in 'BF_Edge_2E'") | |||
void BF_Edge_2E(struct Element * Element, int NumEntity, | void BF_Edge_2E(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
switch (Element->Type) { | switch(Element->Type) { | |||
case LINE : case LINE_2 : | case LINE: | |||
case LINE_3 : case LINE_4 : | case LINE_2: | |||
case LINE_3: | ||||
case LINE_4: | ||||
switch(NumEntity) { | ||||
case 1: | ||||
s[0] = u; | ||||
s[1] = 0.; | ||||
s[2] = 0.; | ||||
break; | ||||
default: WrongNumEntity; | ||||
} | ||||
break; | ||||
case TRIANGLE: | ||||
case TRIANGLE_2: | ||||
case TRIANGLE_3: | ||||
case TRIANGLE_4: | ||||
switch(NumEntity) { | ||||
case 1: | ||||
s[0] = -2.0 * u + 1.0 - v; | ||||
s[1] = -u; | ||||
s[2] = 0.; | ||||
break; | ||||
case 2: | ||||
s[0] = -v; | ||||
s[1] = -2.0 * v + 1.0 - u; | ||||
s[2] = 0.; | ||||
break; | ||||
case 3: | ||||
s[0] = v; | ||||
s[1] = u; | ||||
s[2] = 0.; | ||||
break; | ||||
default: WrongNumEntity; | ||||
} | ||||
break; | ||||
case QUADRANGLE: | ||||
case QUADRANGLE_2: | ||||
case QUADRANGLE_2_8N: | ||||
case QUADRANGLE_3: | ||||
case QUADRANGLE_4: | ||||
switch(NumEntity) { | ||||
default: Message::Error("BF_Edge_2E not ready for QUADRANGLE"); | ||||
} | ||||
break; | ||||
case TETRAHEDRON: | ||||
case TETRAHEDRON_2: | ||||
case TETRAHEDRON_3: | ||||
case TETRAHEDRON_4: | ||||
switch(NumEntity) { | ||||
case 1: | ||||
s[0] = -2.0 * u + 1.0 - v - w; | ||||
s[1] = -u; | ||||
s[2] = -u; | ||||
break; | ||||
case 2: | ||||
s[0] = -v; | ||||
s[1] = -2.0 * v + 1.0 - u - w; | ||||
s[2] = -v; | ||||
break; | ||||
case 3: | ||||
s[0] = -w; | ||||
s[1] = -w; | ||||
s[2] = -2.0 * w + 1.0 - u - v; | ||||
break; | ||||
case 4: | ||||
s[0] = v; | ||||
s[1] = u; | ||||
s[2] = 0.; | ||||
break; | ||||
case 5: | ||||
s[0] = w; | ||||
s[1] = 0.; | ||||
s[2] = u; | ||||
break; | ||||
case 6: | ||||
s[0] = 0.; | ||||
s[1] = w; | ||||
s[2] = v; | ||||
break; | ||||
default: WrongNumEntity; | ||||
} | ||||
break; | ||||
case HEXAHEDRON: | ||||
case HEXAHEDRON_2: | ||||
case HEXAHEDRON_2_20N: | ||||
case HEXAHEDRON_3: | ||||
case HEXAHEDRON_4: | ||||
switch(NumEntity) { | ||||
default: Message::Error("BF_Edge_2E not ready for HEXAHEDRON"); | ||||
} | ||||
break; | ||||
case PRISM: | ||||
case PRISM_2: | ||||
case PRISM_2_15N: | ||||
case PRISM_3: | ||||
case PRISM_4: | ||||
switch(NumEntity) { | ||||
default: Message::Error("BF_Edge_2E not ready for PRISM"); | ||||
} | ||||
break; | ||||
case PYRAMID: | ||||
case PYRAMID_2: | ||||
case PYRAMID_2_13N: | ||||
case PYRAMID_3: // case PYRAMID_4 | ||||
switch(NumEntity) { | switch(NumEntity) { | |||
case 1 : s[0] = u ; s[1] = 0. ; s[2] = 0. ; break ; | default: Message::Error("BF_Edge_2E not ready for PYRAMID"); | |||
default : WrongNumEntity ; | ||||
} | } | |||
break ; | break; | |||
case TRIANGLE : case TRIANGLE_2 : | default: Message::Error("Unknown type of Element in BF_Edge_2E"); break; | |||
case TRIANGLE_3 : case TRIANGLE_4 : | ||||
switch(NumEntity) { | ||||
case 1 : s[0] = -2.0*u+1.0-v ; s[1] = -u ; s[2] = 0. ; break ; | ||||
case 2 : s[0] = -v ; s[1] = -2.0*v+1.0-u ; s[2] = 0. ; break ; | ||||
case 3 : s[0] = v ; s[1] = u ; s[2] = 0. ; break ; | ||||
default : WrongNumEntity ; | ||||
} | ||||
break ; | ||||
case QUADRANGLE : case QUADRANGLE_2 : case QUADRANGLE_2_8N : | ||||
case QUADRANGLE_3 : case QUADRANGLE_4 : | ||||
switch(NumEntity) { | ||||
default : Message::Error("BF_Edge_2E not ready for QUADRANGLE"); | ||||
} | ||||
break ; | ||||
case TETRAHEDRON : case TETRAHEDRON_2 : | ||||
case TETRAHEDRON_3 : case TETRAHEDRON_4 : | ||||
switch(NumEntity) { | ||||
case 1 : s[0] = -2.0*u+1.0-v-w ; s[1] = -u ; s[2] = -u | ||||
; break ; | ||||
case 2 : s[0] = -v ; s[1] = -2.0*v+1.0-u-w ; s[2] = -v | ||||
; break ; | ||||
case 3 : s[0] = -w ; s[1] = -w ; s[2] = -2.0*w+1.0- | ||||
u-v ; break ; | ||||
case 4 : s[0] = v ; s[1] = u ; s[2] = 0. | ||||
; break ; | ||||
case 5 : s[0] = w ; s[1] = 0. ; s[2] = u | ||||
; break ; | ||||
case 6 : s[0] = 0. ; s[1] = w ; s[2] = v | ||||
; break ; | ||||
default : WrongNumEntity ; | ||||
} | ||||
break ; | ||||
case HEXAHEDRON : case HEXAHEDRON_2 : case HEXAHEDRON_2_20N : | ||||
case HEXAHEDRON_3 : case HEXAHEDRON_4 : | ||||
switch(NumEntity) { | ||||
default : Message::Error("BF_Edge_2E not ready for HEXAHEDRON"); | ||||
} | ||||
break ; | ||||
case PRISM : case PRISM_2 : case PRISM_2_15N : | ||||
case PRISM_3 : case PRISM_4 : | ||||
switch(NumEntity) { | ||||
default : Message::Error("BF_Edge_2E not ready for PRISM"); | ||||
} | ||||
break ; | ||||
case PYRAMID : case PYRAMID_2 : case PYRAMID_2_13N : | ||||
case PYRAMID_3 : // case PYRAMID_4 | ||||
switch(NumEntity) { | ||||
default : Message::Error("BF_Edge_2E not ready for PYRAMID"); | ||||
} | ||||
break ; | ||||
default : | ||||
Message::Error("Unknown type of Element in BF_Edge_2E"); | ||||
break ; | ||||
} | } | |||
} | } | |||
#undef WrongNumEntity | #undef WrongNumEntity | |||
/* ------- */ | /* ------- */ | |||
/* Faces */ | /* Faces */ | |||
/* ------- */ | /* ------- */ | |||
#define WrongNumEntity Message::Error("Wrong Face number in 'BF_Edge_2F'") | #define WrongNumEntity Message::Error("Wrong Face number in 'BF_Edge_2F'") | |||
void BF_Edge_2F(struct Element * Element, int NumEntity, | void BF_Edge_2F(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
Message::Error("You should never end up here!") ; | Message::Error("You should never end up here!"); | |||
} | } | |||
#undef WrongNumEntity | #undef WrongNumEntity | |||
/* -------- */ | /* -------- */ | |||
/* Volume */ | /* Volume */ | |||
/* -------- */ | /* -------- */ | |||
void BF_Edge_2V(struct Element * Element, int NumEntity, | void BF_Edge_2V(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
Message::Error("You should never end up here!") ; | Message::Error("You should never end up here!"); | |||
} | } | |||
/* ------------------------------------------------------------------------ */ | /* ------------------------------------------------------------------------ */ | |||
/* B F _ C u r l E d g e _ 2 */ | /* B F _ C u r l E d g e _ 2 */ | |||
/* ------------------------------------------------------------------------ */ | /* ------------------------------------------------------------------------ */ | |||
/* ------- */ | /* ------- */ | |||
/* Edges */ | /* Edges */ | |||
/* ------- */ | /* ------- */ | |||
void BF_CurlEdge_2E(struct Element * Element, int NumEntity, | void BF_CurlEdge_2E(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
s[0] = 0. ; s[1] = 0. ; s[2] = 0. ; | s[0] = 0.; | |||
s[1] = 0.; | ||||
s[2] = 0.; | ||||
} | } | |||
/* ------- */ | /* ------- */ | |||
/* Faces */ | /* Faces */ | |||
/* ------- */ | /* ------- */ | |||
void BF_CurlEdge_2F(struct Element * Element, int NumEntity, | void BF_CurlEdge_2F(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
s[0] = 0. ; s[1] = 0. ; s[2] = 0. ; | s[0] = 0.; | |||
s[1] = 0.; | ||||
s[2] = 0.; | ||||
} | } | |||
/* -------- */ | /* -------- */ | |||
/* Volume */ | /* Volume */ | |||
/* -------- */ | /* -------- */ | |||
void BF_CurlEdge_2V(struct Element * Element, int NumEntity, | void BF_CurlEdge_2V(struct Element *Element, int NumEntity, double u, double v, | |||
double u, double v, double w, double s[]) | double w, double s[]) | |||
{ | { | |||
s[0] = 0. ; s[1] = 0. ; s[2] = 0. ; | s[0] = 0.; | |||
s[1] = 0.; | ||||
s[2] = 0.; | ||||
} | } | |||
End of changes. 18 change blocks. | ||||
86 lines changed or deleted | 141 lines changed or added |