ANUGA in OpenHMPP implementation.
In this version, only the mesh information is generated by Python grogram, while the overall evolve procedure is moved to C (OpenHMPP) implementation. This is for the benefits of the performance, since passing host control back and force between Python and C throught Python/C API can be costly.
Write down all mesh boundary information into file.
This is used to pass boundary information to C implementation.
Evolve function
Here the overall evolution starts, but the procedures are done in the C implementation.
This type is used to link all the mesh information generated by Python ANUGA progrm so that this information is accessable for C functions. Note: this is a upgrated C struct type from original ANUGA sw_domain.h. Refer to sw_domain.h
Link up all mesh information stored in PyObject to the instance of struct domain. Note: this is a upgrated function from original ANUGA sw_domain.h. Refer to sw_domain_fun.h
The C implementation of the original Python evolve function. Refer to sw_domain_fun.h
Download all the mesh information from the device memory. This is used in the advanced version with OpenHMPP Mirrored Data. Refer to evolve.c
Upload all the mesh information to the device memory. This is used in the advanced version with OpenHMPP Mirrored Data. Refer to evolve.c
Denoting enabling the advanced version. Refer to hmpp_fun.h
Denoting keeping all OpenHMPP directives with function declaration. The local directive is used for testing. Refer to hmpp_fun.h