Added the rest of the basic functions required for running simulations with the fortran interface

This commit is contained in:
jpekkila
2020-06-25 20:09:35 +03:00
parent 0a19192004
commit 1b50374cdb
2 changed files with 84 additions and 0 deletions

View File

@@ -19,6 +19,30 @@ void acdevicedestroy_(Device* device);
void acdeviceprintinfo_(const Device* device); void acdeviceprintinfo_(const Device* device);
void acupdatebuiltinparams_(AcMeshInfo* info);
void acdeviceswapbuffers_(const Device* device);
void acdeviceloadmesh_(const Device* device, const Stream* stream, const AcMesh* host_mesh);
void acdevicestoremesh_(const Device* device, const Stream* stream, AcMesh* host_mesh);
void acdeviceintegratesubstep_(const Device* device, const Stream* stream, const int* step_number,
const int3* start, const int3* end, const AcReal* dt);
void acdeviceperiodicboundconds_(const Device* device, const Stream* stream, const int3* start,
const int3* end);
void acdevicereducescal_(const Device* device, const Stream* stream, const ReductionType* rtype,
const VertexBufferHandle* vtxbuf_handle, AcReal* result);
void acdevicereducevec_(const Device* device, const Stream* stream, const ReductionType* rtype,
const VertexBufferHandle* vtxbuf0, const VertexBufferHandle* vtxbuf1,
const VertexBufferHandle* vtxbuf2, AcReal* result);
void acdevicesynchronizestream_(const Device* device, const Stream* stream);
void acdeviceloadmeshinfo_(const Device* device, const AcMeshInfo* info);
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif #endif

View File

@@ -30,3 +30,63 @@ acupdatebuiltinparams_(AcMeshInfo* info)
// TODO errorcheck // TODO errorcheck
acUpdateBuiltinParams(info); acUpdateBuiltinParams(info);
} }
void
acdeviceswapbuffers_(const Device* device)
{
acDeviceSwapBuffers(*device);
}
void
acdeviceloadmesh_(const Device* device, const Stream* stream, const AcMesh* host_mesh)
{
acDeviceLoadMesh(*device, *stream, *host_mesh);
}
void
acdevicestoremesh_(const Device* device, const Stream* stream, AcMesh* host_mesh)
{
acDeviceStoreMesh(*device, *stream, host_mesh);
}
void
acdeviceintegratesubstep_(const Device* device, const Stream* stream, const int* step_number,
const int3* start, const int3* end, const AcReal* dt)
{
acDeviceIntegrateSubstep(*device, *stream, *step_number, *start, *end, *dt);
}
void
acdeviceperiodicboundconds_(const Device* device, const Stream* stream, const int3* start,
const int3* end)
{
acDevicePeriodicBoundconds(*device, *stream, *start, *end);
}
void
acdevicereducescal_(const Device* device, const Stream* stream, const ReductionType* rtype,
const VertexBufferHandle* vtxbuf_handle, AcReal* result)
{
acDeviceReduceScal(*device, *stream, *rtype, *vtxbuf_handle, result);
}
void
acdevicereducevec_(const Device* device, const Stream* stream, const ReductionType* rtype,
const VertexBufferHandle* vtxbuf0, const VertexBufferHandle* vtxbuf1,
const VertexBufferHandle* vtxbuf2, AcReal* result)
{
acDeviceReduceVec(*device, *stream, *rtype, *vtxbuf0, *vtxbuf1, *vtxbuf2, result);
}
void
acdevicesynchronizestream_(const Device* device, const Stream* stream)
{
acDeviceSynchronizeStream(*device, *stream);
}
void
acdeviceloadmeshinfo_(const Device* device, const AcMeshInfo* info)
{
acDeviceLoadMeshInfo(*device, *info);
}