295 Commits

Author SHA1 Message Date
Grzegorz Kowal
e89c705ca5 RESISTIVITY: implement resistivity in Riemann solvers.
- implement the resistive term (with uniform resistivity) in the HLL
   and HLLD solvers;
2010-12-10 17:14:26 -02:00
Grzegorz Kowal
6764ed4a89 RESISTIVITY: add a new config parameter ueta.
- a new parameter ueta determines the value of resistivity coefficient;
2010-12-10 15:39:24 -02:00
Grzegorz Kowal
5520e726bf RESISTIVITY: add a compilation flag to turn on resistivity. 2010-12-10 15:38:17 -02:00
Grzegorz Kowal
242a421b79 PROBLEM: prepare specific domain for reconnection problem. 2010-12-10 15:10:43 -02:00
Grzegorz Kowal
713868c713 PROBLEM: make total pressure uniform in reconnection problem. 2010-12-10 14:02:00 -02:00
Grzegorz Kowal
e4504e3549 FORCING: generate the same phases on all CPUs.
- to make the forcing consistent across the domain we need to generate
   the same phases on all CPUs;
2010-12-09 18:17:59 -02:00
Grzegorz Kowal
da8d2fee81 EVOLUTION: include forcing terms in the RK3 integration. 2010-12-09 17:54:59 -02:00
Grzegorz Kowal
2e8a1fd16f FORCING: normalize the forcing terms by dt.
- this normalization is required since the forcing terms integration
   takes into account dt;
2010-12-09 16:23:27 -02:00
Grzegorz Kowal
c430192a35 FORCING: slightly optimize real_forcing(). 2010-12-09 16:22:48 -02:00
Grzegorz Kowal
328200b6fc PROBLEM: fix q and u sizes in turbulence problem. 2010-12-08 22:23:31 -02:00
Grzegorz Kowal
83e53f1001 PROBLEM: implement setup for turbulence problem. 2010-12-08 22:05:18 -02:00
Grzegorz Kowal
04a3f6a4ba EVOLUTION: add forcing terms in the RK2 update. 2010-12-08 21:55:45 -02:00
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