Miikka Vaisala
1b6e6a6bac
Example for Jack. Creating sink branch.
2019-07-23 15:44:39 +08:00
jpekkila
84af939e5d
The default benchmark is now more suitable for timing multi-GPU performance
2019-07-22 13:08:33 +03:00
Miikka Vaisala
074fb26df9
Added TODO_SINK comments.
...
The comments were written to map out what essential part are needed for
resolving a system with graviating sink particles. No changes to the code
itself.
2019-07-17 14:05:48 +08:00
jpekkila
78aba6428e
Updated the copyright years throughout the project
2019-07-16 14:28:32 +03:00
jpekkila
e14e19774d
Added a synchronization to benchmark.cc that is now required when calling acIntegrateStep
2019-07-09 19:03:45 +03:00
jpekkila
8cc9281045
Double versions of some sqrt, cos and sin were used in model_rk3.cc instead of the long double versions, fixed.
2019-07-09 19:03:15 +03:00
jpekkila
e6c770cbee
Added a synchronization after acLoadDeviceConstant since it is now stated to be asynchronous
2019-07-09 19:00:08 +03:00
jpekkila
0bda016e17
Reviewed the Astaroth interface. Now there's a clear distinction between synchronous and asynchronous functions. For basic usage, we provide a set of functions that are always safe to call (acIntegrate, acLoad, etc), but because of this, must be quite restricted in the sense that f.ex. the whole mesh must be loaded at once and computations cannot be executed concurrently on multiple GPUs. For more advanced users we provide asynchronous functions (such as acLoadWithOffset). Since we cannot know how the asynchronous functions are called (for example, when the integration step has been fully completed and the halos of neighboring subgrids can be safely communicated between GPUs), the responsibility of synchronization must be left to the user. In the existing implementations we currently use only the basic "safe" set of functions (except in renderer.cc), so the existing functionality has not been changed with these latests commits. Autotests also pass.
2019-07-09 18:42:00 +03:00
jpekkila
10a98b01a9
Experimental change: now the integration function is automatically optimized during acInit
2019-07-09 14:46:24 +03:00
jpekkila
eda2f6543b
Created a new ForcingParams structure and some functions for generating and transferring the forcing parameters to the host/device
2019-07-08 15:43:37 +03:00
Miikka Vaisala
f9be905703
Corrected an unit coversion issue from forcing.
...
Now noticing these because of switching to gcc 8.
2019-07-08 16:43:37 +08:00
jpekkila
c71711ec36
Disabled real-time visualization by default. SDL2 is no longer a dependency when building with the default flags.
2019-07-04 22:30:26 +03:00
jpekkila
ad7a497eef
Added a comment about timestepping and autoformat
2019-07-04 17:25:54 +03:00
jpekkila
0884c4bf38
Moved the definition of acForcingVec to host_forcing.cc since it depends on user parameters that may not be defined in all projects
2019-07-04 15:28:18 +03:00
jpekkila
698d04c57d
Removed a deprecated code block
2019-07-04 15:08:42 +03:00
jpekkila
556cb77dbb
Removed weird unused functions from model_rk3.cc. I have no idea where these came from. Probably remnants from the time I was pulling all-nighters to finish my thesis.
2019-07-03 18:06:40 +03:00
jpekkila
b4eea4b6b6
Changed #if 0 to #if LFORCING instead to get the code to compile if forcing is used (even though autotesting does not support it yet). Also more autoformatting. Maybe I should disable it or then everyone should start using it to avoid cluttering commits with these superficial changes
2019-07-03 17:49:34 +03:00
jpekkila
609cfaea14
Commenting the unused variables in simulation.cc a few commits back was the wrong move since the variables are needed if LFORCING it set.
2019-07-03 17:46:50 +03:00
jpekkila
acc53e1c2b
Merged master to acc_parameter_overhaul
2019-07-03 17:37:37 +03:00
jpekkila
81a09501b8
Removed deprecated LNT0 and LNRHO0 defines, now the actual configuration parameters are used (AC_lnrho0 and AC_lnT0). Also accidental autoformatting again, there seems to be stray spaces before linebreaks in some files which get automatically removed by my text editor
2019-07-03 17:23:37 +03:00
jpekkila
d7228f0647
Added an explicit cast from double to AcReal to avoid a narrowing conversion error
2019-07-03 17:11:26 +03:00
jpekkila
919d446222
Commented out unused variables in simulation.cc
2019-07-03 17:10:40 +03:00
jpekkila
945751e585
Autoformatted host_forcing.cc
2019-07-03 17:06:57 +03:00
jpekkila
af3a1e211e
Suppressed unused variable and function warnings in model_rk3.cc
2019-07-03 17:03:26 +03:00
jpekkila
59ac264743
simulation.cc autoformatting
2019-07-03 16:57:57 +03:00
Miikka Vaisala
f0d2be831e
host_forcing now committed. Sorry.
2019-07-03 09:55:23 +08:00
Miikka Vaisala
334ff868d9
Forcing disabled from autotest and from defaults.
...
It is not suitable function of the autotest tool. If there in really a
mandatory need to add it. I will need special help from Johannes.
2019-07-02 18:46:04 +08:00
Miikka Vaisala
4766441ffb
Tryin to prepare autotest for forcing.
2019-07-02 18:24:41 +08:00
Miikka Vaisala
03689709df
Merge branch 'master' into forcing
2019-07-02 16:43:10 +08:00
Miikka Vaisala
d0eb308f17
Better interface to forcing.
2019-07-02 16:35:14 +08:00
jpekkila
1e6740f999
Added the equations for hydro only for both CPU and GPU. NOTE: NOT RIGOROUSLY CHECKED FOR CORRECTNESS. I just took the equations used with entropy and removed the terms which included entropy and magnetic fields
2019-07-01 18:56:13 +03:00
jpekkila
d9be66f65f
NOTE: Renamed LINDUCTION to LMAGNETIC throughout the project.
2019-07-01 13:40:24 +03:00
Miikka Vaisala
0600790f41
Corrected a bug in the timestep and some scaling problems.
...
Now I can reach a saturated stated in forcing without crashing the code.
2019-07-01 14:19:56 +08:00
Miikka Vaisala
9f0be0d9ff
Solved the forcing function boundary problem.
2019-07-01 11:06:42 +08:00
Miikka Vaisala
f04ef8e64c
Forcing function issue not yet fully resolved.
...
Now brain hurs. No more today. Break needed.
2019-06-28 19:23:18 +08:00
Miikka Vaisala
94a25383a9
Trying to calculate the forcing scaling.
...
Causes nans very quickly. Will need to look closer tomorrow again.
2019-06-27 19:20:18 +08:00
Miikka Vaisala
9b2e9d376f
helical_forcing_k_generator() added.
...
Now Helical forcing almost works. I just need scale to force per tiome step
correctly. The current formulation is wrong.
2019-06-27 18:12:15 +08:00
jpekkila
44a1160962
Added an additional comment
2019-06-27 12:50:34 +03:00
Miikka Vaisala
fd6a5df0d6
helical_forcing_e_generator() randomized.
2019-06-27 15:59:58 +08:00
Miikka Vaisala
9ae3411cce
helical_forcing_e_generator() added
...
Without randomization. Will add next.
2019-06-27 14:53:36 +08:00
Miikka Vaisala
d30b866a21
Merge branch 'master' into forcing
...
Now I need to test what works...
Conflicts:
acc/mhd_solver/stencil_process.sps
2019-06-27 11:22:31 +08:00
jpekkila
cda17c9b08
VERBOSE_PRINTING flag is now globally used in the whole program and should be used to suppress development/debugging-related printing. Also added comments to the new interface function acCheckDeviceAvailability and made it free from side effects.
2019-06-26 18:50:15 +03:00
Matthias Rheinhardt
25f1ec7959
MR: intro'd VERBOSE_PRINT switch
2019-06-26 15:13:56 +03:00
Matthias Rheinhardt
174e29add6
MR: added PENCIL_ASTAROTH
2019-06-26 15:11:32 +03:00
Miikka Vaisala
76d251cd3e
Makes now special helical forcing vector.
2019-06-26 18:50:42 +08:00
Miikka Vaisala
be0e46c814
Can move forcing vector information now from the host to device.
...
next step in to generate random waves in the CPU with a chosen degree of helicity etc.
2019-06-26 17:41:39 +08:00
Miikka Vaisala
231a8aa06e
Trying to figure out how to upload values to GPU.
2019-06-26 15:23:46 +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
383d2b696c
Got a warning about potentially too small array, increased size to avoid overflows
2019-06-19 16:58:24 +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