diff --git a/example/Numerics/Sussman_redistancing/Makefile b/example/Numerics/Sussman_redistancing/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..b7f56b266b574a2acd50ea95869feffa11d50f13 --- /dev/null +++ b/example/Numerics/Sussman_redistancing/Makefile @@ -0,0 +1,9 @@ +SUBDIRS := $(wildcard */.) + +all clean run: $(SUBDIRS) + +$(SUBDIRS): + $(MAKE) -C $@ $(MAKECMDGOALS) + +.PHONY: all clean $(SUBDIRS) + diff --git a/example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp b/example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp index 8e88054feffb1d7cef305e1940189f4ab011611a..c0836a2981d463d1d520f113d19706299c06f3ec 100644 --- a/example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp +++ b/example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp @@ -94,7 +94,7 @@ * * These are the header files that we need to include: * - * @snippet examples/example_sussman_circle/main.cpp Include + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Include * */ //! @cond [Include] @endcond @@ -133,7 +133,7 @@ * * Initializing OpenFPM * * Setting the output path and creating an output folder * - * @snippet examples/example_sussman_circle/main.cpp Initialization and output folder + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Initialization and output folder * */ //! @cond [Initialization and output folder] @endcond @@ -159,7 +159,7 @@ int main(int argc, char* argv[]) * * \p y: Second dimension * * \p Phi_0_grid: Index of property that stores the initial level-set-function * * \p Phi_SDF_grid: Index of property where the redistancing result should be written to - * @snippet examples/example_sussman_circle/main.cpp Indices grid + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Indices grid * */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -187,7 +187,7 @@ int main(int argc, char* argv[]) * the post-redistancing Phi_SDF should be written to. * * Set some property names (optionally. These names show up when opening the grid vtk in Paraview.) * - * @snippet examples/example_sussman_circle/main.cpp Grid creation + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Grid creation * */ //! @cond [Grid creation] @endcond @@ -220,7 +220,7 @@ int main(int argc, char* argv[]) * \end{cases} @f] * * Optionally, we can save this initial grid as a vtk file, if we want to visualize and check it in Paraview. - * @snippet examples/example_sussman_circle/main.cpp Get circle + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Get circle */ //! @cond [Get circle] @endcond // Now we initialize the grid with a filled circle. Outside the circle, the value of Phi_0 will be -1, inside +1. @@ -266,7 +266,7 @@ int main(int argc, char* argv[]) * * \p print_steadyState_iter: If true, the number of the steady-state-iteration, the corresponding change * w.r.t the previous iteration and the residual is printed (Default: false). * - * @snippet examples/example_sussman_circle/main.cpp Redistancing options + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Redistancing options */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //! @cond [Redistancing options] @endcond @@ -306,7 +306,7 @@ int main(int argc, char* argv[]) * containing the signed distance function in Prop. 2. The vtk-file can be opened in Paraview. If we want, we can * further save the result as hdf5 file that can be reloaded onto an openFPM grid. * - * @snippet examples/example_sussman_circle/main.cpp Run redistancing + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Run redistancing */ //! @cond [Run redistancing] @endcond RedistancingSussman<grid_in_type> redist_obj(g_dist, redist_options); // Instantiation of Sussman-redistancing class @@ -332,7 +332,7 @@ int main(int argc, char* argv[]) * one, but you can have particles with arbitrary many properties, depending on what you want to use them for * later on. Here, we exemplarily define 3 properties. * - * @snippet examples/example_sussman_circle/main.cpp Initialize narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Initialize narrow band */ //! @cond [Initialize narrow band] @endcond // Get narrow band: Place particles on interface (narrow band width e.g. 2 grid points on each side of the interface) @@ -363,7 +363,7 @@ int main(int argc, char* argv[]) * grid points (size_t), physical width (double) or extension of narrow band as physical width inside of object * and outside the object (double, double). * - * @snippet examples/example_sussman_circle/main.cpp Instantiate narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Instantiate narrow band */ //! @cond [Instantiate narrow band] @endcond size_t thickness_of_narrowBand_in_grid_points = 6; @@ -378,7 +378,7 @@ int main(int argc, char* argv[]) * Again, we can define some indices for better code readability. This is just an example, you may want to choose * different names and have a different number of properties thus different number of indices. * - * @snippet examples/example_sussman_circle/main.cpp Indices narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Indices narrow band * */ ////////////////////////////////////////////////////////////////////////////////////////////// @@ -409,7 +409,7 @@ int main(int argc, char* argv[]) * * We save the particles in a vtk file (open in Paraview) and as hdf5 file (can be loaded back on particles). * - * @snippet examples/example_sussman_circle/main.cpp Get narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Get narrow band */ // Get the narrow band. You can decide, if you only want the Phi_SDF saved to your particles or // if you also want the gradients or gradients and magnitude of gradient. @@ -432,7 +432,7 @@ int main(int argc, char* argv[]) * * We end with terminating OpenFPM * - * @snippet examples/example_sussman_circle/main.cpp Terminate + * @snippet example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp Terminate */ //! @cond [Terminate] @endcond openfpm_finalize(); // Finalize openFPM library @@ -445,7 +445,7 @@ int main(int argc, char* argv[]) * * ## Full code ## {#e2d_c_full} * - * @include examples/example_sussman_circle/main.cpp + * @include example/Numerics/Sussman_redistancing/example_sussman_circle/main.cpp */ diff --git a/example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp b/example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp index a6e63c959c6bee98b2a8cdf168bd84cd13630b77..611d69fa369f961f7777793703e545ec7fbd427d 100644 --- a/example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp +++ b/example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp @@ -28,7 +28,7 @@ * * These are the header files that we need to include: * - * @snippet examples/example_sussman_images_2D/main.cpp Include + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp Include * */ //! @cond [Include] @endcond @@ -76,7 +76,7 @@ * * \p Phi_0_grid: Index of property that stores the initial level-set-function * * \p Phi_SDF_grid: Index of property where the redistancing result should be written to * - * @snippet examples/example_sussman_images_2D/main.cpp Initialization + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp Initialization * */ //! @cond [Initialization] @endcond @@ -133,7 +133,7 @@ int main(int argc, char* argv[]) * This can be useful for example when you want to have an isotropic grid but the underlying image is * anisotropic (as it often happens for microcsopic z-stacks rather than 2D images). * - * @snippet examples/example_sussman_images_2D/main.cpp Refinement + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp Refinement * */ //! @cond [Refinement] @endcond @@ -154,7 +154,7 @@ int main(int argc, char* argv[]) * We use this image size and the refinement factor to set the grid size \p sz. * * - * @snippet examples/example_sussman_images_2D/main.cpp Size + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp Size * */ //! @cond [Size] @endcond @@ -185,7 +185,7 @@ int main(int argc, char* argv[]) * example_sussman_circle and here: @ref example_sussman_sphere. * * - * @snippet examples/example_sussman_images_2D/main.cpp Redistancing + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp Redistancing * */ //! @cond [Redistancing] @endcond @@ -265,7 +265,7 @@ int main(int argc, char* argv[]) * * ## Full code ## {#e2d_img_full} * - * @include examples/example_sussman_images_2D/main.cpp + * @include example/Numerics/Sussman_redistancing/example_sussman_images_2D/main.cpp */ diff --git a/example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp b/example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp index ba23b4f88c474f5e3679d3c9942e41ff7b9d3eb4..026dfee0ac975cb94b83163f6ce5d675bb839f01 100644 --- a/example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp +++ b/example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp @@ -34,7 +34,7 @@ * * These are the header files that we need to include: * - * @snippet examples/example_sussman_images_3D/main.cpp Include + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp Include * */ //! @cond [Include] @endcond @@ -82,7 +82,7 @@ * * \p Phi_0_grid: Index of property that stores the initial level-set-function * * \p Phi_SDF_grid: Index of property where the redistancing result should be written to * - * @snippet examples/example_sussman_images_3D/main.cpp Initialization + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp Initialization * */ //! @cond [Initialization] @endcond @@ -130,7 +130,7 @@ int main(int argc, char* argv[]) * This can be useful for example when you want to have an isotropic grid but the underlying image stack is * anisotropic (as it often happens for the z-resolution of volumetric microscopy image data). * - * @snippet examples/example_sussman_images_3D/main.cpp Refinement + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp Refinement * */ //! @cond [Refinement] @endcond @@ -151,7 +151,7 @@ int main(int argc, char* argv[]) * We use this stack size and the refinement factor to set the grid size \p sz. * * - * @snippet examples/example_sussman_images_3D/main.cpp Size + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp Size * */ //! @cond [Size] @endcond @@ -183,7 +183,7 @@ int main(int argc, char* argv[]) * example_sussman_circle and here: @ref example_sussman_sphere. * * - * @snippet examples/example_sussman_images_3D/main.cpp Redistancing + * @snippet example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp Redistancing * */ //! @cond [Redistancing] @endcond @@ -265,7 +265,7 @@ int main(int argc, char* argv[]) * * ## Full code ## {#e2d_img_full} * - * @include examples/example_sussman_images_3D/main.cpp + * @include example/Numerics/Sussman_redistancing/example_sussman_images_3D/main.cpp */ diff --git a/example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp b/example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp index ee744880bf7ed31f8013e66cd0c520ec1f912a61..2748d730567f407182a74bf101ace2bf53b9554a 100644 --- a/example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp +++ b/example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp @@ -54,7 +54,7 @@ * * These are the header files that we need to include: * - * @snippet examples/example_sussman_sphere/main.cpp Include + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Include * */ //! @cond [Include] @endcond @@ -93,7 +93,7 @@ * * Initializing OpenFPM * * Setting the output path and creating an output folder * - * @snippet examples/example_sussman_sphere/main.cpp Initialization and output folder + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Initialization and output folder * */ //! @cond [Initialization and output folder] @endcond @@ -118,7 +118,7 @@ int main(int argc, char* argv[]) * * \p z: Third dimension * * \p Phi_0_grid: Index of property that stores the initial level-set-function * * \p Phi_SDF_grid: Index of property where the redistancing result should be written to - * @snippet examples/example_sussman_sphere/main.cpp Indices grid + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Indices grid * */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -147,7 +147,7 @@ int main(int argc, char* argv[]) * the post-redistancing Phi_SDF should be written to. * * Set some property names (optionally. These names show up when opening the grid vtk in Paraview.) * - * @snippet examples/example_sussman_sphere/main.cpp Grid creation + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Grid creation * */ //! @cond [Grid creation] @endcond @@ -180,7 +180,7 @@ int main(int argc, char* argv[]) * \end{cases} @f] * * Optionally, we can save this initial grid as a vtk file, if we want to visualize and check it in Paraview. - * @snippet examples/example_sussman_sphere/main.cpp Get sphere + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Get sphere */ //! @cond [Get sphere] @endcond // Now we initialize the grid with a filled sphere. Outside the sphere, the value of Phi_0 will be -1, inside +1. @@ -227,7 +227,7 @@ int main(int argc, char* argv[]) * * \p print_steadyState_iter: If true, the number of the steady-state-iteration, the corresponding change * w.r.t the previous iteration and the residual is printed (Default: false). * - * @snippet examples/example_sussman_sphere/main.cpp Redistancing options + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Redistancing options */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //! @cond [Redistancing options] @endcond @@ -266,7 +266,7 @@ int main(int argc, char* argv[]) * containing the signed distance function in Prop. 2. The vtk-file can be opened in Paraview. If we want, we can * further save the result as hdf5 file that can be reloaded onto an openFPM grid. * - * @snippet examples/example_sussman_sphere/main.cpp Run redistancing + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Run redistancing */ //! @cond [Run redistancing] @endcond RedistancingSussman<grid_in_type> redist_obj(g_dist, redist_options); // Instantiation of Sussman-redistancing class @@ -292,7 +292,7 @@ int main(int argc, char* argv[]) * one, but you can have particles with arbitrary many properties, depending on what you want to use them for * later on. Here, we exemplarily define 3 properties. * - * @snippet examples/example_sussman_sphere/main.cpp Initialize narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Initialize narrow band */ //! @cond [Initialize narrow band] @endcond // Get narrow band: Place particles on interface (narrow band width e.g. 2 grid points on each side of the interface) @@ -323,7 +323,7 @@ int main(int argc, char* argv[]) * grid points (size_t), physical width (double) or extension of narrow band as physical width inside of object * and outside the object (double, double). * - * @snippet examples/example_sussman_sphere/main.cpp Instantiate narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Instantiate narrow band */ //! @cond [Instantiate narrow band] @endcond size_t thickness_of_narrowBand_in_grid_points = 6; @@ -339,7 +339,7 @@ int main(int argc, char* argv[]) * Again, we can define some indices for better code readability. This is just an example, you may want to choose * different names and have a different number of properties thus different number of indices. * - * @snippet examples/example_sussman_sphere/main.cpp Indices narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Indices narrow band * */ ////////////////////////////////////////////////////////////////////////////////////////////// @@ -370,7 +370,7 @@ int main(int argc, char* argv[]) * * We save the particles in a vtk file (open in Paraview) and as hdf5 file (can be loaded back on particles). * - * @snippet examples/example_sussman_sphere/main.cpp Get narrow band + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Get narrow band */ // Get the narrow band. You can decide, if you only want the Phi_SDF saved to your particles or // if you also want the gradients or gradients and magnitude of gradient. @@ -393,7 +393,7 @@ int main(int argc, char* argv[]) * * We end with terminating OpenFPM * - * @snippet examples/example_sussman_sphere/main.cpp Terminate + * @snippet example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp Terminate */ //! @cond [Terminate] @endcond openfpm_finalize(); // Finalize openFPM library @@ -406,7 +406,7 @@ int main(int argc, char* argv[]) * * ## Full code ## {#e3d_s_full} * - * @include examples/example_sussman_sphere/main.cpp + * @include example/Numerics/Sussman_redistancing/example_sussman_sphere/main.cpp */ diff --git a/openfpm_pdata.doc b/openfpm_pdata.doc index 2f1dd77b73ef7c452f980262762a7a41f47e1a5b..1ecffa9ccc680a2e2aafe5aa285dbff1a449d816 100644 --- a/openfpm_pdata.doc +++ b/openfpm_pdata.doc @@ -38,7 +38,7 @@ PROJECT_NAME = "OpenFPM_pdata" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 3.0.0 +PROJECT_NUMBER = 3.1.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/script/py/pack_examples.py b/script/py/pack_examples.py index 94999758a48cf1c463e6c8259404b303eb3d5b6c..d6f4674c045a59de421eeb13082542130bd21588 100644 --- a/script/py/pack_examples.py +++ b/script/py/pack_examples.py @@ -50,6 +50,7 @@ class pack_example: for file in files: print("copy src:"+file+" dst:"+self.temporary+os.sep+file[len(self.base_dir):]) + os.makedirs(os.path.dirname(self.temporary+os.sep+file[len(self.base_dir):]), exist_ok=True) shutil.copy(file,self.temporary+os.sep+file[len(self.base_dir):]) diff --git a/src/Vector/cuda/vector_dist_gpu_unit_tests.cu b/src/Vector/cuda/vector_dist_gpu_unit_tests.cu index b70bd00f9be64da890347bf1ecd91379bd1e134d..bdc77d2cd5d9264e8c15caa494a8b1c20e376434 100644 --- a/src/Vector/cuda/vector_dist_gpu_unit_tests.cu +++ b/src/Vector/cuda/vector_dist_gpu_unit_tests.cu @@ -1947,6 +1947,7 @@ BOOST_AUTO_TEST_CASE( vector_dist_ghost_put_gpu ) vd.hostToDevicePos(); vd.template hostToDeviceProp<0>(); + std::cout << "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa " << cudaGetLastError() << std::endl; vd.template ghost_put<add_atomic_,0>(RUN_ON_DEVICE); vd.template deviceToHostProp<0>(); vd.deviceToHostPos();