153 Commits

Author SHA1 Message Date
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
Grzegorz Kowal
a5992579a8 Store mesh statistics only when they change. 2011-05-06 11:39:30 -03:00
Grzegorz Kowal
00cc664b1f Export check_metablock if DEGUB flag is set. 2011-05-06 08:40:21 -03:00
Grzegorz Kowal
8076970c22 Update copyright headers with the new email. 2011-05-05 18:37:53 -03:00
Grzegorz Kowal
027f115394 Reorganize module BLOCKS.
- reorganize order of subroutines and separate them between groups for
   meta and data blocks, refinement, and private functions and
   subroutines;

 - change the copyright header; update to new email address;

 - make all module pointers, variables, and subroutines private and
   allow only for subset of them to be public;

 - improve the description of block structures;

 - add several functions to return module variables such as the number
   of meta and data blocks, the number of leafs, the last id, etc.;

 - update several subroutines from other modules which required some of
   the BLOCK module variables;
2011-05-05 18:25:24 -03:00
Grzegorz Kowal
f590f85b72 Move the level resolution array to MESH module.
- the level resolution array 'res' has been moved to mesh module, where
   it should belong; due to this it needs to be provided as an argument
   to subroutines in BLOCK and PROBLEM modules which use it;

 - the level resolution array stores block resolutions in each
   directions, so it is now a two dimensional array, with the dimensions
   corresponding to the number of levels and number of dimensions;

 - update subroutine write_coordinates_h5() to store the level
   resolution array properly;
2011-05-05 16:51:35 -03:00
Grzegorz Kowal
e28a0a83c8 Make module BLOCKS independent of VARIABLES.
- add a new subroutine set_datablock_dims() to set dimensions of the
   allocatable arrays in data blocks; this subroutine is called from
   init_mesh(), which is the right place to initiate BLOCK module;

 - remove dependency of blocks.o on variables.o;

 - boundaries.o depends on timers.o;
2011-05-05 15:56:38 -03:00
Grzegorz Kowal
131eb5948c Add the mesh timer to clear_mesh(). 2011-05-02 23:46:16 -03:00
Grzegorz Kowal
3cd4923d98 Start/stop timers from the inside of mesh subroutines. 2011-05-02 23:35:48 -03:00