3989
|
|
|
Stephan Kramer |
11 years ago
|
|
|
3988
|
|
|
Jon Hill |
11 years ago
|
|
|
3987
|
|
Fixing gmsh reader to read meshes on the sphere (i.e. meshes with topological dimension 2, and coordinate dimension 3).
Also adding a parallel spherical_patch test case that tests this reading, writing out to a checkpoint, and flredecomping to a different number of processes.
Some optimisation and cleaning up of Read_GMSH.F90: - prevent reading of the gmsh file twice. This was because read_gmsh_simple() called identify_gmsh_file() to establish various dimensions, which it can only do by reading the entire file. Then an appropriate shape functon was allocated and read_gmsh_to_field was called which read the file again. - the only version of read_gmsh_files to remain is the _simple version (as this was the only one in use). It first reads in all the data, then establishes the necessary dimensions and then allocates the appropriate femtools objects. - the dimension of the read gmsh mesh is now established from the topology of the mesh, basically looking at the highest dimension elements present, i.e. if there's tets or hexes it's 3d, otherwise 2d (1d gmsh reading is untested) Previously this was done by looking at the z coordinate and seeing if it was small using some arbitray, hard-coded definition of small. This is obviously not a good idea. - the dimension of the coordinate field that is returned (X%dim) is in most cases chosen to be the same as the topological dimension. Only with the /geometry/spherical_earth option this is always 3 so that a 2d spherical horizontal mesh (to be extruded inside fluidity) can be read. This was broken before. The other codes that use embedded meshes (shallow water) use a specific option that only works for triangle, so that functionality should remain unchanged. - remove identify_gmsh_files() - because of this remove identify_mesh_files() from the mesh_files module - in all subroutines of the mesh_files module make format a required argument. Before, if the argument was not present a "guess" would be made. In some tools where no option tree is present (e.g. test_laplacian) this would always default to "triangle". These therefore now directly call read_triangle_files. In all other cases the format should be worked out. For output this can be a bit tricky. For checkpointing the same logic is followed as before (look at the option under the external mesh). For adaptivity debugging meshes it now always uses gmsh. - identify_mesh_files() was only used in populate_state, in the case of inactive process (flredecomp from less to more processes), where inactive processed needed to know the dimensions of the mesh. This is now communicated via a MPI_Scatter()
|
Stephan Kramer |
11 years ago
|
|
|
3986
|
|
|
Stephan Kramer |
12 years ago
|
|
|
3985
|
|
|
Lawrence Mitchell |
12 years ago
|
|
|
3984
|
|
|
Lawrence Mitchell |
12 years ago
|
|
|
3983
|
|
|
Tim Greaves |
12 years ago
|
|
|
3982
|
|
|
Alexandros Avdis |
12 years ago
|
|
|
3981
|
|
|
David Robinson |
12 years ago
|
|
|
3980
|
|
|
Tim Greaves |
12 years ago
|
|
|
3979
|
|
|
jdu |
12 years ago
|
|
|
3978
|
|
|
Christian Jacobs |
12 years ago
|
|
|
3977
|
|
|
Rhodri Davies |
12 years ago
|
|
|
3976
|
|
|
Rhodri Davies |
12 years ago
|
|
|
3975
|
|
|
Jon Hill |
12 years ago
|
|
|
3974
|
|
|
Jon Hill |
12 years ago
|
|
|
3973
|
|
|
Jon Hill |
12 years ago
|
|
|
3972
|
|
|
Tim Greaves |
12 years ago
|
|
|
3971
|
|
|
Tim Greaves |
12 years ago
|
|
|
3970
|
|
|
Tim Greaves |
12 years ago
|
|
|