Added a new generic function to the interface (astaroth.h) for loading arbitrary device constants. Also (unintended) autoformatting.
This commit is contained in:
@@ -409,10 +409,14 @@ 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
|
||||
|
@@ -506,7 +506,16 @@ acSynchronize(void)
|
||||
return AC_SUCCESS;
|
||||
}
|
||||
|
||||
//Tool for loading forcing vector information into the device memory
|
||||
AcResult
|
||||
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)
|
||||
@@ -514,7 +523,7 @@ acForcingVec(const AcReal forcing_magnitude, const AcReal3 k_force, const AcReal
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user