7 OutPut(
"Example: SinCos_CST_Giesekus.h ") ;
15 void ExactU1(
double x,
double y,
double *values)
17 values[0] = sin(Pi*x);
18 values[1] = Pi*cos(Pi*x);
20 values[3] = -Pi*Pi*sin(Pi*x);
23 void ExactU2(
double x,
double y,
double *values)
25 values[0] = -Pi*y*cos(Pi*x);
26 values[1] = Pi*Pi*y*sin(Pi*x);
27 values[2] = -Pi*cos(Pi*x);
28 values[3] = Pi*Pi*Pi*y*cos(Pi*x);
31 void ExactP(
double x,
double y,
double *values)
33 values[0] = sin(Pi*x)*cos(Pi*y);
34 values[1] = Pi*cos(Pi*x)*cos(Pi*y);
35 values[2] = -Pi*sin(Pi*x)*sin(Pi*y);
36 values[3] = -Pi*Pi*sin(Pi*x)*cos(Pi*y)-Pi*Pi*sin(Pi*x)*cos(Pi*y);
39 void InitialU1(
double x,
double y,
double *values)
41 values[0] = sin(Pi*x);
44 void InitialU2(
double x,
double y,
double *values)
46 values[0] = -Pi*y*cos(Pi*x);
49 void InitialP(
double x,
double y,
double *values)
51 values[0] = sin(Pi*x)*cos(Pi*y);
57 void BoundCondition(
int i,
double t, BoundCond &cond)
63 void U1BoundValue(
int BdComp,
double Param,
double &value)
67 case 0: value=sin(Pi*Param);
69 case 1: value=sin(Pi);
71 case 2: value=sin(Pi*(1-Param));
75 default: cout <<
"wrong boundary part number" << endl;
81 void U2BoundValue(
int BdComp,
double Param,
double &value)
87 case 1: value=Pi*Param;
89 case 2: value=-Pi*cos(Pi*(1-Param));
91 case 3: value=-Pi*(1-Param);
93 default: cout <<
"wrong boundary part number" << endl;
102 void LinCoeffs(
int n_points,
double *X,
double *Y,
103 double **parameters,
double **coeffs)
108 double u1, u1x, u1y, u1lap, u2, u2x, u2y, u2lap, px, py;
110 for(i=0;i<n_points;i++)
122 u1lap = -Pi*Pi*sin(Pi*x);
123 u2 = -Pi*y*cos(Pi*x);
124 u2x = Pi*Pi*y*sin(Pi*x);
126 u2lap = Pi*Pi*Pi*y*cos(Pi*x);
127 px = Pi*cos(Pi*x)*cos(Pi*y);
128 py = -Pi*sin(Pi*x)*sin(Pi*y);
130 coeff[1] = -nu*u1lap+u1*u1x+u2*u1y+px;
131 coeff[2] = -nu*u2lap+u1*u2x+u2*u2y+py;
145 void ExactS1(
double x,
double y,
double *values)
147 values[0] = sin(Pi*x);
148 values[1] = Pi*cos(Pi*x);
150 values[3] = -Pi*Pi*sin(Pi*x);
153 void ExactS2(
double x,
double y,
double *values)
155 values[0] = -Pi*y*cos(Pi*x);
156 values[1] = Pi*Pi*y*sin(Pi*x);
157 values[2] = -Pi*cos(Pi*x);
158 values[3] = Pi*Pi*Pi*y*cos(Pi*x);
163 void ExactS3(
double x,
double y,
double *values)
165 values[0] = sin(Pi*x)*cos(Pi*y);
166 values[1] = Pi*cos(Pi*x)*cos(Pi*y);
167 values[2] = -Pi*sin(Pi*x)*sin(Pi*y);
168 values[3] = -Pi*Pi*sin(Pi*x)*cos(Pi*y)-Pi*Pi*sin(Pi*x)*cos(Pi*y);
171 void InitialS1(
double x,
double y,
double *values)
173 values[0] = sin(Pi*x);
176 void InitialS2(
double x,
double y,
double *values)
178 values[0] = -Pi*y*cos(Pi*x);
181 void InitialS3(
double x,
double y,
double *values)
183 values[0] = sin(Pi*x)*cos(Pi*y);
189 void BoundCondition_CST(
int i,
double t, BoundCond &cond)
195 void S1BoundValue(
int BdComp,
double Param,
double &value)
199 case 0: value=sin(Pi*Param);
203 case 2: value=sin(Pi*(1-Param));
207 default: cout <<
"wrong boundary part number" << endl;
213 void S2BoundValue(
int BdComp,
double Param,
double &value)
219 case 1: value=Pi*Param;
221 case 2: value=-Pi*cos(Pi*(1-Param));
223 case 3: value=-Pi*(1-Param);
225 default: cout <<
"wrong boundary part number" << endl;
233 void S3BoundValue(
int BdComp,
double Param,
double &value)
237 case 0: value=sin(Pi*Param);
241 case 2: value=-sin(Pi*(1-Param));
245 default: cout <<
"wrong boundary part number" << endl;
254 void LinCoeffs_CST(
int n_points,
double *X,
double *Y,
255 double **parameters,
double **coeffs)
260 double u1, u1x, u1y, u2, u2x, u2y, tau1, tau2, tau3, tau1x, tau1y, tau2x, tau2y, tau3x, tau3y;
262 for(i=0;i<n_points;i++)
274 u2 = -Pi*y*cos(Pi*x);
275 u2x = Pi*Pi*y*sin(Pi*x);
278 tau1x = Pi*cos(Pi*x);
280 tau2 = -Pi*y*cos(Pi*x);
281 tau2x = Pi*Pi*y*sin(Pi*x);
282 tau2y = -Pi*cos(Pi*x);
284 tau3 = sin(Pi*x)*cos(Pi*y);
285 tau3x = Pi*cos(Pi*x)*cos(Pi*y);
286 tau3y = -Pi*sin(Pi*x)*sin(Pi*y);
289 coeff[1] = (u1*tau1x) + (u2*tau1y) + ((1-(2.0*alpha))*nu*(tau1)) - (2*(tau1*u1x + tau2*u1y)) + (alpha*nu*((tau1*tau1) + (tau2*tau2)));
291 coeff[2] = (u1*tau2x) + (u2*tau2y) + ((1-(2.0*alpha))*nu*(tau2)) - (tau1*u2x + tau3*u1y) + (alpha*nu*((tau1*tau2) + (tau2*tau3)));
293 coeff[3] = (u1*tau3x) + (u2*tau3y) + ((1-(2.0*alpha))*nu*(tau3)) - (2*(tau2*u2x + tau3*u2y)) + (alpha*nu*((tau2*tau2) + (tau3*tau3)));
double RE_NR
Definition: Database.h:313
static TParamDB * ParamDB
Definition: Database.h:1134