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
Grzegorz Kowal
366e2ff610
BOUNDARY: add global variables for box periodicity.
...
- add a global variable in the configuration module to determine if the
boundaries are periodic along each direction; this flag is useful if
we can skip some work which is only for non-periodic boundaries, such
as applying specific boundary conditions;
2010-12-03 14:58:49 -02:00
Grzegorz Kowal
0759b6b814
BOUNDARY: remove unnecessary update at the same level.
...
- with all variables cell centered we do not need to perform additional
update between blocks at the same level since now everything can be
done at once; the only restriction is that the boundary update has to
be done along each direction separately;
2010-12-03 12:57:08 -02:00
Grzegorz Kowal
7241ed4e76
BOUNDARY: remove boundary_flux() and restrict_flux().
...
- the subroutineis boundary_flux() and restrict_flux() are not used in
the current implementation so remove them for now;
2010-12-03 12:37:09 -02:00
Grzegorz Kowal
7630328406
SCHEME: small fixes in the adiabatic HLLD solver.
2010-12-03 12:27:53 -02:00
Grzegorz Kowal
4a86024610
PROBLEM: rewrite the blast problem.
2010-12-02 18:17:29 -02:00
Grzegorz Kowal
91cd15c0de
SCHEME: implement the adiabatic HLLD Riemann solver.
...
- the HLLD approximate solver calculates the numerical fluxes for the
adiabatic equation of states for the MHD equations;
2010-12-02 17:54:15 -02:00
Grzegorz Kowal
f6c78bb258
SCHEME: implement the isothermal HLLD Riemann solver.
...
- the HLLD approximate solver calculates the numerical fluxes for the
isothermal equation of states for the MHD equations;
2010-12-02 12:07:01 -02:00
Grzegorz Kowal
3a1b56860d
SCHEME: remove argument 'd' from the Riemann solvers.
...
- this flag specifies if to return the flux or its spatial derivative;
this is not used in the GLM-MHD approach;
2010-12-02 10:14:39 -02:00
Grzegorz Kowal
1b995390c5
SCHEME: remove subroutine numerical_flux().
...
- subroutine numerical_flux() is not used in the GLM-MHD approach, so
remove it; later, during the implementation of GALERKIN methods, it
may be reintroduced;
2010-12-02 10:10:40 -02:00
Grzegorz Kowal
c56bd66082
REFINEMENT: cosmetics in check_ref().
2010-12-02 10:04:17 -02:00
Grzegorz Kowal
dc3fb7ad5a
REFINEMENT: rewrite refinement criterion for magnetic field.
2010-12-02 10:02:52 -02:00
Grzegorz Kowal
bb7bffaf9b
PROBLEM: rewrite the reconnection problem.
...
- add parameters for the reconnection problem to the config module;
- properly initialize the antiparallel magnetic field component and the
perpendicular component initial perturbation;
2010-12-02 09:54:17 -02:00
Grzegorz Kowal
007c3fbca0
PROBLEM: add the reconnection problem.
2010-12-01 21:08:45 -02:00
Grzegorz Kowal
0a8a66f5cd
REFINEMENT: rewrite function check_ref().
...
- rewrite the function check_ref() using the subroutine to convert the
conserved variables to primitive ones;
- if the MHD is used take the gradients of magnetic field components
into account in determining the refinement indicator;
2010-12-01 15:57:58 -02:00
Grzegorz Kowal
c65688aaf4
EVOLUTION, GLM-MHD: update Psi after all RK substeps.
...
- the scalar potential is updated after each Runge-Kutta substep now;
2010-12-01 15:23:27 -02:00
Grzegorz Kowal
c08cf9e98b
EVOLUTION: remove unused subroutines.
...
- remove subroutine advance(); this subroutine is good for GALERKIN
approach; it's gonna be reintroduced during this method
implementation;
- remove subroutine update_flux(); this subroutine is called from
advance() and is not used in the GLM-MHD approach;
- make GNU Fortran happy bu adding () to the subroutine calls;
2010-12-01 15:14:07 -02:00
Grzegorz Kowal
9c955646b8
BOUNDARY: remove module variables which are not used.
2010-12-01 15:08:29 -02:00
Grzegorz Kowal
72d15710c7
MESH, GLM-MHD: prolongate proper variables during refinement.
...
- in subroutine prolong_block() prolongate the magnetic field
components and scalar potential during the block refinements if the
GLM-MHD equations are used;
2010-12-01 13:54:46 -02:00
Grzegorz Kowal
9e2f69c745
MESH, GLM-MHD: restrict proper variables during derefinement.
...
- in subroutine restrict_block() restrict the magnetic field components
and scalar potential during the derefinement if GLM-MHD equations are
used;
2010-12-01 13:45:54 -02:00
Grzegorz Kowal
fe5cade684
GLM-MHD: obtain the states for Bx and Psi.
...
- in the GLM-MHD set of equations variables Bx and Psi are couples,
thus find their values and substitute to the left and right states
before entering the approximate Riemann solver;
2010-12-01 13:27:01 -02:00
Grzegorz Kowal
c220a578b0
SCHEME: move cmax parameter from module 'evolution' to 'scheme'.
2010-12-01 13:13:27 -02:00
Grzegorz Kowal
8dcd7d906f
PROBLEM: initialize Psi for the blast problem.
2010-12-01 12:42:17 -02:00
Grzegorz Kowal
db40c6253c
SCHEME: fix iteration for reconstruction in HLL.
...
- fix the index for reconstruction of magnetic field components in the
subroutine HLL;
2010-12-01 12:39:56 -02:00
Grzegorz Kowal
c55a5972d3
BOUNDARY: perform prolongation for GLM-MHD.
...
- perform prolongation of the boundaries from blocks at lower level and
update boundaries of the current block; subroutine bnd_prol();
2010-12-01 12:16:35 -02:00
Grzegorz Kowal
0af8e0747f
BOUNDARY: perform restriction for GLM-MHD.
...
- perform restriction of the variables for GLM-MHD and exchange
betweent blocks at different levels;
2010-12-01 12:07:35 -02:00
Grzegorz Kowal
f611650456
IO, GLM-MHD: store the potential Psi in HDF5 file.
...
- add storing the scalar potential Psi in the HDF5 files;
2010-12-01 11:55:16 -02:00
Grzegorz Kowal
5e102ed9f1
BOUNDARY: update variables for GLM-MHD.
...
- exchange boundaries for the magnetic field components and scalar
potential for GLM-MHD;
- slightly rewrite the subroutine bnd_copy();
2010-12-01 11:48:10 -02:00
Grzegorz Kowal
bee4d07135
GLM-MHD, CONFIG: add parameter alpha_p.
...
- add a new parameter alpha_p to module 'config' to allow setting it
from config.in;
2010-12-01 11:24:57 -02:00
Grzegorz Kowal
9eef6af9b4
GLM-MHD: implement Psi decay due to a source term.
...
- the scalar potential Psi evolution is controlled by a dissipative
source term; include this update using a simple analytical solution;
2010-12-01 11:20:25 -02:00
Grzegorz Kowal
87b8225b55
GLM-MHD: take into account the maximum speed in update.
...
- the divergence of B propagates with the maximum speed c_h; take it
into account while updating the solution for the scalar potential
Psi;
2010-12-01 10:57:40 -02:00
Grzegorz Kowal
166adf0e64
GLM-MHD: update global solution.
...
- update the magnetic field components and scalar potential in the
Euler and RK2 methods, evolve_euler() and evolve_rk2() subroutines,
respectively;
2010-12-01 10:53:21 -02:00
Grzegorz Kowal
022919c08c
DRIVER: update the maximum speed initially.
...
- call update_maximum_speed() after the problem intialization in order
to find the initial maximum speed;
2010-12-01 10:43:01 -02:00
Grzegorz Kowal
71d20ced15
EVOLUTION: add subroutine to update the maximum speed.
...
- make the variable cmax global in the module 'evolution';
- add a new subroutine update_maximum_speed() which updates the maximum
speed cmax in the system iterating over all data blocks;
- use the subroutine update_maximum_speed() in evolve();
2010-12-01 10:39:18 -02:00
Grzegorz Kowal
e58967b9a4
GLM-MHD: copy Psi between primitive and conserved variables.
...
- update subroutines cons2prim() and prim2cons() to convert the scalar
potential between primitive and conserved variables;
2010-12-01 10:22:00 -02:00
Grzegorz Kowal
010c49556e
GLM-MHD: calculate physical fluxes for B and Psi.
...
- calculate physical fluxes for the magnetic field components and
scalar potential in subroutine fluxspeed();
2010-12-01 10:17:10 -02:00