182 Commits

Author SHA1 Message Date
Grzegorz Kowal
6922c8140c Complete the printed line with spaces. 2011-06-10 18:13:23 -03:00
Grzegorz Kowal
f9f6984988 Change the returned signal from 9 to 15 in terminate(). 2011-06-07 18:13:41 -03:00
Grzegorz Kowal
773a391d63 Rework signals so they work on GNU and INTEL compilers. 2011-06-07 17:29:03 -03:00
Grzegorz Kowal
ccf2dc3216 Replace carriage return '\r' with char(13). 2011-06-07 16:50:17 -03:00
Grzegorz Kowal
b27b478911 Simplify signal handling to work better with GNU Fortran.
- move termination flag iterm to module CONFIG;

 - simplify subroutine 'terminate';
2011-06-07 16:47:28 -03:00
Grzegorz Kowal
6b01c5fdae Terminate a job after a specified execution time.
- two new parameters trun and tsav control how long the job can run;
   the parameter trun, expressed in hours, determines the maximum
   execution time and the parameter tsav, expressed in minutes, tells
   when to terminate the job before the execution time exceeds trun;
2011-06-07 14:34:54 -03:00
Grzegorz Kowal
a16a6024b5 Improve calculation and printing of the execution time. 2011-06-07 10:05:32 -03:00
Grzegorz Kowal
e875c991ef Print the execution time in days, hours, minutes, and seconds. 2011-06-07 01:05:42 -03:00
Grzegorz Kowal
3df4e1e4d8 Add timers for reconstruction and Riemann solver. 2011-05-29 12:22:50 -03:00
Grzegorz Kowal
fae2fb8ca2 Do not call redistribute_blocks() if MPI is off. 2011-05-14 19:37:40 -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
81ba4935d2 Allow to restart job with more CPUs than the restart files.
- now, if we want to restart a job and use more processors than we used
   while creating restart files, all processors read and recreate meta
   block structure, but only N previously used processors will read data
   block; as soon as the job is restarted, we call redistribute_blocks()
   in order to get equal number of data blocks on each processor;
2011-05-10 17:15:33 -03:00
Grzegorz Kowal
0e930499a1 Fix diffusion of Psi in MHD-GLM after last changes.
- the diffusion of Psi in MHD-GLM requires spacial step dxmin, so
   update the diffusion so it works after the last commit changes;

 - call find_new_timestep() after job restart, since some parameters
   could change;
2011-05-07 09:32:10 -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
67c9ce262d Estimate the remaining execution time using dt.
- the new estimator uses the remaining time, time step and the previous
   step execution time to estimate the remaining execution time; this
   estimate varies much more for the initial steps, and for short
   models, but may better estimate the remaining time for already
   developed models, where the time step and number of blocks do not
   change too much;
2011-05-06 09:51:40 -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
afefeff129 Start/stop timers from the inside of evolution subroutines. 2011-05-03 00:01:00 -03:00
Grzegorz Kowal
61fdca1666 Reorganize the initialization timer execution. 2011-05-02 23:43:58 -03:00
Grzegorz Kowal
cdb37a405b Start/stop timers from the inside of I/O subroutines. 2011-05-02 23:19:46 -03:00
Grzegorz Kowal
50c455fb42 Move data and restart file counter to IO module.
- now the file counters for data and restart files are separated and
   moved to the IO module;

 - the number of arguments to the IO subroutines is reduced to the
   necessary minimum;
2011-05-02 21:54:32 -03:00
Grzegorz Kowal
4c95ddafe5 Reset the start time after job restart.
- this improves the estimate for the remaining execution time after job
   restart;
2011-05-01 23:52:58 -03:00
Grzegorz Kowal
fc32225dc1 Change the license to GNU General Public License, version 2. 2011-04-29 11:21:30 -03:00
Grzegorz Kowal
31ea11db57 Implement proper termination with restart file.
- the program now handles properly some of the termination signals,
   which means that if the program receives a signal to terminate its
   execution, it will finish the current loop, write restart files,
   end then exit properly;
