272 Commits

Author SHA1 Message Date
Grzegorz Kowal
904a9d0fd9 DRIVER: make GNU Fortran happy when calling subroutines. 2010-12-08 11:46:09 -02:00
Grzegorz Kowal
59db37fbae RANDOM: add random number generator module.
- add a new module RANDOM which handles initialization and generation
   of different type random number distributions;
 - include the module in the compilation process;
 - initialize the random generator from driver;
2010-12-08 11:40:38 -02:00
Grzegorz Kowal
6d31ce2c4b INTERPOLATION: implement the MP family of reconstruction.
- implement the monotonicity preserving family of reconstruction; the
   implementation covers the 5th, 7th and 9th order spacial MP
   reconstruction;
 - implement two new functions used by the MP reconstructions, minmod()
   and median();
2010-12-07 10:08:30 -02:00
Grzegorz Kowal
ddd516082d INTERPOLATION: implement the LIMO3 reconstruction.
- LIMO3 is the compact 3rd order logarithmic reconstruction by Cada &
   Torrilhon;
2010-12-06 20:54:42 -02:00
Grzegorz Kowal
1b43ae0a81 IO: fix compilation for HYDRO (wrong directives). 2010-12-06 17:06:58 -02:00
Grzegorz Kowal
6489b7031f INTERPOLATION: rewrite subroutine reconstruct(). 2010-12-06 17:05:44 -02:00
Grzegorz Kowal
478de929c1 MAKE: add TVD flag for TVD reconstruction.
- other types of reconstruction may include WENO or MP;
2010-12-06 16:58:00 -02:00
Grzegorz Kowal
91521184cd INTERPOLATION: pass dx to the reconstruction.
- the spacial increment is required by some interpolation methods, so
   pass it to the subroutine reconstruct();
2010-12-06 16:27:49 -02:00
Grzegorz Kowal
41e44779e5 Revert "INTERPOLATION: pass the spacial increment to reconstruct()."
This reverts commit d92ae5d3a62743b66e97c42be4aa5f31ef5993d1.
2010-12-06 16:20:49 -02:00
Grzegorz Kowal
d92ae5d3a6 INTERPOLATION: pass the spacial increment to reconstruct().
- pass the spacial increment to the reconstruction subroutine since
   some interpolation methods require it; in addition, move obtaining
   the spacial interval and its inversion to the subroutine update();
2010-12-06 16:09:09 -02:00
Grzegorz Kowal
cb7b8b3b8b MESH: fix obtaining the child position. 2010-12-05 10:19:32 -02:00
Grzegorz Kowal
635a330016 MESH: use field pos in restrict_block(). 2010-12-05 10:16:17 -02:00
Grzegorz Kowal
1f21ec2097 MESH: use field pos in prolong_block(). 2010-12-05 10:14:57 -02:00
Grzegorz Kowal
7cb4e2f352 INTERPOLATION: rename expand_tvd() to expand(). 2010-12-05 09:56:27 -02:00
Grzegorz Kowal
62f8beccf7 INTERPOLATION: rename expand_1d_tvd() to expand_1d(). 2010-12-05 09:51:21 -02:00
Grzegorz Kowal
9759b514d8 INTERPOLATION: remove subroutines expand() and expand_1d(). 2010-12-05 09:49:39 -02:00
Grzegorz Kowal
8fa4cdf4c7 MESH: use expand_tvd() in prolong_block(). 2010-12-05 09:46:16 -02:00
Grzegorz Kowal
ee1fc1b104 INTERPOLATION: add minmod limiter to expand_tvd(); 2010-12-05 09:36:51 -02:00
Grzegorz Kowal
d1796377ea IO: clean up code after removal of indices icx, icy, icz. 2010-12-05 09:30:15 -02:00
Grzegorz Kowal
2cc3489123 SCHEME: clean up code after removal indices icx, icy, icz. 2010-12-05 09:27:19 -02:00
Grzegorz Kowal
3c4e15d7e4 VARIABLES: remove indices for FIELDCD and FLUXCT. 2010-12-05 09:23:10 -02:00
Grzegorz Kowal
f6554f6849 IO: remove FLUXCT part from module IO. 2010-12-05 09:21:40 -02:00
Grzegorz Kowal
ece5c1234e PROBLEM: remove FLUXCT part. 2010-12-05 09:19:51 -02:00
Grzegorz Kowal
523198433d MESH: remove part for FLUXCT. 2010-12-05 09:18:07 -02:00
Grzegorz Kowal
c6f935a616 SCHEME: remove FIELDCT and FLUXCT parts. 2010-12-05 09:17:13 -02:00
Grzegorz Kowal
4eb6c1ab2b MESH: remove FIELDCD and FLUXCT parts. 2010-12-05 09:12:47 -02:00
Grzegorz Kowal
0611bf3e9b BOUNDARY: remove FIELDCD and FLUXCT from the rest.
- remove parts for FIELDCD and FLUXCT from subroutines bnd_rest() and
   bnd_prol();
