#include "axi.h" #include "../src/tpccontact.h" #include "../src/compressible-tension.h" #include "view.h" int MINLEVEL = 7; int MAXLEVEL = 11; double CFLac = 0.4; double rhoL = 1., rhoG = 0.001; double pg0; double p0 = 1.; double pinf = 1./2.; double tend = 10.; double Rbub = 1.; double lambda = 100.; double Reynolds = 10000.*0.1; double Web = 100./72.*1000.*0.1; scalar keliq[]; uf.n[right] = neumann(0.); p[right] = dirichlet(pinf); q.n[right] = neumann(0.); f[right] = dirichlet(1); fE1[right] = neumann(0.); uf.n[top] = neumann(0.); p[top] = dirichlet(pinf); q.n[top] = neumann(0.); f[top] = dirichlet(1.); fE1[top] = neumann(0.); uf.n[bottom] = 0.; uf.t[bottom] = dirichlet(0.); void careful_refinement(){ for(int ii = MINLEVEL ; ii <= MAXLEVEL; ii++){ refine(level < ii /*&& sqrt(sq(x) + sq(y)) > (Rbub - 4.*sqrt(2.)*lambda/(1<<(ii-1)))*/ && sqrt(sq(x) + sq(y)) < (2.5*Rbub + 4.*sqrt(2.)*lambda/(1<<(ii-1)))); } } event stability(i++) { double cspeed; foreach() { double fc = clamp (f[],0.,1.); double invgammaavg = fc/(gamma1 - 1.) + (1. - fc)/(gamma2 - 1.); double PIGAMMAavg = (fc*PI1*gamma1/(gamma1 - 1.) + (1. - fc)*PI2*gamma2/(gamma2 - 1.)); double cspeedsq = (p[]*(invgammaavg + 1.) + PIGAMMAavg)/invgammaavg/(frho1[]+frho2[]); if (cspeedsq > 0.) cspeed = sqrt(cspeedsq); else cspeed = sqrt(gamma1*(pinf + PI1)); double dtmaxac = CFLac*Delta/cspeed; dtmax = min(dtmax,dtmaxac); } } int main() { tend *= 0.915; pg0 = p0 + 2./Web; f.gradient = zero; f.sigma= 1./Web; mu1 = 1./Reynolds; mu2 = mu1*0.01; gamma2 = 1.4; gamma1 = 7.14; PI1 = 1./sq(0.007)/7.14 - pinf; L0 = lambda; X0 = 0.; init_grid(1< */ event end (t=tend){}