diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Particles/MultiParticleContainer.cpp | 5 | ||||
-rw-r--r-- | Source/Utils/WarpXUtil.H | 6 | ||||
-rw-r--r-- | Source/Utils/WarpXUtil.cpp | 17 |
3 files changed, 24 insertions, 4 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index e825b0f35..462ec36a3 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -4,6 +4,7 @@ #include <WarpX_f.H> #include <WarpX.H> +#include <WarpXUtil.H> #include <limits> #include <algorithm> @@ -770,7 +771,7 @@ void MultiParticleContainer::InitQuantumSync () if(generate_table && ParallelDescriptor::IOProcessor()){ qs_engine.compute_lookup_tables(ctrl); Vector<char> all_data = qs_engine.export_lookup_tables_data(); - //TODO: WRITE + WarpXUtilIO::WriteBinaryDataOnFile(filename, all_data); } ParallelDescriptor::Barrier(); @@ -790,7 +791,7 @@ void MultiParticleContainer::InitBreitWheeler () if(generate_table && ParallelDescriptor::IOProcessor()){ bw_engine.compute_lookup_tables(ctrl); Vector<char> all_data = bw_engine.export_lookup_tables_data(); - //TODO: WRITE + WarpXUtilIO::WriteBinaryDataOnFile(filename, all_data); } ParallelDescriptor::Barrier(); diff --git a/Source/Utils/WarpXUtil.H b/Source/Utils/WarpXUtil.H index fd6e72dc6..85e6de911 100644 --- a/Source/Utils/WarpXUtil.H +++ b/Source/Utils/WarpXUtil.H @@ -2,6 +2,8 @@ #include <AMReX_Vector.H> #include <AMReX_MultiFab.H> +#include <string> + void ReadBoostedFrameParameters(amrex::Real& gamma_boost, amrex::Real& beta_boost, amrex::Vector<int>& boost_direction); @@ -9,3 +11,7 @@ void ConvertLabParamsToBoost(); void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax); + +namespace WarpXUtilIO{ + bool WriteBinaryDataOnFile(std::string filename, const amrex::Vector<char>& data); +} diff --git a/Source/Utils/WarpXUtil.cpp b/Source/Utils/WarpXUtil.cpp index 4b11eb69d..0f2c75a15 100644 --- a/Source/Utils/WarpXUtil.cpp +++ b/Source/Utils/WarpXUtil.cpp @@ -1,10 +1,11 @@ -#include <cmath> - #include <WarpXUtil.H> #include <WarpXConst.H> #include <AMReX_ParmParse.H> #include <WarpX.H> +#include <cmath> +#include <fstream> + using namespace amrex; void ReadBoostedFrameParameters(Real& gamma_boost, Real& beta_boost, @@ -152,3 +153,15 @@ void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax) } } } + + +namespace WarpXUtilIO{ + bool WriteBinaryDataOnFile(std::string filename, const amrex::Vector<char>& data) + { + std::ofstream of{filename, std::ios::binary}; + of.write(data.data(), data.size()); + of.close(); + return of.good(); + } +} + |