2011-04-29 00:51:28 -03:00
Grzegorz Kowal
4406f4cedd Implement a log file for storing mesh statistics.
- a new file 'mesh.log' is created with the following colums: step,
   time, the number of leafs, the number of meta blocks, the coverage
   efficiency, which is the number of leafs divided by the number of top
   level blocks covering the whole domain, the AMR efficiency which
   shows the advantage of using adaptive mesh (with boundaries taken
   into account), block distribution over levels and processors;

 - the AMR efficiency is the number of leafs multiplied by the number of
   cells in one block (with boundaries included) and divided by the
   effective resolution with boundaries included; if this parameter is
   smaller than 1.0 we should expect faster calculations due to the
   adaptive mesh, if the parameter is larger than 1.0, we only slow down
   the calculations by using the adaptive mesh;
2011-04-28 12:04:22 -03:00
Grzegorz Kowal
01e290aa4d Rename subroutine init_coords() to init_mesh(). 2011-04-27 22:39:25 -03:00
Grzegorz Kowal
ef387eb448 Rename subroutine init_mesh() to generate_mesh(). 2011-04-27 22:35:38 -03:00
Grzegorz Kowal
f4631876fc Store integrals after the initiation of a problem. 2011-04-26 11:38:16 -03:00
Grzegorz Kowal
1729a53b67 Allow for appending the integrals for restarted jobs. 2011-04-26 11:37:27 -03:00
Grzegorz Kowal
2c715155e0 Small correction of the initial info printing. 2011-04-26 10:41:10 -03:00
Grzegorz Kowal
0ff433e16b Rename the code from Godunov-AMR to AMUN. 2011-04-25 13:44:34 -03:00
Grzegorz Kowal
8c6ebc3768 Improve program and module setup information formatting. 2011-04-25 13:31:41 -03:00
Grzegorz Kowal
09d477cb9c After the main loop store only restart files.
- in this way we keeps consistency in the file numbering;
2011-04-24 09:56:58 -03:00
Grzegorz Kowal
1237cbc5c8 Find the maximum speed only after problem initialization.
- this step is not required after job restart, since time and time
   steps are stored in the restart files;
2011-04-24 09:45:24 -03:00
Grzegorz Kowal
4de25ba527 Correct the next file number after restart. 2011-04-23 23:34:18 -03:00
Grzegorz Kowal
10a4d6b09f Move forcing and integrals initialization before problem setup. 2011-04-23 23:11:22 -03:00
Grzegorz Kowal
e25bc4f573 Merge branch 'master' into 'job_restart'.
Conflicts:
	src/driver.F90
2011-04-23 21:56:57 -03:00
Grzegorz Kowal
768312ef7f Move initialization of same variables just after read_params(). 2011-04-23 21:54:45 -03:00
Grzegorz Kowal
2c928038fb Initiate time estime of program execution. 2011-04-23 21:32:46 -03:00
Grzegorz Kowal
c24e09fedc Move coordinate variables generation to another subroutine. 2011-04-15 00:46:19 +02:00
Grzegorz Kowal
2d513508db Write restart files at the end of program execution. 2011-04-14 16:16:58 +02:00
Grzegorz Kowal
9b46eb5c61 Move init_blocks() to the driver. 2011-04-14 00:19:45 +02:00
Grzegorz Kowal
5d8efdcdb3 Add and call the initial subroutine to restore data from HDF5 file. 2011-04-11 16:27:08 +02:00
Grzegorz Kowal
1a26c3e204 Optimize hydro Roe solvers and prepare MHD Roe solvers. 2011-03-22 15:36:59 -03:00
Grzegorz Kowal
2320bafe93 Print some info about solved set of equations. 2011-03-21 18:24:55 -03:00
Grzegorz Kowal
f07457e084 Reorganize printed informations, parameters and timings. 2011-03-10 15:22:10 -03:00
Grzegorz Kowal
4176930759 Add more timers to forcing subroutines.
- now each step of forcing (initialization, evolution, Fourier
   transforms) has separate time; this helps to optimize the forcing
   algorithm;
2011-03-10 14:57:25 -03:00
Grzegorz Kowal
36967b6f00 INTEGRALS: add initial support for calculation of integrals.
- add a new module INTEGRALS which handles initialization and
   calculation of the conserved variables and energies;
 - add make dependencies to makefile;
 - call the initialization, storage and termination subroutines from the
   driver;
2011-03-02 15:52:33 -03:00
Grzegorz Kowal
ec59dcea1a FORCE: put back the initialization of the forcing module.
- it was mistakenly removed during moving the initialization of the
   mesh module;
2011-03-02 15:19:01 -03:00