Juzar Thingna
2010-08-26 13:15:47 UTC
Hello Everyone,
I'm facing a very strange problem with surface meshes. Here is my input file
and domain file.
------------------------------------------------------------------------------------------------------------------------------
box {<-0.25,-0.1,-0.25>,<0.25,0,0.25>
pigment{color rgb <0,0,0>}
}
box {<-2.5,0,-2.5>,<2.5,0.1,2.5>
pigment{color rgb <1,0,0>}
}
intersection{
box{<-0.25,-0.1,-0.25>,<0.25,0.0,0.25>}
union{
cylinder{<-0.1,0,-0.1>,<-0.1,0.1,-0.1>,0.235}
cylinder{< 0.0,0, 0.0>,< 0.0,0.1, 0.0>,0.235}
cylinder{< 0.1,0, 0.1>,< 0.1,0.1, 0.1>,0.235}
cylinder{<-0.1,0, 0.1>,<-0.1,0.1, 0.1>,0.235}
cylinder{< 0.1,0,-0.1>,< 0.1,0.1,-0.1>,0.235}
}
pigment{color rgb <0,0,1>}
}
------------------------------------------------------------------------------------------------------------------------------
vector n=(200,20,200);
vector a=(-2.5,0.0,-2.5);
vector b=(2.5,0.1,2.5);
scene S=pov("domain.pov");
function L=1;
mesh M=structured(n,a,b);
domain O =domain(S,inside(<1,0,0>));
domain Q =domain(S,inside(<0,0,1>));
domain R =domain(S,inside(<0,0,0>) && inside(<0,0,1>));
mesh T=surface(Q,M);
mesh F=surface(R,M);
solve(u) in O by M method (type=eliminate),
bicg(epsilon=1E-4, maxiter=100000),
krylov(precond=diagonal, type=bicg)
{
pde(u)
div(L*grad(u))-u=0;
u=0 on M zmax;
u=0 on M zmin;
u=0 on M xmax;
u=0 on M xmin;
dnu(u)=0.297700*2*L on F;
dnu(u)=0.000700*2*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);
------------------------------------------------------------------------------------------------------------------------------
everytime I get the following error.
warning :
meshing object intersection {
box {
<-0.25, -0.1, -0.25>, <0.25, 0, 0.25>
}
union {
cylinder {
(-0.1, 0, -0.1), (-0.1, 0.1, -0.1), 0.235
}
cylinder {
(0, 0, 0), (0, 0.1, 0), 0.235
}
cylinder {
(0.1, 0, 0.1), (0.1, 0.1, 0.1), 0.235
}
cylinder {
(-0.1, 0, 0.1), (-0.1, 0.1, 0.1), 0.235
}
cylinder {
(0.1, 0, -0.1), (0.1, 0.1, -0.1), 0.235
}
}
}
a problem occured ...
Check that:
- the object is not to small compare to the background mesh
- the object intersects the background mesh
I'm quite certain the surface mesh is intersected by the background mesh and
also it is not too small for the background mesh. Any ideas why this is
occuring?
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
I'm facing a very strange problem with surface meshes. Here is my input file
and domain file.
------------------------------------------------------------------------------------------------------------------------------
box {<-0.25,-0.1,-0.25>,<0.25,0,0.25>
pigment{color rgb <0,0,0>}
}
box {<-2.5,0,-2.5>,<2.5,0.1,2.5>
pigment{color rgb <1,0,0>}
}
intersection{
box{<-0.25,-0.1,-0.25>,<0.25,0.0,0.25>}
union{
cylinder{<-0.1,0,-0.1>,<-0.1,0.1,-0.1>,0.235}
cylinder{< 0.0,0, 0.0>,< 0.0,0.1, 0.0>,0.235}
cylinder{< 0.1,0, 0.1>,< 0.1,0.1, 0.1>,0.235}
cylinder{<-0.1,0, 0.1>,<-0.1,0.1, 0.1>,0.235}
cylinder{< 0.1,0,-0.1>,< 0.1,0.1,-0.1>,0.235}
}
pigment{color rgb <0,0,1>}
}
------------------------------------------------------------------------------------------------------------------------------
vector n=(200,20,200);
vector a=(-2.5,0.0,-2.5);
vector b=(2.5,0.1,2.5);
scene S=pov("domain.pov");
function L=1;
mesh M=structured(n,a,b);
domain O =domain(S,inside(<1,0,0>));
domain Q =domain(S,inside(<0,0,1>));
domain R =domain(S,inside(<0,0,0>) && inside(<0,0,1>));
mesh T=surface(Q,M);
mesh F=surface(R,M);
solve(u) in O by M method (type=eliminate),
bicg(epsilon=1E-4, maxiter=100000),
krylov(precond=diagonal, type=bicg)
{
pde(u)
div(L*grad(u))-u=0;
u=0 on M zmax;
u=0 on M zmin;
u=0 on M xmax;
u=0 on M xmin;
dnu(u)=0.297700*2*L on F;
dnu(u)=0.000700*2*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);
------------------------------------------------------------------------------------------------------------------------------
everytime I get the following error.
warning :
meshing object intersection {
box {
<-0.25, -0.1, -0.25>, <0.25, 0, 0.25>
}
union {
cylinder {
(-0.1, 0, -0.1), (-0.1, 0.1, -0.1), 0.235
}
cylinder {
(0, 0, 0), (0, 0.1, 0), 0.235
}
cylinder {
(0.1, 0, 0.1), (0.1, 0.1, 0.1), 0.235
}
cylinder {
(-0.1, 0, 0.1), (-0.1, 0.1, 0.1), 0.235
}
cylinder {
(0.1, 0, -0.1), (0.1, 0.1, -0.1), 0.235
}
}
}
a problem occured ...
Check that:
- the object is not to small compare to the background mesh
- the object intersects the background mesh
I'm quite certain the surface mesh is intersected by the background mesh and
also it is not too small for the background mesh. Any ideas why this is
occuring?
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