Commit Graph

550 Commits

Author SHA1 Message Date
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 bd55c42fe5 Hann-windowing for the sink 2019-09-03 16:38:16 +08:00
Miikka Vaisala dac509241f Cleanup, comments and a new template. 2019-09-03 15:24:58 +08:00
Miikka Vaisala 6560ab04bf Improvement to the initial velocity profile. 2019-09-03 12:33:44 +08:00
Miikka Vaisala b3ed0937fe Changes according to JP's comments in the Issue #8. 2019-09-03 10:19:22 +08:00
jpekkila cdb504e772 Added a proof-of-concept helical forcing which uses the newly introduced ScalarArrays for reading profiles. Not extensively tested. 2019-09-02 21:29:07 +03: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
jpekkila 18df9e5579 Added a parameter for passing a custom include dir to compile_acc 2019-09-02 20:15:27 +03:00
Miikka Vaisala ac92123842 Made a note about a bug in 083ff59 , just to remember that code is now more correct. 2019-09-02 18:40:38 +08:00
Miikka Vaisala f3a36ec276 Moved definition location of AC_nx_min etc. Otherwide DSL does not compile the code correctly!!! 2019-09-02 18:29:16 +08: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 02ac6c956f Desperately trying to port the new changes of DSL.
Still work to do.
2019-09-02 14:04:27 +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 c0ba08133d Merged in dsl_feature_completeness_2019-08-27_V2 (pull request #7)
Dsl feature completeness 2019 08 27 V2

Approved-by: Miikka Väisälä <mvaisala@asiaa.sinica.edu.tw>
2019-09-02 02:41:13 +00:00
JackHsu 083ff59ed1 config templates over summer project. 2019-08-30 15:16:09 +08:00
jpekkila be9ec6293b Merged in dsl_parameter_overhaul_2019-08-19 (pull request #6)
DSL user parameter overhaul
2019-08-30 02:13:35 +00:00
jpekkila bd549f5d28 Revised the publications section in the API & DSL specification 2019-08-29 15:14:40 +03:00
jpekkila 5a878b285c Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-08-28 21:06:17 +03:00
jpekkila f77ec836c7 Added a WIP API, DSL specification and user manual 2019-08-28 21:06:05 +03: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 230230ead9 Added a script for preprocessing the device files. Useful for inspecting whether the DSL code is generated correctly. 2019-08-27 18:15:30 +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
Miikka Vaisala 0616f89385 Could be used in some documentation demonstrating domain decomposition. 2019-08-27 11:06:37 +08:00
jpekkila 9fa39b66fc Reverted an accidentally modified astaroth.conf to the same version as in master 2019-08-26 18:33:50 +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 4d4a7e53a7 Stable seeming core collapse configuration. 2019-08-22 19:13:51 +08:00
Miikka Vaisala 3a0c3402d0 Critical bug correction. 2019-08-22 19:07:25 +08:00
Miikka Vaisala aa73b9b43d Merge branch 'sink_20190723' of https://bitbucket.org/jpekkila/astaroth into sink_20190723 2019-08-22 18:21:21 +08:00
Miikka Vaisala 1410e57866 Preparing isothermal collapse. 2019-08-22 18:18:30 +08:00
JackHsu 7f47bf5bfc shorter time steps to turn on accretion (due to no forcing), and comment for unit_length. 2019-08-22 16:46:42 +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
JackHsu 4414125a08 config file for a six hour stable run. 2019-08-22 11:15:03 +08:00
JackHsu fa127bfd4e Added time series plot for accetion. 2019-08-22 10:31:49 +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 5d2b658fb0 Autoformatted the DSL files 2019-08-20 18:41:26 +03: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