ff3d-users
[Top][All Lists]

## [ff3d-users] Extremely slow convergence for certain domains

 From: Juzar Thingna Subject: [ff3d-users] Extremely slow convergence for certain domains Date: Sat, 21 Aug 2010 22:58:35 +0800

Hello Everyone,
I'm trying to solve the modified helmholtz equation div(grad(u))=u/L on different domains.

I'm particularly facing problems with the following two domains.

box {
<-0.25,0.0,-14>,<0.25,0.5,14>
pigment{color rgb <1,0,0>}
}
intersection{
box {<-0.25,0.0,-14>,<0.25,0.5,14>}
box {<-0.25,-1,-0.25>,<0.25,0,0.25>}
pigment{color rgb <0,0,1>}
}

and

box {
<-5,0,-5>,<5,0.1,5>
pigment{
color rgb <1,0,0>}
}
intersection{
box {<-0.25,-20,-0.25>,<0.25,0.0,0.25>}
box {<-5,0.0,-5>,<5,0.1,5>}
pigment{color rgb <0,0,1>}
}

The intersection are particularly surface meshes where I set the boundary conditions. Here is the input file, where vectors a and b are set acc to the domain.

vector n=(5,800,400);
vector a=( , , );
vector b=( , , );
scene S=pov("domain.pov");
function L=1.96;
mesh M=structured(n,a,b);
domain O =domain(S,inside(<1,0,0>));
domain Q =domain(S,inside(<0,0,1>));
mesh T = surface(Q,M);
solve(u) in O by M method (type=eliminate),
bicg(epsilon=1E-4, maxiter=100000),
krylov(precond=diagonal,type=bicg)
{
pde(u)
u=0.0 on M zmax;
u=0.0 on M zmin;
dnu(u)=0.204895*0.336021505*L on T;
}
mesh Z = tetrahedrize (O,M);
save(medit,"hel_u_n",u,Z);
save(medit,"hel_u_n",Z);
save(raw,"hel_u_n.dat",u,M);

For these two domains where I use surface meshes to specify boundary conditions the convergence is quite slow and it takes a lot of time for the residu to reach the value of 10^-4.

Is there any way this convergence can be reached faster?  Any suggestions would be highly appreciated.

P.S. I have tried out the krylov types but it doesn't help a lot.

Regards,
Juzar Thingna
Department of Physics,
Center for Computation Science and Engineering,
National University of Singapore.

"I almost wish I hadn't gone down the rabbit-hole ---and yet---and yet--- it's rather curious you know, this sort of life!" Alice