161 Commits

Author SHA1 Message Date
c2656c9b6a BLOCKS: Field %coords mean global coordinates at the block level.
If we take the whole domain and divide it between blocks of the size
corresponding to the current lever, the field %coords identifies the
position of the current block in the domain.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-29 14:00:42 -02:00
d182934fcf BLOCKS: Rename meta block field %cpu to %process.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-16 19:20:41 -02:00
3ec7bdf232 BLOCKS, MESH: Remove checking the meta block structure.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-16 19:01:41 -02:00
b2dbb01cd8 BLOCKS: Rename datablock_set_dims() to set_block_dimensions().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-16 17:58:28 -02:00
2ad980142b ERROR: Rewrite module a bit and the way messages are printed.
Subroutine print_error() does not stop the execution anymore.  This
should be controlled by the code.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-10 11:27:39 -02:00
a366a9cede MESH: Send primitive variables in redistribute_blocks() too.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-08 15:51:31 -02:00
39e80d3e55 MESH: Fix coverage and efficiency factors calculation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-07 21:59:13 -02:00
9307817387 MESH: Change timer descriptions.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-03 12:44:21 -02:00
788d328f7a Update years in copyright information.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2014-01-02 11:52:59 -02:00
7a4e402c8a BLOCKS, IO, MESH: Rename nchild to nchildren.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 17:58:40 -02:00
acb7eb812d MESH, REFINEMENT: Use statement formatting.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 17:41:04 -02:00
053e72ead4 MESH: Rewrite check_mesh().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 15:17:27 -02:00
24b644aa6a MESH: Rewrite prolong_block() and restrict_block().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 15:14:31 -02:00
c1db19d55f MESH: Rewrite update_mesh().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 15:11:03 -02:00
c6c1ed97ed MESH: Relocate store_mesh_stats() in the module.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 13:17:25 -02:00
081eeee471 MESH: Add module subroutines profiling.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 13:15:17 -02:00
c877cc6b7c MESH: Rewrite redistribute_blocks().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-27 08:02:07 -02:00
758c712991 MESH: Rewrite initialization and statistics.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-26 19:51:26 -02:00
156d8cf1dd MESH: Rewrite generate_mesh().
The new version uses the minimum amount of memory (1 data block per
process) with a small sacrifice of the problem initialization speed.
This version fully supports 2D and 3D with and without MPI.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-23 21:35:30 -02:00
3052f9aa04 BLOCKS: Replace associate_blocks() with link/unlink_block().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-23 18:19:13 -02:00
853618b874 MESH: Replace deallocate_datablock() with remove_datablock().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-23 17:44:36 -02:00
b21b7f99d1 MESH: Change summation order in restrict_block().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-19 10:18:06 -02:00
70d43808b0 MESH: Rewrite restrict_block().
Make sure that the summation symmetry is preserved.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-19 09:48:53 -02:00
0dc7b24c43 Replace minmod3 with the proper limiter() function.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-12 12:41:55 -02:00
8b11a56312 Clean up GLM dependent code.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-11 11:09:19 -02:00
1bd066f56f Remove dependency of the module VARIABLES.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-10 21:36:35 -02:00
386fd36f5e Update copyright line.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2013-12-10 15:23:28 -02:00
Grzegorz Kowal
b7bdcb3982 Implement MC limiter and use it in prolongation. 2012-08-05 22:03:13 -03:00
Grzegorz Kowal
fcac1db487 Move domain subroutines to new module DOMAINS. 2012-07-27 21:37:57 -03:00
Grzegorz Kowal
d5e720fb5c Move refinement check to new module REFINEMENT. 2012-07-27 21:28:59 -03:00
Grzegorz Kowal
92462e76b9 Rewrite module PROBLEMS.
Heavy rewrite of the module PROBLEMS in order to remove the dependency
on module CONFIG and improve the cleariness of the module.
2012-07-27 21:13:43 -03:00
Grzegorz Kowal
fc72250516 Rename module PROBLEM to PROBLEMS and update dependencies. 2012-07-27 19:23:11 -03:00
Grzegorz Kowal
18886475fc Rename module INTERPOLATION to INTERPOLATIONS. 2012-07-27 16:36:51 -03:00
Grzegorz Kowal
20b300ab74 Use variables from COORDINATES in module MESH.
Remove dependency on module CONFIG.
2012-07-27 16:02:07 -03:00
Grzegorz Kowal
eb4b41ecbd Rename init_mesh() to initialize_mesh(). 2012-07-27 10:34:19 -03:00
Grzegorz Kowal
3fb472d760 Move domain bounds to module COORDINATES.
Also rename init_coords() to initialize_coordinates(), and
clear_coords() to finalize_coordinates().
2012-07-23 22:43:23 -03:00
Grzegorz Kowal
2a5e9bc89b Rename init_blocks() and clear_blocks() and describe them. 2012-07-22 22:47:25 -03:00
Grzegorz Kowal
ff60bb681c Rename module COORDS to COORDINATES. 2012-07-22 22:26:51 -03:00
Grzegorz Kowal
515c82d435 Rewrite module MPITOOLS and adopt the rest to the changes.
Another step of reducing differences between the AMUN and GODUNOV codes.
2012-07-22 19:01:27 -03:00
Grzegorz Kowal
0da52f7aec Rewrite module TIMERS to be compatible with Godunov version. 2012-07-22 15:46:56 -03:00
Grzegorz Kowal
64a098c9bb Rename module TIMER to TIMERS.
Rename internal array timers(:) to times(:) to not conflict with the
module name.
2012-07-22 12:59:15 -03:00
Grzegorz Kowal
dbfbabc613 Change the license to GNU General Public License version 3. 2012-07-22 12:30:20 -03:00
Grzegorz Kowal
e5e265bbe5 Add new parameter for the top level.
- the new parameter toplev stores the level of refinement larger or
   equal to maxlev; this level cannot be set in the config.in, but is
   determined during the initiation or restarting the job;

 - several subroutines have been updated to use toplev instead of
   maxlev;
