Added a new generic function to the interface (astaroth.h) for loading arbitrary device constants. Also (unintended) autoformatting.

This commit is contained in:
jpekkila
2019-07-03 16:19:25 +03:00
parent 32c8520543
commit d4d2680f40
2 changed files with 20 additions and 10 deletions

View File

@@ -409,11 +409,15 @@ AcResult acQuit(void);
unless otherwise stated. */
AcResult acSynchronize(void);
/** */
AcResult acloadDeviceConstant(const AcRealParam param, const AcReal value);
/** Tool for loading forcing vector information into the device memory
*/
AcResult acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force, const AcReal3 ff_hel_re,
const AcReal3 ff_hel_im, const AcReal forcing_phase, const AcReal kaver);
AcResult acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force,
const AcReal3 ff_hel_re, const AcReal3 ff_hel_im, const AcReal forcing_phase,
const AcReal kaver);
/* End extern "C" */
#ifdef __cplusplus
}

View File

@@ -506,15 +506,24 @@ acSynchronize(void)
return AC_SUCCESS;
}
//Tool for loading forcing vector information into the device memory
AcResult
acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force, const AcReal3 ff_hel_re,
acloadDeviceConstant(const AcRealParam param, const AcReal value)
{
for (int i = 0; i < num_devices; ++i) {
loadDeviceConstant(devices[i], param, value);
}
return AC_SUCCESS;
}
// Tool for loading forcing vector information into the device memory
AcResult
acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force, const AcReal3 ff_hel_re,
const AcReal3 ff_hel_im, const AcReal forcing_phase, const AcReal kaver)
{
for (int i = 0; i < num_devices; ++i) {
loadDeviceConstant(devices[i], AC_forcing_magnitude, forcing_magnitude);
loadDeviceConstant(devices[i], AC_forcing_phase, forcing_phase );
loadDeviceConstant(devices[i], AC_forcing_phase, forcing_phase);
loadDeviceConstant(devices[i], AC_k_forcex, k_force.x);
loadDeviceConstant(devices[i], AC_k_forcey, k_force.y);
@@ -529,10 +538,7 @@ acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force, const AcReal
loadDeviceConstant(devices[i], AC_ff_hel_imz, ff_hel_im.z);
loadDeviceConstant(devices[i], AC_kaver, kaver);
}
return AC_SUCCESS;
}