Grzegorz Kowal
ab7e1c5143
MESH: improve printed info about the block structure.
2011-02-16 12:08:50 -02:00
Grzegorz Kowal
7fb9a56625
MESH: improve block configuration in domain_default().
...
- now the meta blocks are inserted in the chain in the proper order and
their config flags are set accordingly to the block neighbors; this
should work in 2D and 3D, as well;
note: in order of optimize the initial configuration we should first
sort the dimentions, then generate the proper configuration for
the sorted dimentions, and then rotate the domain back to the
original dimensions updating the config flags properly; this
require a bit of thinking so we leave the user for now, how to
orient the domain properly;
2011-02-16 11:28:50 -02:00
Grzegorz Kowal
1da8cc659b
MESH: remove subroutines for problem domain generation.
...
- remove subroutines domain_blast() and domain_reconnection() since
subroutine domain_default() handles these configurations properly
now;
2010-12-21 20:30:04 -02:00
Grzegorz Kowal
9aea1fb673
MESH: rewrite subroutine domain_default().
...
- rewrite subroutine domain_default() to support arbitrary number of
blocks along each dimension for the lowest level; the lowest level
block dimension is set in rdims vector; this version supports 2D for
now;
2010-12-21 20:25:17 -02:00
Grzegorz Kowal
7c1636a193
CONFIG: rename parameters rdims(x,y,z) to rdim(x,y,z).
2010-12-15 15:54:30 -02:00
Grzegorz Kowal
3bd4868bb2
EVOLUTION: take resistivity timestep condition into account.
2010-12-14 17:29:38 -02:00
Grzegorz Kowal
c97175fc60
BOUNDARIES: restrict magnetic field not only when GLM.
2010-12-14 16:38:28 -02:00
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