From 0b21171e0e58eeacde8cf58347958c5ab9863221 Mon Sep 17 00:00:00 2001 From: absingh <absingh@mpi-cbg.de> Date: Mon, 13 Mar 2023 19:28:10 +0100 Subject: [PATCH] Creating vtp folder with a barrier for stability --- src/Vector/vector_dist.hpp | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/src/Vector/vector_dist.hpp b/src/Vector/vector_dist.hpp index 658989569..6113a607d 100644 --- a/src/Vector/vector_dist.hpp +++ b/src/Vector/vector_dist.hpp @@ -2804,11 +2804,15 @@ public: vtk_writer.add(v_pos,v_prp,g_m); std::string output = std::to_string(out + "_" + std::to_string(v_cl.getProcessUnitID()) + std::to_string(".vtp")); - + //Create Directory for VTP files and write the PVTP metadata + if(v_cl.rank()==0) + { + create_directory_if_not_exist("VTPDATA",1); + vtk_writer.write_pvtp(out,prp_names,v_cl.size()); + } + v_cl.barrier(); // Write the VTK file bool ret=vtk_writer.write(output,prp_names,"particles",meta_info,ft); - if(v_cl.rank()==0) - {vtk_writer.write_pvtp(out,prp_names,v_cl.size()) ;} return ret; } } @@ -2916,10 +2920,17 @@ public: std::string output = std::to_string(out + "_" + std::to_string(v_cl.getProcessUnitID()) + "_" + std::to_string(iteration) + std::to_string(".vtp")); + //Create Directory for VTP files and write the PVTP metadata + if(v_cl.rank()==0) + { + create_directory_if_not_exist("VTPDATA",1); + vtk_writer.write_pvtp(out,prp_names,v_cl.size(),iteration); + } + v_cl.barrier(); + // Write the VTK file bool ret=vtk_writer.write(output,prp_names,"particles",meta_info,ft); - if(v_cl.rank()==0) - {vtk_writer.write_pvtp(out,prp_names,v_cl.size(),iteration);} + return ret; } } @@ -2964,10 +2975,15 @@ public: std::string output = std::to_string(out + "_" + std::to_string(v_cl.getProcessUnitID()) + "_" + std::to_string(iteration) + std::to_string(".vtp")); + //Create Directory for VTP files and write the PVTP metadata + if(v_cl.rank()==0) + { + create_directory_if_not_exist("VTPDATA",1); + vtk_writer.write_pvtp(out,prp_names,v_cl.size(),iteration,time); + } + v_cl.barrier(); // Write the VTK file bool ret=vtk_writer.write(output,prp_names,"particles","",ft); - if(v_cl.rank()==0) - {vtk_writer.write_pvtp(out,prp_names,v_cl.size(),iteration,time);} return ret; } } -- GitLab