TITLE 'Strato Limite di Velocità e Temperatura su una Lastra Piana' SELECT spectral_colors errlim=5e-3 VARIABLES vx vy p Temp DEFINITIONS xinizio=1 {distanza della lastra dall'inizio del dominio} Ly=10 {altezza del dominio} a=2 {lunghezza della lastra} Lx=10 {lunghezza del dominio} Fluido=1 {1 per acqua, 0 per aria} viscAC=1e-3 cpAC=4184 kAC=0.6 densAC=1e3 {proprietà fisiche dell'acqua} viscAR=2e-5 cpAR=1000 kAR=0.03 densAR=1 {proprietà fisiche dell'aria} !scelta delle proprietà fisiche visc= if Fluido=1 then viscAC else viscAR cp= if Fluido=1 then cpAC else cpAR k= if Fluido=1 then kAC else kAR dens= if Fluido=1 then densAC else densAR alfa=k/(dens*cp) T0=283 Tinf=343 {Temperatura} vinfAC=5e-6 {Velocità per l'acqua} vinfAR=1e-4 {Velocità per l'aria} vinf= if Fluido=1 then vinfAC else vinfAR Re=abs(dens*vinf*(x-xinizio)/visc)+1e-10 {Numero di Reynolds} Pr=cp*visc/k {Numero di Prandtl} v=vector(vx,vy) unit_x=vector(1,0) unit_y=vector(0,1) nx=normal(unit_x) ny=normal(unit_y) vxdvx=vx*dx(vx)+vy*dy(vx) vxdvy=vx*dx(vy)+vy*dy(vy) {termini delle equazioni del moto e di energia} natp=visc*[nx*div(grad(vx))+ny*div(grad(vy))]-dens*[nx*vxdvx+ny*vxdvy] {Condizione al contorno per la pressione} dens_term= dens*((dx(vx))^2+(dy(vy))^2+2*(dx(vy)*dy(vx))) vadi=vx/vinf {velocità adimensionale} Tadi=(Temp-T0)/(Tinf-T0) {temperatura adimensionale} delta=if x<=xinizio then 1e-10 else 5*(x-xinizio)*Re^(-0.5) {spessore dello strato limite di velocità} st=delta*Pr^(-1/3) {spessore dello strato limite di temperatura} tau=eval(-visc*dy(vx),x,0) {sforzo sulla lastra} f=(2*abs(tau))/(dens*(vinf)^2) {fattore d'attrito} fcalc=0.664/Re^.5 {Fattore di Attrito, soluzione di Blasius} qy=eval(-k*(dy(Temp)),x,0) {flusso termico sulla lastra} h=qy/(T0-Tinf) {coefficiente di scambio termico} Nu=h*(x-xinizio)/k {Numero di Nusselt} Jh=Nu/(Re*Pr^(1/3)) {Fattore di Colburn} Tcalc=if y>st then Tinf else T0+(Tinf-T0)*(0.988*(y/st)^4 - 2.2977*(y/st)^3 + 0.7138*(y/st)^2 + 1.5944*(y/st)^1) {temperatura analitica - soluzione di Blasius} !T0+(Tinf-T0)*(3/2*y/st-1/2*(y/st)^3) {temperatura analitica con polinomiale semplice} vcalc=if y>delta then vinf else vinf*(0.988*(y/delta)^4 - 2.2977*(y/delta)^3 + 0.7138*(y/delta)^2 + 1.5944*(y/delta)^1) {velocità analitica - soluzione di Blasius} !vinf*(3/2*y/delta-1/2*(y/delta)^3) {velocità analitica con polinomiale semplice} EQUATIONS vx: dens*vxdvx+dx(p)-visc*div(grad(vx))=0 {equazione del moto lungo x} vy: dens*vxdvy+dy(p)-visc*div(grad(vy))=0 {equazione del moto lungo y} p: div(grad(p))+dens_term-1e4*visc/Ly^2*div(v)=0 {equazione sulla pressione ottenuta derivando e sommando l'equazioni del moto} Temp: dens*cp*(vx*(dx(Temp))+vy*(dy(Temp)))-k*del2(Temp)=0 {equazione dell'energia in termini di temperatura} BOUNDARIES REGION 'domain' START 'outer' (0,Ly) value(vx)=vinf value(vy)=0 value(p)=0 value(Temp)=Tinf {ingresso} LINE TO (0,0) natural(vx)=0 value(vy)=0 natural(p)=0 natural(Temp)=0 {parete inferiore, prima della lastra} LINE TO (xinizio,0) value(vx)=0 value(vy)=0 natural(p)=natp value(Temp)=T0 {lastra} LINE TO (xinizio+a,0) natural(vx)=0 value(vy)=0 natural(p)=0 natural(Temp)=0 {parete inferiore, dopo la lastra} LINE TO (Lx,0) natural(vx)=0 natural(vy)=0 natural(p)=natp natural(Temp)=-k*dx(Temp) {uscita} LINE TO (Lx,Ly) natural(vx)=-visc*dx(vx) natural(vy)=visc*dx(vx) value(p)=0 natural(Temp)=-k*dy(Temp) {parete superiore} LINE TO CLOSE MONITORS contour(vx) painted contour(p) painted vector(v) vector(v) zoom (xinizio,0,a,a) as "Velocità intorno alla lastra" contour(div(v)) elevation(vx,vcalc) from(xinizio,0) to (xinizio,Ly) as "velocità all'impatto con la lastra" elevation(vx,vcalc) from(xinizio+a/4,0) to (xinizio+a/4,Ly) as "velocità a 1/4 della lastra" elevation(vx,vcalc) from(xinizio+a/2,0) to (xinizio+a/2,Ly) as "velocità a 1/2 della lastra" elevation(vx,vcalc) from(xinizio+3*a/4,0) to (xinizio+3*a/4,Ly) as "velocità a 3/4 della lastra" elevation(vx,vcalc) from(xinizio+4*a/4,0) to (xinizio+4*a/4,Ly) as "velocità alla fine della lastra" elevation(Temp,Tcalc) from(xinizio,0) to (xinizio,Ly) as "Temperatura all'impatto con la lastra" elevation(Temp,Tcalc) from(xinizio+a/4,0) to (xinizio+a/4,Ly) as "Temperatura a 1/4 della lastra" elevation(Temp,Tcalc) from(xinizio+a/2,0) to (xinizio+a/2,Ly) as "Temperatura a 1/2 della lastra" elevation(Temp,Tcalc) from(xinizio+3*a/4,0) to (xinizio+3*a/4,Ly) as "Temperatura a 3/4 della lastra" elevation(Temp,Tcalc) from(xinizio+4*a/4,0) to (xinizio+4*a/4,Ly) as "Temperatura alla fine della lastra" contour(Temp) painted report(Pr) contour(Temp) painted zoom (xinizio,0,a,a) as "Temperatura intorno alla lastra" elevation(h) from (0,0) to (Lx,0) elevation(f) from (0,0) to (Lx,0) elevation(Jh,f/2,fcalc/2) from (xinizio+.1,0) to (xinizio+a,0) PLOTS contour(vx) painted contour(p) painted vector(v) vector(v) zoom (xinizio,0,a,a) as "Velocità intorno alla lastra" contour(div(v)) elevation(vx,vcalc) from(xinizio,0) to (xinizio,Ly) as "velocità all'impatto con la lastra" elevation(vx,vcalc) from(xinizio+a/4,0) to (xinizio+a/4,Ly) as "velocità a 1/4 della lastra" elevation(vx,vcalc) from(xinizio+a/2,0) to (xinizio+a/2,Ly) as "velocità a 1/2 della lastra" elevation(vx,vcalc) from(xinizio+3*a/4,0) to (xinizio+3*a/4,Ly) as "velocità a 3/4 della lastra" elevation(vx,vcalc) from(xinizio+4*a/4,0) to (xinizio+4*a/4,Ly) as "velocità alla fine della lastra" elevation(Temp,Tcalc) from(xinizio,0) to (xinizio,Ly) as "Temperatura all'impatto con la lastra" elevation(Temp,Tcalc) from(xinizio+a/4,0) to (xinizio+a/4,Ly) as "Temperatura a 1/4 della lastra" elevation(Temp,Tcalc) from(xinizio+a/2,0) to (xinizio+a/2,Ly) as "Temperatura a 1/2 della lastra" elevation(Temp,Tcalc) from(xinizio+3*a/4,0) to (xinizio+3*a/4,Ly) as "Temperatura a 3/4 della lastra" elevation(Temp,Tcalc) from(xinizio+4*a/4,0) to (xinizio+4*a/4,Ly) as "Temperatura alla fine della lastra" contour(Temp) painted report(Pr) contour(Temp) painted zoom (xinizio,0,a,a) as "Temperatura intorno alla lastra" elevation(h) from (0,0) to (Lx,0) elevation(f) from (0,0) to (Lx,0) elevation(Jh,f/2,fcalc/2) from (xinizio+.1,0) to (xinizio+a,0) END