6 OutPut(
"Example: Obstacle.h.\nThe obstacle is 10 times less conductive " <<
7 "and has the shape of\n ");
11 OutPut(
"a circle in the center\n");
14 OutPut(
"a square in the center\n");
17 OutPut(
"a diamond in the center\n");
20 OutPut(
"two boxes on one vertical line, one at the top, the other "<<
24 OutPut(
"two half circles on one vertical line, one at the top, " <<
25 "one at the bottom\n");
28 OutPut(
"two boxes with a vertical offset, on at the top, one at " <<
32 OutPut(
"two half ellipsoids with a vertical offset, on at the top, " <<
33 "one at the bottom\n");
36 OutPut(
"hump in the center (continuous change in permeability)\n");
39 ErrMsg(
"Unknown obstacle. Set P0 in the input file to 0,...,7\n");
50 void ExactU1(
double x,
double y,
double *values)
58 void ExactU2(
double x,
double y,
double *values)
66 void ExactP(
double x,
double y,
double *values)
77 void BoundCondition(
int bdComp,
double t, BoundCond &cond)
83 void FluxBoundValue(
int bdComp,
double Param,
double &value)
99 default: cout <<
"wrong boundary part number" << endl;
107 void LinCoeffs(
int n_points,
double *X,
double *Y,
108 double **parameters,
double **coeffs)
128 for(
int i = 0; i < n_points; i++)
139 r = sqrt((x-0.5)*(x-0.5)+(y-0.5)*(y-0.5));
144 if( x>0.45 && x<0.55 && y>0.35 && y<0.65)
148 if (x+y>0.8 && x+y<1.2 && x-y<0.2 && x-y>-0.2)
152 if(x>0.35 && x<0.65 && (y<0.2 || y>0.8))
156 r = sqrt((x-0.5)*(x-0.5)+y*y);
159 r = sqrt((x-0.5)*(x-0.5)+(y-1)*(y-1));
164 if((x>0.65 && x<0.75 && y<0.6) || (x>0.25 && x<0.35 && y>0.4))
168 r = sqrt((x-0.75)*(x-0.75)+0.1*y*y);
171 r = sqrt((x-0.25)*(x-0.25)+0.1*(y-1)*(y-1));
176 r = sqrt((x-0.5)*(x-0.5)+(y-0.5)*(y-0.5));
178 coeff[0] *= 1+0.5*factor*(cos(5*Pi*r)+1);
double P0
Definition: Database.h:533
static TParamDB * ParamDB
Definition: Database.h:1134