jpekkila
|
bf34ec006a
|
Merge branch 'master' into config_selection_as_runtime_option_20190918
|
2019-09-23 17:35:11 +03:00 |
|
jpekkila
|
4dfd4a1012
|
Changed from strncmp to strdup to work around warnings
|
2019-09-23 17:25:03 +03:00 |
|
Miikka Vaisala
|
cccc11798a
|
Better mesh_info.list
|
2019-09-23 17:53:19 +08:00 |
|
jpekkila
|
24f46324e0
|
Deprecated the old style of selecting a config file (was a compile-time parameter). The config file is now a runtime parameter and can be changed without recompilation. Usage: ./ac_run -s <path/to/config/file/relative/to/ac_run/path>. config/astaroth.conf is selected by default if the custom path is not supplied to ac_run.
|
2019-09-18 19:22:15 +03:00 |
|
jpekkila
|
3bb6ca1712
|
The Astaroth Code Compiler (acc) is now built with cmake. Additionally, make is now used to generate the CUDA headers from DSL sources. The headers are also properly regenerated whenever a DSL file has been changed. With this commit, the DSL is now seamlessly integrated to the library and we no longer need complicated scripts to figure out the correct files. The current workflow for using custom DSL sources is to pass the DSL module directory to cmake, f.ex. cmake -DDSL_MODULE_DIR=/acc/mhd_solver. Note that the path must be absolute or then given relative to the CMakeLists.txt directory. f.ex cd build && cmake -DDSL_MODULE_DIR=../acc/mhd_solver does not work. CMake then takes all DSL files in that directory and handles the rest.
|
2019-09-18 17:28:29 +03:00 |
|
jpekkila
|
bce3e4de03
|
Made warnings about unused device functions go away
|
2019-09-18 16:58:04 +03:00 |
|
jpekkila
|
d2057b8f5a
|
Added a suggestion for writing out the configuration in simulation.cc
|
2019-09-17 18:12:43 +03:00 |
|
jpekkila
|
9b0be40b98
|
Auto-formatted
|
2019-09-17 17:36:28 +03:00 |
|
Miikka Vaisala
|
af254257a2
|
Back to defualts in renderer.cc
|
2019-09-16 12:38:17 +08:00 |
|
Miikka Vaisala
|
297b788ce7
|
Small corrections to keep the defaults in place.
|
2019-09-16 12:33:56 +08:00 |
|
Miikka Vaisala
|
4d7cb0184c
|
Corrected type definition problems.
|
2019-09-16 12:12:10 +08:00 |
|
Miikka Vaisala
|
f5733e5144
|
Turnin LSINK off by default to prepare for merge to master.
|
2019-09-16 11:15:44 +08:00 |
|
Miikka Vaisala
|
42f92c7d49
|
Merge branch 'master' into sink_20190723
|
2019-09-16 10:57:15 +08:00 |
|
jpekkila
|
021e5f3774
|
Renamed NUM_STREAM_TYPES -> NUM_STREAMS
|
2019-09-12 15:48:38 +03:00 |
|
jpekkila
|
53230c9b61
|
Added errorchecking and more flexibility the the new acDeviceLoadScalarArray function
|
2019-09-05 19:56:04 +03:00 |
|
jpekkila
|
263a1d23a3
|
Added a function for loading ScalarArrays to the GPU
|
2019-09-05 16:35:08 +03:00 |
|
Miikka Vaisala
|
88a8198810
|
Revising the initial condition into a self-similar profile.
|
2019-09-03 18:42:14 +08:00 |
|
Miikka Vaisala
|
65d69027be
|
Found an error in the gravitational constant. Now corrected!
|
2019-09-03 17:48:56 +08:00 |
|
Miikka Vaisala
|
6560ab04bf
|
Improvement to the initial velocity profile.
|
2019-09-03 12:33:44 +08:00 |
|
jpekkila
|
9e57aba9b7
|
New feature: ScalarArray. ScalarArrays are read-only 1D arrays containing max(mx, max(my, mz)) elements. ScalarArray is a new type of uniform and can be used for storing f.ex. forcing profiles. The DSL now also supports complex numbers and some basic arithmetic (exp, multiplication)
|
2019-09-02 21:26:57 +03:00 |
|
Miikka Vaisala
|
b4cd92da0c
|
Now compiles and runs.
PLEASE NOTE THAT FLAGS NEED TO BE SET SEPARATELY IN simulation.cc and renderer.cc FOR LSINK and LFORCING!
|
2019-09-02 14:47:58 +08:00 |
|
Miikka Vaisala
|
6eeb225924
|
Merge branch 'master' into sink_20190723
Hopefully the merge isssues were resolved.
|
2019-09-02 11:58:48 +08:00 |
|
jpekkila
|
6ea02fa28e
|
DSL now 'feature complete' with respect to what I had in mind before the summer. Users can now create multiple kernels and the library functions are generated automatically for them. The generated library functions are of the form acDeviceKernel_<name> and acNodeKernel_<name>. More features are needed though. The next features to be added at some point are 1D and 2D device constant arrays in order to support profiles for f.ex. forcing.
|
2019-08-27 18:19:20 +03:00 |
|
jpekkila
|
20138263f4
|
The previous attempt (dsl_feature_completeness_2019-08-23) to enable arbitrary kernel functions was a failure: we get significant performance loss (25-100%) if step_number is not passed as a template parameter to the integration kernel. Apparently the CUDA compiler cannot perform some optimizations if there is a if/else construct in a performance-critical part which cannot be evaluated at compile time. This branch keeps step_number as a template parameter but takes rest of the user parameters as uniforms (dt is no longer passed as a function parameter but as an uniform with the DSL instead).
|
2019-08-27 17:36:33 +03:00 |
|
jpekkila
|
022e46f2e7
|
Merge branch 'master' into dsl_parameter_overhaul_2019-08-19
|
2019-08-23 13:13:57 +03:00 |
|
JackHsu
|
5617eaac8a
|
stable disk-like model.
|
2019-08-23 16:49:51 +08:00 |
|
JackHsu
|
833319ad01
|
constant density keplerian velocity.
|
2019-08-23 15:23:48 +08:00 |
|
Miikka Vaisala
|
3a0c3402d0
|
Critical bug correction.
|
2019-08-22 19:07:25 +08:00 |
|
Miikka Vaisala
|
1410e57866
|
Preparing isothermal collapse.
|
2019-08-22 18:18:30 +08:00 |
|
Miikka Vaisala
|
a81bc22fb6
|
Write now sink infor to time series. Also a bug cerrection for sink switch.
|
2019-08-22 11:52:02 +08:00 |
|
jpekkila
|
f6040f89dc
|
Added acPrintMeshInfo for printing all mesh parameters
|
2019-08-21 16:24:48 +03:00 |
|
jpekkila
|
d52e002e5d
|
Made Astaroth Standalone a library component (still works as before but can be included in other projects which need f.ex. autotesting)
|
2019-08-21 16:18:48 +03:00 |
|
jpekkila
|
5867ff4b3e
|
Stashing MPItest changes
|
2019-08-21 16:16:12 +03:00 |
|
jpekkila
|
39dcda4a04
|
Made warnings about unused functions go away (this is intended functionality and not all programs will use all types of device constants, thus unnecessary warning)
|
2019-08-21 14:28:46 +03:00 |
|
JackHsu
|
7ac8c29b56
|
Now visualization prints time-series for accretion. Corrections to output.
|
2019-08-21 17:20:15 +08:00 |
|
jpekkila
|
73d393e419
|
Changed order for linking the MPI library to work around cmake error on CMP0004
|
2019-08-20 18:40:38 +03:00 |
|
JackHsu
|
5b686bc659
|
Fixed on/off switch for forcing and accretion, now forcing only happens for first 1000 steps (currently hard-coded), and accretion only happen after 1000 steps.
|
2019-08-20 23:12:42 +08:00 |
|
JackHsu
|
eda83e5807
|
Added on/off switch for forcing and accretion. Now both set to take effect in 1000 steps.
|
2019-08-20 12:08:06 +08:00 |
|
jpekkila
|
5b7408eb55
|
User config param overhaul complete, works. If I haven't missed anything, all fields and user parameters, and everything related to simulation can now be declared with the DSL. The only thing that you need to do is to fill the declared symbols with data, like with OpenGL and GLSL.
|
2019-08-19 18:43:16 +03:00 |
|
jpekkila
|
51cf1f1068
|
The C header is now generated from the DSL, stashing the changes just to be sure since I might overwrite something when updating the compilation scripts to work with this new scheme
|
2019-08-19 18:19:28 +03:00 |
|
jpekkila
|
d801ebdd41
|
Now parameters and vertexbuffers (fields) can be declared with the DSL only. TODO: translation from the DSL header to C
|
2019-08-19 17:35:03 +03:00 |
|
jpekkila
|
bcdd827a4f
|
Added a proper declarations for all user-specified uniform. Note: built-in uniforms are not correctly translated into CUDA
|
2019-08-19 17:05:56 +03:00 |
|
jpekkila
|
0208d55e4e
|
Moved STENCIL_ORDER and NGHOST out of user-defined parameter as these are actually internal defines used to configure the built-in functions. Additionally, renamed all explicitly declared uniforms from dsx -> AC_dsx in the DSL in preparation for having clear connection between DSL uniforms and the library parameter handles created by the user (AcRealParam etc)
|
2019-08-19 16:40:47 +03:00 |
|
jpekkila
|
787363226b
|
Added functions for loading int, int3, scalar and vector constants to the device layer (acDeviceLoad...Constant)
|
2019-08-19 15:28:16 +03:00 |
|
jpekkila
|
41805dcb68
|
Added some error checking for the case where user supplies an incomplete meshinfo to acDeviceLoadMeshInfo
|
2019-08-19 15:17:51 +03:00 |
|
jpekkila
|
598799d7c3
|
Added a new function to the device interface: acDeviceLoadMeshInfo
|
2019-08-19 15:14:00 +03:00 |
|
jpekkila
|
e89897985e
|
Battled with math.h and cmath. We probably should move from C standard libraries to C++ ones internally (in places which are not visible via the interface)
|
2019-08-19 14:02:30 +03:00 |
|
JackHsu
|
9a1a6fef17
|
modified the sink_mass initial value to make it stable.
|
2019-08-19 15:38:35 +08:00 |
|
Miikka Vaisala
|
5d93d743c7
|
Improved sink particle stability vie Truelove criterion.
|
2019-08-19 14:38:36 +08:00 |
|
Miikka Vaisala
|
42ba2ee5aa
|
For live rendering.
|
2019-08-16 11:14:26 +08:00 |
|