2010-12-05 09:11:16 -02:00
Grzegorz Kowal
4925078563 BOUNDARY: remove FLUXCT part from bnd_copy(). 2010-12-05 09:06:17 -02:00
Grzegorz Kowal
2ddf037117 INTERPOLATION: remove subroutines for staggered mesh.
- remove subroutines magtocen(), expand_mag(), expand_mag_bnd() since
   these subroutines are not used anymore; they are required in the case
   of use of the magnetic field described on the staggered mesh;
2010-12-05 09:02:10 -02:00
Grzegorz Kowal
1245a2161d INTERPOLATION: implement the minmod limiter. 2010-12-05 00:42:58 -02:00
Grzegorz Kowal
ce57f9710f MAKE: add flag to select spacial reconstruction method.
- add a new makefile flag to select the method of reconstruction;
2010-12-05 00:24:56 -02:00
Grzegorz Kowal
93a4617dee BOUNDARY, MPI: make boundary_variables() working with MPI.
- implement the MPI version of subroutine boundary_variables(); right
   now we are sending full variable arrays between blocks, but this is
   not optimal; better version should exchange only subdomain needed for
   boundary update;
2010-12-04 22:35:50 -02:00
Grzegorz Kowal
637be3ac0c EVOLUTION: reduce cmax instead of dt.
- now we reduce the maximum speed over all processors instead of the
   time step;
2010-12-03 18:02:07 -02:00
Grzegorz Kowal
4c2f649153 MPI: add new subroutine mallreducemaxr().
- the new subroutine mallreducemaxr() collects the value from all
   processors, finds the maximum over them and redistributes again to
   all processors;
2010-12-03 17:58:20 -02:00
Grzegorz Kowal
1927842205 MAKE: update make.default. 2010-12-03 17:33:21 -02:00
Grzegorz Kowal
f069603a75 CONFIG: remove limiting of the ghost zone width. 2010-12-03 16:55:33 -02:00
Grzegorz Kowal
5fc6eb70c4 SCHEME: rewrite the HLLC Riemann solver.
- rewrite the HLLC hydrodynamic Riemann solver;
 - also add more conditions for compilation flags;
2010-12-03 16:29:28 -02:00
Grzegorz Kowal
5f09a6be85 PROBLEM: allow the reconnection problem to compile with HD. 2010-12-03 15:46:42 -02:00
Grzegorz Kowal
a59f23fb0a EVOLUTION: implement the 3rd order RK method.
- implement the 3rd order Runge-Kutta time integration;
 - rewrite slightly the 2nd order Runge-Kutta method;
2010-12-03 15:38:48 -02:00
Grzegorz Kowal
366e2ff610 BOUNDARY: add global variables for box periodicity.
- add a global variable in the configuration module to determine if the
   boundaries are periodic along each direction; this flag is useful if
   we can skip some work which is only for non-periodic boundaries, such
   as applying specific boundary conditions;
2010-12-03 14:58:49 -02:00
Grzegorz Kowal
0759b6b814 BOUNDARY: remove unnecessary update at the same level.
- with all variables cell centered we do not need to perform additional
   update between blocks at the same level since now everything can be
   done at once; the only restriction is that the boundary update has to
   be done along each direction separately;
2010-12-03 12:57:08 -02:00
Grzegorz Kowal
7241ed4e76 BOUNDARY: remove boundary_flux() and restrict_flux().
- the subroutineis boundary_flux() and restrict_flux() are not used in
   the current implementation so remove them for now;
2010-12-03 12:37:09 -02:00
Grzegorz Kowal
7630328406 SCHEME: small fixes in the adiabatic HLLD solver. 2010-12-03 12:27:53 -02:00
Grzegorz Kowal
4a86024610 PROBLEM: rewrite the blast problem. 2010-12-02 18:17:29 -02:00
Grzegorz Kowal
91cd15c0de SCHEME: implement the adiabatic HLLD Riemann solver.
- the HLLD approximate solver calculates the numerical fluxes for the
   adiabatic equation of states for the MHD equations;
2010-12-02 17:54:15 -02:00
Grzegorz Kowal
f6c78bb258 SCHEME: implement the isothermal HLLD Riemann solver.
- the HLLD approximate solver calculates the numerical fluxes for the
   isothermal equation of states for the MHD equations;
2010-12-02 12:07:01 -02:00
Grzegorz Kowal
3a1b56860d SCHEME: remove argument 'd' from the Riemann solvers.
- this flag specifies if to return the flux or its spatial derivative;
   this is not used in the GLM-MHD approach;
2010-12-02 10:14:39 -02:00
Grzegorz Kowal
1b995390c5 SCHEME: remove subroutine numerical_flux().
- subroutine numerical_flux() is not used in the GLM-MHD approach, so
   remove it; later, during the implementation of GALERKIN methods, it
   may be reintroduced;
2010-12-02 10:10:40 -02:00
Grzegorz Kowal
c56bd66082 REFINEMENT: cosmetics in check_ref(). 2010-12-02 10:04:17 -02:00
Grzegorz Kowal
dc3fb7ad5a REFINEMENT: rewrite refinement criterion for magnetic field. 2010-12-02 10:02:52 -02:00