"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "Functions/BF_Volume.cpp" between
getdp-3.4.0-source.tgz and getdp-3.5.0-source.tgz

About: GetDP is a general finite element solver using mixed elements to discretize de Rham-type complexes in one, two and three dimensions.

BF_Volume.cpp  (getdp-3.4.0-source.tgz):BF_Volume.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 _ V o l u m e */ /* B F _ V o l u m e */
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
#define WrongNumVolume Message::Error("Wrong Volume number in 'BF_Volume'") #define WrongNumVolume Message::Error("Wrong Volume number in 'BF_Volume'")
void BF_Volume(struct Element * Element, int NumVolume, void BF_Volume(struct Element *Element, int NumVolume, double u, double v,
double u, double v, double w, double *s) double w, double *s)
{ {
switch (Element->Type) { switch(Element->Type) {
case POINT_ELEMENT : case POINT_ELEMENT:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 1. ; break ; case 1: *s = 1.; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case LINE : case LINE:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 0.5 ; break ; case 1: *s = 0.5; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case TRIANGLE : case TRIANGLE:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 2. ; break ; case 1: *s = 2.; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case QUADRANGLE : case QUADRANGLE:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 0.25 ; break ; case 1: *s = 0.25; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case TETRAHEDRON : case TETRAHEDRON:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 6. ; break ; case 1: *s = 6.; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case HEXAHEDRON : case HEXAHEDRON:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 0.125 ; break ; case 1: *s = 0.125; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case PRISM : case PRISM:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 1. ; break ; case 1: *s = 1.; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
case PYRAMID : case PYRAMID:
switch(NumVolume) { switch(NumVolume) {
case 1 : *s = 3./4. ; break ; case 1: *s = 3. / 4.; break;
default : WrongNumVolume ; default: WrongNumVolume;
} }
break ; break;
default : default: Message::Error("Unknown type of Element in BF_Volume"); break;
Message::Error("Unknown type of Element in BF_Volume");
break ;
} }
} }
#undef WrongNumVolume #undef WrongNumVolume
void BF_VolumeX(struct Element * Element, int NumVolume, void BF_VolumeX(struct Element *Element, int NumVolume, double u, double v,
double u, double v, double w, double *s) double w, double *s)
{ {
s[1] = s[2] = 0.; s[1] = s[2] = 0.;
BF_Volume (Element, NumVolume, u, v, w, &s[0]) ; BF_Volume(Element, NumVolume, u, v, w, &s[0]);
} }
void BF_VolumeY(struct Element * Element, int NumVolume, void BF_VolumeY(struct Element *Element, int NumVolume, double u, double v,
double u, double v, double w, double *s) double w, double *s)
{ {
s[0] = s[2] = 0.; s[0] = s[2] = 0.;
BF_Volume (Element, NumVolume, u, v, w, &s[1]) ; BF_Volume(Element, NumVolume, u, v, w, &s[1]);
} }
void BF_VolumeZ(struct Element * Element, int NumVolume, void BF_VolumeZ(struct Element *Element, int NumVolume, double u, double v,
double u, double v, double w, double *s) double w, double *s)
{ {
s[0] = s[1] = 0.; s[0] = s[1] = 0.;
BF_Volume (Element, NumVolume, u, v, w, &s[2]) ; BF_Volume(Element, NumVolume, u, v, w, &s[2]);
} }
 End of changes. 34 change blocks. 
49 lines changed or deleted 47 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)