1627 Commits

Author SHA1 Message Date
e00a70b477 GRAVITY: Add new module to handle gravitational forces.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-03 18:15:15 -03:00
5c4248581f Update the year.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-03-03 17:51:42 -03:00
002301393c make.default: Remove OMP since OpenMP is not implemented yet.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2017-01-17 13:19:53 -02:00
d9f16a2b6d Merge branch 'master' of ssh://bitbucket.org/amunteam/amun-code 2016-12-22 10:28:16 -02:00
912fc85f30 IO: Acknowledge Pierre in write_snapshot_xdmf_master() as well.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-22 10:25:08 -02:00
c2a34b5fb0 IO: Make region and block numbers shorter in XMDF files.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-22 10:23:08 -02:00
59786c7ee0 IO: Fix block dimensions in write_snapshot_xdmf().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-21 15:16:37 -02:00
dd0e490ac4 IO: Implement write_snapshot_xdmf_master().
This subroutine write a master file which gathers all MPI subdomains
into one domain.

Based on the subroutine written by Pierre Kestener.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-21 14:17:36 -02:00
5a9d8f0c46 IO: Implement write_snapshot_xdmf().
This subroutine stores an XDMF file which is a wrapper to HDF5 files for
easy reading simulation data to visualization tools like Paraview or
Visit.

This subroutine is based on the one written by Pierre Kestener.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-21 12:15:32 -02:00
723a20054b IO: Add flag to switch XDMF file generation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-21 07:08:56 -02:00
88a1765a40 SOURCES: Fix upper limit in i-loops.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-12-02 09:58:13 -02:00
416cc0a5dd IO: Flush HDF5 files to disk before closing them.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 11:39:17 -02:00
84a3f1e687 COPYRIGHTS: Update year.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 11:09:19 -02:00
af3ba85029 DRIVER: Reduce iterm from read_restart_snapshot().
If reading from only some files failed, we should let know all processes
about it, so they terminate in a proper way.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 10:58:49 -02:00
6e611781a0 IO: Rewrite subroutine read_restart_snapshot_h5().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 10:56:16 -02:00
cc6642c17b DRIVER: Use iterm instead of iret in read_restart_snapshot().
In this way the last message will indicate where the problem is.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 10:12:51 -02:00
275856c587 DRIVER: Do not open termination timer before it is needed.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 10:09:22 -02:00
b0e8c97401 IO: Add return flag to the snapshot restart.
If there is any problem with reading the restart snapshots, we just quit
instead of starting a dump uninitialized run.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-11-18 10:04:38 -02:00
670668c293 INTERPOLATIONS: Implement multidimentional GP reconstruction.
This is truely multidimentional reconstruction based on Gaussian
Processes. All neighbors of the interpolation cell are taken into
account and properly weighted. The size of the neighbor region can be
controlled.

The monotonicity of the interpolated interfaces is detected and if the
case of lack it, the linear TVD reconstruction is applied. Therefore,
only the monotonic regions are interpolated using the high-order Gauss
Process.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-15 17:34:20 -03:00
0a067f1f26 SCHEMES: Remove subroutines for states reconstruction.
The whole interface reconstruction was moved to the INTERPOLATIONS
module, so these subroutines are not used anymore, nor planned to be
used.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 23:08:11 -03:00
5f25de32f9 SCHEMES: Adopt update_flux_srmhd_adi() to use separate reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 23:01:16 -03:00
7a2c83d0ea SCHEMES: Adopt update_flux_srhd_adi() to use separate reconstruction.
Implement reconstruction based on 3-vector and 4-vector as well.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 22:52:40 -03:00
5c8d60e47e SCHEMES: Adopt update_flux_mhd_adi() to use separate reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 20:56:21 -03:00
bbac5511f8 SCHEMES: Adopt update_flux_mhd_iso() to use separate reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 20:46:27 -03:00
5d5b277e9b SCHEMES: Move GLM solver to Riemann solver subroutines for adiabatic SRMHD.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 20:34:20 -03:00
fd3ddd5e8a SCHEMES: Move GLM solver to Riemann solver subroutines for adiabatic MHD.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 20:29:25 -03:00
58d0c03036 SCHEMES: Move GLM solver to Riemann solver subroutines for isothermal MHD.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 19:48:46 -03:00
704ec5754d SCHEMES: Make state variable argument 'inout' in Riemann solvers.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 19:15:42 -03:00
bf38b8ad04 SCHEMES: Remove reconstruct_states_1d().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-14 19:04:36 -03:00
87ac23663e INTERPOLATIONS: Implement interfaces separately along each direction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 23:39:08 -03:00
b2830f7979 INTERPOLATIONS: Limit derivatives instead in interfaces_tvd().
Try better for positive variable interpolation. Limit the derivatives
instead of zeroing them.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 20:37:53 -03:00
a74240e3b5 Merge branch 'master' into full_reconstruction 2016-08-12 20:27:24 -03:00
c58117d7ed BOUNDARIES: Guarantee positivity in block_face_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 20:25:28 -03:00
68087041db BOUNDARIES: Guarantee positivity in block_edge_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 20:21:55 -03:00
17f46cf1d6 BOUNDARIES: Guarantee positivity in block_corner_prolong().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 20:17:10 -03:00
753b288b71 MESH: Make sure the negativity is detected in the full cell.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 20:11:11 -03:00
25ba130da3 MESH: Guarantee the positivity of positive variables in prolongation.
We use 1D TVD limiter to prolongate blocks, but in 2D or 3D they can
produce negative values of positive variables in the corners. Detect
such situation and limit the derivatives until the whole interpolated
region is positive.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-12 19:24:31 -03:00
cbf9c081ec SCHEMES: Move interface interpolation to module INTERPOLATIONS.
This will allow for implementations of truly multidimentional
interpolations.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-09 16:00:41 -03:00
1ee7e0b402 SCHEMES: Adopt update_flux_hd_iso() to use separate reconstruction.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-01 23:44:09 -03:00
e5cfae408a SCHEMES: Move reconstruction part to new subroutine.
The reconstruction in all three directions has been moved to a separate
subroutine in order to make it generic. It will allow for introducing a
full two or three dimensional reconstruction. This is for adiabatic
hydrodynamics so far, but other set of equations will be supported in
the following changes.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-08-01 23:36:15 -03:00
954a287129 SCHEMES: Separate reconstruction and solver in update_flux_hd_adi().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-07-30 00:22:20 -03:00
677284b003 EVOLUTION, SCHEMES: Calculate all directional fluxes at once.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-07-26 22:47:55 -03:00
744c213648 INTERPOLATIONS: Implement reconstruction based on Gaussian Processes.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-07-23 19:18:41 -03:00
84b20d6d6a ALGEBRA: Add subroutine to invert arbitrary matrix.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-07-23 14:43:20 -03:00
bc1a7b9c98 OPERATORS: Make derivative subroutines public as well.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-05-13 13:53:08 -03:00
a8afe2d3d7 BOUNDARIES: Handle magnetic field in the reflective boundaries.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2016-03-10 07:23:09 -03:00
1b8add50eb MESH: Fix block statistics calculation after job restart.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2015-12-18 06:55:32 -02:00
14d2b82a02 INTERPOLATIONS: Implement low-dissipation version of CRMP5 method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2015-12-14 18:59:11 -02:00
6412e00d03 INTERPOLATIONS: Make two extrema points monotonic in WENO5NS.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2015-12-14 09:48:11 -02:00
4ce1b6574b INTERPOLATIONS: Make two extrema points monotonic in WENO5YC.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2015-12-14 09:46:25 -02:00