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
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