Commit Graph

264 Commits

Author SHA1 Message Date
Miikka Vaisala
656e50316a Merge branch 'master' into forcing 2019-06-26 13:19:20 +08:00
Miikka Vaisala
5cacda2850 Helical forcing funtion works.
But we will need a wavenumber generator to add stochasticity.
2019-06-26 13:15:28 +08:00
Miikka Vaisala
8191c47fa0 Scetching the helical forcing.
Not the idead form. Not yet tested.
2019-06-25 19:04:53 +08:00
jpekkila
912dffca4f Renamed old single-GPU-only headers in core/kernels to avoid confusion. Only kernels.cuh is used for reductions, integration and boundary conditions at the moment. 2019-06-25 13:58:59 +03:00
Miikka Vaisala
a574d6e4c3 To be friendly with the autotest. 2019-06-25 14:50:43 +08:00
Miikka Vaisala
b1a2d9603c Cleaning the forcing part. 2019-06-25 14:48:47 +08:00
Miikka Vaisala
44f26cde42 Corrected a stencil bug from der6 2019-06-25 11:25:14 +08:00
Miikka Vaisala
59043e586b Added a missing switch to stencil_assembly.sas. 2019-06-24 18:03:24 +08:00
Miikka Vaisala
55ecdd0ac8 Working upwinding!
It works and it looks so much better than without.
2019-06-24 16:58:06 +08:00
Miikka Vaisala
d0b27a0347 Upwinding terms now compile.
Not tested yet.
2019-06-24 16:32:21 +08:00
Miikka Vaisala
57881e5961 Implementetion for hyperdiffusion to be tested later. 2019-06-21 17:29:06 +08:00
Miikka Vaisala
f2a33bf4f8 Starting with derivatives for upwinding. 2019-06-21 16:53:04 +08:00
jpekkila
a5ab388af7 Fixed a compilation error when not using entropy. This is a temporary workaround. There is no model solution for hydro only, therefore autotesting will break if entropy is not used. Note: LINDUCTION, LENTROPY and other logical flags are duplicated in both astaroth.h and stencil_process.sps. These flags are not linked and there will be errors and weird behaviour if a flag is set in one file and not in another. 2019-06-19 20:18:25 +03:00
jpekkila
2310186c71 Added a skeleton function for updating an arbitrary block inside the computational domain instead of the whole mesh 2019-06-19 19:43:46 +03:00
jpekkila
383d2b696c Got a warning about potentially too small array, increased size to avoid overflows 2019-06-19 16:58:24 +03:00
jpekkila
4ee772cf5d Set the minimum gcc version required in CMakeLists.txt 2019-06-19 16:57:47 +03:00
jpekkila
a7515fbbd7 Made the simple forcing to scale with dt s.t. it does not explode so easily 2019-06-19 16:34:23 +03:00
jpekkila
f3cbc4984c Enabled toy forcing by default for testing purposes. Note that there are two LFORCING switches at the moment: one in astaroth.h and one in acc/mhd_solver/stencil_process.sps. The switches are not linked and the tests fail or simulations generate unexpected results if both switches are not set to the same value. This will be fixed in the near future. 2019-06-19 16:14:46 +03:00
jpekkila
6da061b854 Fixed a bug in the Astaroth compiler: the boilerplate code for kernels was generated for all nested compound statements instead of just the top-level one 2019-06-19 16:10:29 +03:00
jpekkila
e580f6f5d7 Improvements to GPU forcing (now applied only at substep 2) 2019-06-19 16:08:44 +03:00
jpekkila
feef97563d Added a model solution for forcing. Accidentally also autoformatted the file. Finally, removed unused cruft 2019-06-19 16:06:57 +03:00
jpekkila
2c5d8bb9ae Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-06-19 14:29:59 +03:00
jpekkila
2eacb98246 Now acBoundcondStep is applied after acIntegrate to ensure that the whole grid visible to the host, including boundaries, are always up to date 2019-06-19 14:29:07 +03:00
Miikka Vaisala
68af32b7ef Small edit to docs 2019-06-19 17:11:46 +08:00
Miikka Vaisala
40b4a61a4c Added DEPRECATED marking to the old forcing function.
I do not want to remove it yet. Not until something like that exists in the DSL code.
2019-06-19 13:46:03 +08:00
jpekkila
b5753f0bec Played around with forcing and cleaned the example implementation a bit 2019-06-18 17:40:27 +03:00
jpekkila
d4907332f2 Disabled automated formatting in some parts where overfull lines are easier to read 2019-06-18 16:51:53 +03:00
jpekkila
8864266042 Autoformatted all CUDA/C/C++ code 2019-06-18 16:42:56 +03:00
jpekkila
6fdc4cddb2 Updated the autoformatting configuration 2019-06-18 16:39:30 +03:00
jpekkila
123fc78705 Disable forcing by default s.t. the autotests pass 2019-06-18 16:39:07 +03:00
jpekkila
4ca4dbefdf Added the machinery for implementing forcing with the DSL on multiple GPUs and a simple model solution 2019-06-18 16:13:32 +03:00
jpekkila
57e2e48fb0 Added functions for loading device constants. Also introduced a new int3 constant that can be used to determine the global vertex index inside kernels 2019-06-18 14:11:55 +03:00
jpekkila
efc54f1d5f Turned off separable compilation as it is not used at the moment (all kernels are defined in a single header) 2019-06-18 14:09:54 +03:00
Miikka Vaisala
0f62651374 Easier time series plotting. 2019-06-18 14:50:35 +08:00
Miikka Vaisala
71a35b2027 Defined nz
Otherwise the coude would not compile.
2019-06-18 11:58:46 +08:00
jpekkila
c9f26d6e58 Cleanup 2019-06-17 20:44:37 +03:00
jpekkila
ce6f453bc5 Rewrote reductions, now much simpler than before 2019-06-17 20:38:28 +03:00
jpekkila
270ba4d562 Rewrote reductions to work with arbitrary grid sizes, TODO more testing 2019-06-17 19:56:30 +03:00
jpekkila
f970dca68c Disabled a power-of-two error check as this may be too strict. See test_dims in autotest.cc which dimensions are guaranteed to work with reductions. Other dimensions may also work but are not yet extensively tested 2019-06-17 18:32:23 +03:00
jpekkila
5e6cc9b8cc Changed names of some parameters to better ones 2019-06-17 18:18:00 +03:00
jpekkila
d9845920e0 Simplified reductions further and added comments 2019-06-17 18:17:30 +03:00
jpekkila
18d6ad4f61 Simplified the logic used for calculating reductions 2019-06-17 18:05:36 +03:00
jpekkila
a47e59c484 Simplified/shortened the names of the functions used for reductions 2019-06-17 17:57:36 +03:00
jpekkila
361725adc6 Cleaned reductions a bit 2019-06-17 17:52:14 +03:00
jpekkila
70c047ec8c Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-06-17 14:46:34 +03:00
jpekkila
1d3d331570 .gitignore not includes the standard build directory and the headers generated with Astaroth DSL 2019-06-17 14:46:30 +03:00
jpekkila
59086b3e79 Added multi-GPU reductions. Tested to work with 1-2 GPUs with power of two grid dimensions. Requires more testing in special cases (when using exotic grid dimensions and a large number of GPUs) 2019-06-17 14:45:41 +03:00
Miikka Väisälä
c3722b37bd Corrected typos
Because of course.
2019-06-17 10:32:14 +00:00
Miikka Väisälä
8798166a58 Cleaned up README.md of obsolete notes and made it more up to date. 2019-06-17 10:26:54 +00:00
Miikka Väisälä
0ce689dbe4 README.md edited online with Bitbucket
Of course there we typos.
2019-06-17 09:12:13 +00:00