Commit Graph

607 Commits

Author SHA1 Message Date
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
c98b74563c Added a comment 2019-08-19 16:18:24 +03:00
jpekkila
b316e51267 Added preliminary code for generating C headers with the DSL 2019-08-19 16:16:26 +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
1bfb0390ad Seemingly reasonable sink for both density and velocity. 2019-08-16 13:29:34 +08:00
Miikka Vaisala
f921840505 Changed to step function 2019-08-16 11:44:41 +08:00
Miikka Vaisala
a8fbced89d Error correction. 2019-08-16 11:36:39 +08:00
Miikka Vaisala
42ba2ee5aa For live rendering. 2019-08-16 11:14:26 +08:00
Miikka Vaisala
53bd3d4aa4 Correction factor for the equation. 2019-08-16 11:13:21 +08:00
Miikka Vaisala
60f2af0971 Renamed accretion_profile -> sink_accretion. More intuitive. 2019-08-16 09:52:12 +08:00
JackHsu
6c50c0a40e sink effetc in equations. 2019-08-15 19:23:26 +08:00
JackHsu
a5bb56873a Now resets accretion buffer at every step. 2019-08-15 17:51:39 +08:00
jpekkila
6d4d53342e Removed old comments 2019-08-15 11:14:52 +03:00
jpekkila
aa45ce04de Made the linear algebra functions used in forcing.cc static to avoid collisions with the functions defined in math_utils.h 2019-08-15 11:09:40 +03:00
jpekkila
36fea70560 Moved basic built-in functions for vector operations to math_utils.h from integration.cuh so that they are shared with the CPU and GPU 2019-08-15 11:04:22 +03:00
JackHsu
c7df5be068 tried new accretion profile, and added some to-do's. 2019-08-14 18:43:22 +08:00
JackHsu
56c51e5315 fixed the undefined error in compilation. 2019-08-13 18:36:12 +08:00
JackHsu
0587d08b01 Had some rough draft of accretion criterion. 2019-08-13 18:31:57 +08:00
JackHsu
927a5e74f2 Made accretion time-dependent now, need to come up with better accretion crition than truelove. 2019-08-13 18:06:29 +08:00
JackHsu
ff59431d65 Added modularized term for accretion range, which is some wave function, and module that'll allow time-dependent accretion. 2019-08-13 17:43:52 +08:00
Miikka Vaisala
00f92f25fa Merge branch 'master' into sink_20190723 2019-08-13 14:04:50 +08:00
Miikka Vaisala
d79dd428e7 Corrections to the previous. 2019-08-13 14:03:36 +08:00
Miikka Vaisala
870eb32bb3 Added some preprocessing directives for accretion 2019-08-13 13:51:46 +08:00
jpekkila
d5b2e5bb42 Added placeholders for new built-in variables in the DSL. Also overloads to DCONST_INT etc. Naming still pending and old DCONST_REAL etc calls still work. 2019-08-12 14:05:35 +03:00
JackHsu
8c7176d702 Completed function to sum VTXBUF_ACCRETION and updates mass of sink particle. Needs further work with crashing problem. 2019-08-12 19:02:22 +08:00
jpekkila
b8c4d07de2 Removed unnecessary comments 2019-08-12 13:31:24 +03:00
jpekkila
e027f7e548 Removed grid_n in astaroth.cu and replaced it with the new acNodeQueryDeviceConfiguration call 2019-08-12 13:25:47 +03:00
jpekkila
3369d8efec Added a missing include 2019-08-12 11:44:27 +03:00
jpekkila
bba9ec7c3b Implemented acNodeQueryDeviceConfiguration 2019-08-12 11:40:38 +03:00
jpekkila
b5daf22c26 Added interface function acSynchronizeMesh 2019-08-12 10:25:05 +03:00
jpekkila
8bbb2cd5df Now prints device info before trying to run the dummy kernel 2019-08-12 09:46:37 +03:00
JackHsu
e7ff447510 Merge branch 'master' into sink_20190723
Conflicts:
	acc/mhd_solver/stencil_process.sps

I've mannaully resolved the conflict, only that I'm leaving int3 globalVertexIdx as is, as instructed by Miikka.
2019-08-12 14:01:19 +08:00
JackHsu
b782ead4f3 Now initilize VTXBUFF_ACCRETION to 0.0, and accretion now works as expected. 2019-08-12 12:34:38 +08:00
jpekkila
fdadd463b7 Included the user-defined header after the definition of AcReal to make it available if needed. 2019-08-09 17:11:21 +03:00
jpekkila
bc0276ba2d Merged in dsl_syntax_revision_08008 (pull request #5)
Dsl syntax revision 08008

Approved-by: Miikka Väisälä <mvaisala@asiaa.sinica.edu.tw>
2019-08-09 05:16:37 +00:00
jpekkila
a7a7b535d6 The code generator now generates more efficient CUDA: built-in parameters are passed as const references without copying 2019-08-08 21:35:07 +03:00
jpekkila
a172abeb1f Modified the other sps files to use the new syntax. Though does not compile since there are some old/very old changes in the DSL that have not been updated to these files (f.ex. RK macro does not exist anymore, it's currently rk3) 2019-08-08 21:25:45 +03:00
jpekkila
67358fa75f Removed acc/samples as unmaintained 2019-08-08 21:22:34 +03:00
jpekkila
b53cabbc44 Made the DSL syntax less confusing: Input and output arrays are now ScalarField and VectorFields instead of scalars and vectors. C++ initializers are now also possible, removing the need to declare Fields as int or int3 which was very confusing, like "what, you assing an int value to a real, what the &^%@?" 2019-08-08 21:07:36 +03:00