/usr/share/doc/freefem++/examples/examples++-chapt3/thermic.edp is in freefem++-doc 3.19.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | // file thermal.edp
func u0 =10+90*x/6;
func k = 1.8*(y<0.5)+0.2;
real ue = 25, alpha=0.25, T=5, dt=0.1 ;
mesh Th=square(30,5,[6*x,y]);
fespace Vh(Th,P1);
/*
Vh u=u0,v,uold;
// for the flat plate
problem thermic(u,v)= int2d(Th)(u*v/dt + k*(dx(u) * dx(v) + dy(u) * dy(v)))
+ int1d(Th,1,3)(alpha*u*v)
- int1d(Th,1,3)(alpha*ue*v)
- int2d(Th)(uold*v/dt) + on(2,4,u=u0);
// for the rod
problem thermaxi(u,v)=int2d(Th)((u*v/dt + dx(u)*dx(v) + dy(u)*dy(v))*x)
+ int1d(Th,3)(alpha*x*u*v) - int1d(Th,3)(alpha*x*ue*v)
- int2d(Th)(uold*v*x/dt) + on(2,4,u=u0);
ofstream ff("thermic.dat");
for(real t=0;t<T;t+=dt){
uold=u;
// thermaxi; thermic; // choose one of the two
ff<<t<<" "<<u(3,0.5)<<endl;
plot(u);
}
for(int i=0;i<20;i++) cout<<dy(u)(6.0*i/20.0,0.9)<<endl;
plot(u,fill=true,wait=true,ps="thermic.eps");
*/
real rad=1e-8, uek=ue+273;
Vh vold,w,v=u0-ue,b;
problem thermradia(v,w)
= int2d(Th)(v*w/dt + k*(dx(v) * dx(w) + dy(v) * dy(w)))
+ int1d(Th,1,3)(b*v*w)
- int2d(Th)(vold*w/dt) + on(2,4,v=u0-ue);
for(real t=0;t<T;t+=dt){
vold=v;
for(int m=0;m<5;m++){
b= alpha + rad * (v + 2*uek) * ((v+uek)^2 + uek^2);
thermradia;
}
}
vold=v+ue; plot(vold);
|