283 Commits

Author SHA1 Message Date
Grzegorz Kowal
cf7db3c3a6 RANDOM: fix compilation without MPI. 2010-12-08 21:49:53 -02:00
Grzegorz Kowal
cb0c67faff EVOLUTION: add forcing terms in the block update. 2010-12-08 21:48:43 -02:00
Grzegorz Kowal
ebec9cfa81 MESH: update the coordinate variables preparation. 2010-12-08 20:09:41 -02:00
Grzegorz Kowal
23fd6d9deb FORCING: implement real_forcing().
- implement the subroutine real_forcing() which returns the forcing
   terms transformed to real space;
2010-12-08 19:37:01 -02:00
Grzegorz Kowal
ac2a969636 EVOLUTION: evolve the forcing source terms.
- call subroutine evolve_forcing() before the update of all blocks;
   this subroutine evolves the forcing source terms by an interval dt in
   the Fourier space; then during the update the forcing Fourier
   coefficients will be transformed to real space for each block
   separately;
2010-12-08 18:19:16 -02:00
Grzegorz Kowal
40be345fe1 EVOLUTION: limit the time step due to the forcing.
- since the forcing update is base on iterations we need to limit the
   physical time step to the integer number of forcing time steps;
2010-12-08 18:11:15 -02:00
Grzegorz Kowal
bd28a527d7 FORCING: implement evolution of forcing terms.
- implement subroutine evolve_forcing() which evolves the driving
   components in Fourier space during the one hydrodynamic timestep; the
   integrated forcing Fourier components are stored in module array
   ftab; this complex array will be used to calculate forcing in real
   space for each block;
2010-12-08 17:45:24 -02:00
Grzegorz Kowal
f8f2a151cc FORCING: implement initialization of forcing.
- implement the preparation of perturbed wave vectors, their amplitudes
   and two ortoghonal unit vectors for divergence free driving;
2010-12-08 14:52:02 -02:00
Grzegorz Kowal
644e491e41 CONFIG: implement forcing parameters. 2010-12-08 12:45:34 -02:00
Grzegorz Kowal
29a7e0063a FORCING: add initial version of module.
- add a new module FORCING to handle forcing source terms, e.g. for
   turbulence driving;
 - implement initial versions of init_forcing() and clear_forcing()
   subroutines;
 - add compilation flag FORCING and use it during compilation process in
   makefile;
2010-12-08 12:21:41 -02:00
Grzegorz Kowal
edb8f970bc CONSTANTS: add constants module and utilize.
- a new module stores mathematical and physical constants and can be
   used in problem initialization or source terms calculation;
2010-12-08 11:56:44 -02:00
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