WarpX
Functions
FieldIO.H File Reference
#include <AMReX_REAL.H>
#include <AMReX_BaseFwd.H>
#include <array>
#include <cstdint>
#include <memory>
#include <vector>

Go to the source code of this file.

Functions

void AverageAndPackVectorField (amrex::MultiFab &mf_avg, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &vector_field, const amrex::DistributionMapping &dm, int dcomp, amrex::IntVect ngrow)
 Takes an array of 3 MultiFab vector_field (representing the x, y, z components of a vector), averages it to the cell center, and stores the resulting MultiFab in mf_avg (in the components dcomp to dcomp+2) Should only be used for BTD now. More...
 
void AverageAndPackScalarField (amrex::MultiFab &mf_avg, const amrex::MultiFab &scalar_field, const amrex::DistributionMapping &dm, int dcomp, amrex::IntVect ngrow)
 Take a MultiFab scalar_field averages it to the cell center, and stores the resulting MultiFab in mf_avg (in the components dcomp) More...
 
std::vector< std::uint64_t > getVec (const amrex::IntVect &v, bool reverse=false)
 Convert an IntVect to a std::vector<std::uint64_t> (used for compatibility with openPMD-api) More...
 
std::vector< double > getVec (const amrex::Real *v, bool reverse=false)
 
std::vector< std::uint64_t > getReversedVec (const amrex::IntVect &v)
 Convert an IntVect to a std::vector<std::uint64_t> and reverse the order of the elements (used for compatibility with the openPMD API) More...
 
std::vector< double > getReversedVec (const amrex::Real *v)
 

Function Documentation

◆ AverageAndPackScalarField()

void AverageAndPackScalarField ( amrex::MultiFab mf_avg,
const amrex::MultiFab scalar_field,
const amrex::DistributionMapping dm,
int  dcomp,
amrex::IntVect  ngrow 
)

Take a MultiFab scalar_field averages it to the cell center, and stores the resulting MultiFab in mf_avg (in the components dcomp)

◆ AverageAndPackVectorField()

void AverageAndPackVectorField ( amrex::MultiFab mf_avg,
const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  vector_field,
const amrex::DistributionMapping dm,
int  dcomp,
amrex::IntVect  ngrow 
)

Takes an array of 3 MultiFab vector_field (representing the x, y, z components of a vector), averages it to the cell center, and stores the resulting MultiFab in mf_avg (in the components dcomp to dcomp+2) Should only be used for BTD now.

◆ getReversedVec() [1/2]

std::vector<std::uint64_t> getReversedVec ( const amrex::IntVect v)

Convert an IntVect to a std::vector<std::uint64_t> and reverse the order of the elements (used for compatibility with the openPMD API)

◆ getReversedVec() [2/2]

std::vector<double> getReversedVec ( const amrex::Real *  v)

◆ getVec() [1/2]

std::vector<std::uint64_t> getVec ( const amrex::IntVect v,
bool  reverse = false 
)

Convert an IntVect to a std::vector<std::uint64_t> (used for compatibility with openPMD-api)

Convert amrex IntVect to vector of uint64, reverse if requested

Parameters
[in]vvector to convert
[in]reverse(optional) boolean indicating whether to reverse v
Returns
converted vector of type uint64, reversed if requested

◆ getVec() [2/2]

std::vector<double> getVec ( const amrex::Real *  v,
bool  reverse = false 
)

Convert vector of amrex Reals to vector of double, reverse if requested

Parameters
[in]vvector to convert
[in]reverse(optional) boolean indicating whether to reverse v
Returns
converted vector of type amrex::Real, reversed if requested