diff options
author | 2021-12-14 08:52:09 +0100 | |
---|---|---|
committer | 2021-12-13 23:52:09 -0800 | |
commit | 6c00c243f986467f3a80ab6a1a5177e7577e7680 (patch) | |
tree | acbe063b4cc4d7a98a185e1a953298af037fab4c /Source/Python | |
parent | 6844ef6ad95ce748f9e7f69144fec4e3e4041e72 (diff) | |
download | WarpX-6c00c243f986467f3a80ab6a1a5177e7577e7680.tar.gz WarpX-6c00c243f986467f3a80ab6a1a5177e7577e7680.tar.zst WarpX-6c00c243f986467f3a80ab6a1a5177e7577e7680.zip |
Adding EB multifabs to the Python interface (#2647)
* Adding edge_lengths and face_areas to the Python interface
* Added wrappers for the two new arrays of data
* Adding a CI test
* Fixed test name
* Added customRunCmd
* Added mpi in test
Diffstat (limited to 'Source/Python')
-rw-r--r-- | Source/Python/WarpXWrappers.H | 12 | ||||
-rw-r--r-- | Source/Python/WarpXWrappers.cpp | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Source/Python/WarpXWrappers.H b/Source/Python/WarpXWrappers.H index 6897ae212..42066b672 100644 --- a/Source/Python/WarpXWrappers.H +++ b/Source/Python/WarpXWrappers.H @@ -172,6 +172,12 @@ extern "C" { int* warpx_getCurrentDensityCPLoVects (int lev, int direction, int *return_size, int **ngrowvect); int* warpx_getCurrentDensityFPLoVects (int lev, int direction, int *return_size, int **ngrowvect); + amrex::Real** warpx_getEdgeLengths (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes); + int* warpx_getEdgeLengthsLoVects (int lev, int direction, int *return_size, int **ngrowvect); + + amrex::Real** warpx_getFaceAreas (int lev, int direction, int *return_size, int *ncomps, int **ngrowvect, int **shapes); + int* warpx_getFaceAreasLoVects (int lev, int direction, int *return_size, int **ngrowvect); + int* warpx_getEx_nodal_flag (); int* warpx_getEy_nodal_flag (); int* warpx_getEz_nodal_flag (); @@ -185,6 +191,12 @@ extern "C" { int* warpx_getPhi_nodal_flag (); int* warpx_getF_nodal_flag (); int* warpx_getG_nodal_flag (); + int* warpx_get_edge_lengths_x_nodal_flag (); + int* warpx_get_edge_lengths_y_nodal_flag (); + int* warpx_get_edge_lengths_z_nodal_flag (); + int* warpx_get_face_areas_x_nodal_flag (); + int* warpx_get_face_areas_y_nodal_flag (); + int* warpx_get_face_areas_z_nodal_flag (); amrex::Real** warpx_getChargeDensityCP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes); amrex::Real** warpx_getChargeDensityFP (int lev, int *return_size, int *ncomps, int **ngrowvect, int **shapes); diff --git a/Source/Python/WarpXWrappers.cpp b/Source/Python/WarpXWrappers.cpp index ba78d2233..a2b8dc354 100644 --- a/Source/Python/WarpXWrappers.cpp +++ b/Source/Python/WarpXWrappers.cpp @@ -323,6 +323,9 @@ namespace WARPX_GET_FIELD(warpx_getBfieldCP, WarpX::GetInstance().get_pointer_Bfield_cp) WARPX_GET_FIELD(warpx_getBfieldFP, WarpX::GetInstance().get_pointer_Bfield_fp) + WARPX_GET_FIELD(warpx_getEdgeLengths, WarpX::GetInstance().get_pointer_edge_lengths) + WARPX_GET_FIELD(warpx_getFaceAreas, WarpX::GetInstance().get_pointer_face_areas) + WARPX_GET_FIELD(warpx_getCurrentDensity, WarpX::GetInstance().get_pointer_current_fp) WARPX_GET_FIELD(warpx_getCurrentDensityCP, WarpX::GetInstance().get_pointer_current_cp) WARPX_GET_FIELD(warpx_getCurrentDensityFP, WarpX::GetInstance().get_pointer_current_fp) @@ -339,6 +342,9 @@ namespace WARPX_GET_LOVECTS(warpx_getCurrentDensityCPLoVects, WarpX::GetInstance().get_pointer_current_cp) WARPX_GET_LOVECTS(warpx_getCurrentDensityFPLoVects, WarpX::GetInstance().get_pointer_current_fp) + WARPX_GET_LOVECTS(warpx_getEdgeLengthsLoVects, WarpX::GetInstance().get_pointer_edge_lengths) + WARPX_GET_LOVECTS(warpx_getFaceAreasLoVects, WarpX::GetInstance().get_pointer_face_areas) + int* warpx_getEx_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_Efield_aux(0,0) );} int* warpx_getEy_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_Efield_aux(0,1) );} int* warpx_getEz_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_Efield_aux(0,2) );} @@ -352,6 +358,12 @@ namespace int* warpx_getPhi_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_phi_fp(0) );} int* warpx_getF_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_F_fp(0) );} int* warpx_getG_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_G_fp(0) );} + int* warpx_get_edge_lengths_x_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_edge_lengths(0, 0) );} + int* warpx_get_edge_lengths_y_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_edge_lengths(0, 1) );} + int* warpx_get_edge_lengths_z_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_edge_lengths(0, 2) );} + int* warpx_get_face_areas_x_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_face_areas(0, 0) );} + int* warpx_get_face_areas_y_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_face_areas(0, 1) );} + int* warpx_get_face_areas_z_nodal_flag() {return getFieldNodalFlagData( WarpX::GetInstance().get_pointer_face_areas(0, 2) );} #define WARPX_GET_SCALAR(SCALAR, GETTER) \ amrex::Real** SCALAR(int lev, \ |