9 |
When a bug is corrected (or disappears without notice ;-), its entry |
When a bug is corrected (or disappears without notice ;-), its entry |
10 |
here can be corrected or simply removed. |
here can be corrected or simply removed. |
11 |
|
|
12 |
|
=============================================================================== |
13 |
|
|
14 |
* 25/9/03: surface mesh generation special cases |
* 25/9/03: surface mesh generation special cases |
15 |
|
|
16 |
The script testsuite/mesh.pl generates several cases where a Povray |
The script testsuite/mesh.pl generates several cases where a Povray |
18 |
regular background mesh (i.e. some planes from the object coincides |
regular background mesh (i.e. some planes from the object coincides |
19 |
with planes from the mesh). These cases are well known not to work on |
with planes from the mesh). These cases are well known not to work on |
20 |
many occasions. |
many occasions. |
21 |
|
|
22 |
|
=============================================================================== |
23 |
|
|
24 |
|
* 26/9/03: refinement in one direction brings problems |
25 |
|
|
26 |
|
The following script and Povray files work perfectly with a mesh of |
27 |
|
size 13x13x13, but the mesh becomes imperfect and the resolution |
28 |
|
diverges for 13x13x130. |
29 |
|
|
30 |
|
The problem to solve is a Laplacian around a cube with corners. These |
31 |
|
corners are discontinuities, so maybe that is part of the problem. |
32 |
|
|
33 |
|
--- test.ff: |
34 |
|
|
35 |
|
vector n = (13,13,130); |
36 |
|
vertex a = (-2,-2,-2); |
37 |
|
vertex b = (2,2,2); |
38 |
|
mesh M = structured(n,a,b); |
39 |
|
scene S = pov("test.pov"); |
40 |
|
domain O = domain(S,outside(<1,0,0>)); |
41 |
|
|
42 |
|
solve(u) in O by M{ |
43 |
|
|
44 |
|
pde(u) |
45 |
|
-div(grad(u)) = 1; |
46 |
|
u = 0 on <1,0,0>; |
47 |
|
u = 0 on M; |
48 |
|
}; |
49 |
|
|
50 |
|
// Prints the value of one particular point, at the center of the |
51 |
|
// domain. If the cube is correctly defined, this point should have a |
52 |
|
// precise value. |
53 |
|
|
54 |
|
cout << "u(0,0,0)=" << u(0,0,0) << "\n"; |
55 |
|
|
56 |
|
// Also saves the mesh, just for debugging purposes. |
57 |
|
save(medit,"test",u,M); |
58 |
|
save(medit,"test",M); |
59 |
|
|
60 |
|
--- test.pov: |
61 |
|
|
62 |
|
intersection{ |
63 |
|
plane{<1,0,0>,1.0} |
64 |
|
plane{<-1,0,0>,1.0} |
65 |
|
plane{<0,1,0>,1.0} |
66 |
|
plane{<0,-1,0>,1.0} |
67 |
|
plane{<0,0,1>,1.0} |
68 |
|
plane{<0,0,-1>,1.0} |
69 |
|
pigment{color rgb <1,0,0>} |
70 |
|
} |
71 |
|
|
72 |
|
=============================================================================== |
73 |
|
|
74 |
|
* 6/10/03: loop condition problem + output file name. |
75 |
|
|
76 |
|
These problems appear in the script navier-stokes.pl. It itself runs |
77 |
|
navier-stokes.ff and navier-stokes.pov. |
78 |
|
|
79 |
|
- The script should do 400 iterations, but only goes through one and |
80 |
|
then stops. |
81 |
|
|
82 |
|
- Output files should have a name of the form "navier-stokes-u-1.bb", |
83 |
|
but only "navier-stokes-u" is generated (this bug also appears in |
84 |
|
natural-convection.pl). |
85 |
|
|
86 |
|
=============================================================================== |
87 |
|
|
88 |
|
* 6/10/03: definition of an empty domain |
89 |
|
|
90 |
|
It is not clear how an empty domain (such as the one for the |
91 |
|
elasticity test, SdP's thesis, paragraph 4.2.3) should be |
92 |
|
defined. "elasticity.pl" currently crashes with the message |
93 |
|
"Domain.hpp:121: Trying to access Object in case of R^3 domain". |
94 |
|
|
95 |
|
=============================================================================== |