313 Commits

Author SHA1 Message Date
Grzegorz Kowal
e2e404ad94 MESH: restrict magnetic field not only when GLM. 2010-12-14 16:34:51 -02:00
Grzegorz Kowal
937a74ff3f BOUNDARIES: update magnetic field not only when GLM. 2010-12-14 16:33:41 -02:00
Grzegorz Kowal
0a3d1036e2 BOUNDARIES: improve the divergence free boundary conditions.
- in order to find the boundary value for normal magnetic field
   component we use the divergence free condition, i.e., we need to
   calculate normal direvatived perpendicular components; now we used
   the derivative calculation with the proper limiting in order to keep
   the consistency of the scheme;
 - in the interpolation module the new function has been added returning
   the limited derivative;
2010-12-14 16:11:26 -02:00
Grzegorz Kowal
a359f3949a MESH: improve autobalancing for block distribution.
- improve the algorithm for autobalancing for more equal data block
   distribution;
2010-12-14 11:19:11 -02:00
Grzegorz Kowal
28cc35d0ab BLOCKS: remove the flux fields from data block structure.
- we do not use the flux fields so in order to save much more space
   remove them from the data block structure;
2010-12-14 10:35:42 -02:00
Grzegorz Kowal
cd995dd076 IO: don't store fluxes.
- fluxes will be removed from the data block structure so don't store
   them;
2010-12-14 10:33:32 -02:00
Grzegorz Kowal
9061068b5a IO: correct wording in some comments. 2010-12-14 10:31:23 -02:00
Grzegorz Kowal
5b74c7d4cb IO: store data objects only if available on CPU.
- the data blocks should be stored in the appropriate group only if
   they are allocated on the current processors;
2010-12-14 10:29:49 -02:00
Grzegorz Kowal
e2a154de2a CONFIG: remove warning about not implemented parameter. 2010-12-14 10:12:13 -02:00
Grzegorz Kowal
8cfee01238 BOUNDARIES: implement divergence free boundary conditions. 2010-12-13 11:47:38 -02:00
Grzegorz Kowal
15c31f92a1 SCHEME: small corrections in subroutine hll(). 2010-12-12 21:54:29 -02:00
Grzegorz Kowal
3c022bd80f SCHEME: remove subroutine emf(). 2010-12-12 21:41:26 -02:00
Grzegorz Kowal
623ddc73b6 SCHEME: correct flux calculation for magnetic field. 2010-12-11 19:26:33 -02:00
Grzegorz Kowal
b9798e1c96 PROBLEM: correct perturbation in reconnection problem. 2010-12-11 19:25:59 -02:00
Grzegorz Kowal
29b000c75f SCHEME: slightly rewrite subroutine update(). 2010-12-11 14:38:34 -02:00
Grzegorz Kowal
9f361b4175 SCHEME: slightly rewrite subroutine hll(). 2010-12-11 14:32:38 -02:00
Grzegorz Kowal
6be2c79940 BOUNDARIES: rewrite subroutine bnd_spec(). 2010-12-11 14:01:16 -02:00
Grzegorz Kowal
09095f14f6 PROBLEM: rewrite the perturbation in reconnection problem. 2010-12-10 18:47:28 -02:00
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