2011-06-06 17:31:51 -03:00
Grzegorz Kowal
9382cf3297 Refine all blocks at levels lower than minlev. 2011-06-06 17:05:49 -03:00
Grzegorz Kowal
fc60dc1b7b Rename pmeta_block, pdata_block to pmeta, pdata in generate_mesh(). 2011-05-26 10:14:37 -03:00
Grzegorz Kowal
a3fead0431 Use linear interpolation for block prolongation. 2011-05-24 14:03:39 -03:00
Grzegorz Kowal
3dcd8ad2b9 Improve compatibility with Fortran 2003. 2011-05-13 15:25:09 -03:00
Grzegorz Kowal
0fc7717100 Move coordinate variables from MESH to new COORDS module.
- a new module COORDS handles the mesh variables which needed to be
   separated from the MESH module since they are used in PROBLEM module,
   which is required by MESH module; this created a circular dependency;
   by introducing a new COORDS module we removed that problem;
2011-05-11 15:32:01 -03:00
Grzegorz Kowal
352b3634be Move autobalancing to subroutine redistribute_blocks().
- the new subroutine redistribute_blocks() calculates the new
   distribution of blocks among all processors and move data blocks
   which need to be moved to another processor;

 - replace autobalancing in update_mesh() using the new subroutine
   redistribute_blocks();
2011-05-10 14:53:50 -03:00
Grzegorz Kowal
1bdc4b8706 Replace update_maximum_speed() with find_new_timestep().
- subroutine update_maximum_speed() has been replaced with
   find_new_timestep(), which first finds the minimum spacial step
   dxmin, then finds the maximum speed in the domain, and finally
   estimates new time step;

 - dx_min has been removed from MESH module, since it is not required
   anymore;
2011-05-07 09:23:16 -03:00