76 t19 = t13*t14*
alpha*(1.0-rho)/2.0;
80 t25 = cos(-t19+t22+0.3141592653589793E1/4.0);
84 return(t1*t2*t6*t8*
Omega*t11*t21*t26+4.0*
alpha*t2*t6*t14*
Omega*t10*t20*t25*
115 t18 = 0.3141592653589793E1/4.0;
119 t31 = sin(2.0*t5+t18);
121 return(t1*(0.3141592653589793E1*t2/
N*t7/2.0+t11*0.3141592653589793E1*t13*
122 Omega*t16*t6*t20)+0.3141592653589793E1*t1*t2*t11*(t27*(t28*t31/4.0+t33*t28/4.0
123 )-2.0*t28*t16*t6*t20)/2.0);
130 double P_sarah(
double rho,
double zeta,
double t)
146 t19 = cos(t8+0.3141592653589793E1/4.0);
169 t10 = pow(1.0+
A,2.0);
174 return(-
alpha*t1*0.3141592653589793E1*t4*t6*t5*t10*(-1.0+2.0*t12*t13-2.0*
196 t2 = 0.3141592653589793E1*t1;
206 return(4.0*t2*(
N-1.0)*t4*t8-
alpha*t4*0.3141592653589793E1*t14*t15*t1*t19*(
207 -1.0+2.0*t20*t7-2.0*t8)/8.0+t4*t18*t2*(-10.0*
A*t8-
A+8.0*
A*
N*t8+22.0*t8-1.0-24.0
214 double U_sarah(
double rho,
double zeta,
double t)
247 t4 = pow(rho,1.0*t3);
257 t23 = 0.3141592653589793E1/4.0;
262 t46 = t41*t19*
alpha*t43/2.0;
267 t57 = sin(-t46+t8+t23);
274 t12*
N*t19*t22*t14*t25)*t35)-
epsilon*t12*(t14*(
Omega*t21*t47*t49-t52)+t14*(t55*
275 t21*t59-t62*t64*t9)*t35)+
epsilon*t1*(t52*t6+t6*(-t55*t21*t59-t62*t43*t3*t9)*t35
276 )-(-t12*(-
Omega*t14*t87-t89*t19*t21*t14*t25)+t1*(
Omega*t6*t87+t89*t6*t19*t21*
283 double V_sarah(
double rho,
double zeta,
double t)
316 t4 = pow(rho,1.0*t3);
326 t23 = 0.3141592653589793E1/4.0;
331 t46 = t41*t19*
alpha*t43/2.0;
336 t57 = sin(-t46+t8+t23);
343 t12*
N*t19*t22*t14*t25)*t35)+
epsilon*t12*(t14*(
Omega*t21*t47*t49-t52)+t14*(t55*
344 t21*t59-t62*t64*t9)*t35)+
epsilon*t1*(t52*t6+t6*(-t55*t21*t59-t62*t43*t3*t9)*t35
345 )-(t12*(-
Omega*t14*t87-t89*t19*t21*t14*t25)+t1*(
Omega*t6*t87+t89*t6*t19*t21*t25
352 double X_sarah(
double rho,
double zeta,
double t)
367 return(rho*(t1+
epsilon*t3*(t6*t1-
A*t8*t10)));
373 double Y_sarah(
double rho,
double zeta,
double t)
388 return(rho*(t1+
epsilon*t3*(t6*t1+
A*t8*t10)));
396 const Vector<double>& unknowns,
397 Vector<double>& residuals)
406 double rho=unknowns[0];
407 double zeta=unknowns[1];
410 residuals[0]=
X_sarah(rho,zeta,t)-xx;
411 residuals[1]=
Y_sarah(rho,zeta,t)-yy;
419 const Vector<double>& x,
420 Vector<double>& soln)
429 Vector<double> params(3);
436 Vector<double> unknowns(2);
439 double rho=sqrt(x[0]*x[0]+x[1]*x[1]);
440 double zeta=0.5*MathematicalConstants::Pi;
441 if (std::abs(x[0])>1e-4) zeta=atan(x[1]/x[0]);
448 BlackBoxFDNewtonSolver::black_box_fd_newton_solve(
459 double dx=
X_sarah(rho,zeta,time)-x[0];
460 double dy=
Y_sarah(rho,zeta,time)-x[1];
461 double error=sqrt(dx*dx+dy*dy);
464 std::cout <<
"Trafo error " << error << std::endl;
469 soln[0]=
U_sarah(rho,zeta,time);
470 soln[1]=
V_sarah(rho,zeta,time);
481 const Vector<double>& x,
482 Vector<double>& soln)
492 Vector<double> params(3);
499 Vector<double> unknowns(2);
502 double rho=sqrt(x[0]*x[0]+x[1]*x[1]);
503 double zeta=0.5*MathematicalConstants::Pi;
504 if (std::abs(x[0])>1e-4) zeta=atan(x[1]/x[0]);
511 BlackBoxFDNewtonSolver::black_box_fd_newton_solve(
522 double dx=
X_sarah(rho,zeta,time)-x[0];
523 double dy=
Y_sarah(rho,zeta,time)-x[1];
524 double error=sqrt(dx*dx+dy*dy);
527 std::cout <<
"Trafo error " << error << std::endl;
532 soln[0]=
U_sarah(rho,zeta,time);
533 soln[1]=
V_sarah(rho,zeta,time);
double X_sarah(double rho, double zeta, double t)
double Diss_sarah(double rho, double zeta, double t)
double Kin_energy_sarah(double t)
double U_sarah(double rho, double zeta, double t)
void full_exact_soln(const double &time, const Vector< double > &x, Vector< double > &soln)
Full exact solution: x,y,u,v,p,du/dt,dv/dt,diss.
double P_sarah(double rho, double zeta, double t)
void buckled_ring_residual(const Vector< double > ¶ms, const Vector< double > &unknowns, Vector< double > &residuals)
Residual function for buckled ring.
double Total_Diss_lead_sarah(double t)
double Y_sarah(double rho, double zeta, double t)
void exact_soln(const double &time, const Vector< double > &x, Vector< double > &soln)
Exact solution: x,y,u,v,p.
double Total_Diss_sarah(double t)
double V_sarah(double rho, double zeta, double t)