WarpX
SliceDiagnostic.H
Go to the documentation of this file.
1 /* Copyright 2019 Revathi Jambunathan
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_SliceDiagnostic_H_
8 #define WARPX_SliceDiagnostic_H_
9 
10 #include <AMReX_VisMF.H>
11 #include <AMReX_PlotFileUtil.H>
12 #include <AMReX_ParallelDescriptor.H>
13 #include <AMReX_Geometry.H>
14 
15 #include <WarpX.H>
16 #include <AMReX_FArrayBox.H>
17 #include <AMReX_IArrayBox.H>
18 #include <AMReX_Vector.H>
19 #include <AMReX_BLassert.H>
20 #include <AMReX_MultiFabUtil.H>
21 #include <AMReX_MultiFabUtil_C.H>
22 
23 
24 
25 std::unique_ptr<amrex::MultiFab> CreateSlice( const amrex::MultiFab& mf,
26  const amrex::Vector<amrex::Geometry> &dom_geom,
27  amrex::RealBox &slice_realbox,
28  amrex::IntVect &slice_cr_ratio );
29 
30 void CheckSliceInput( const amrex::RealBox real_box,
31  amrex::RealBox &slice_cc_nd_box, amrex::RealBox &slice_realbox,
32  amrex::IntVect &slice_cr_ratio, amrex::Vector<amrex::Geometry> dom_geom,
33  amrex::IntVect const SliceType, amrex::IntVect &slice_lo,
34  amrex::IntVect &slice_hi, amrex::IntVect &interp_lo);
35 
36 void InterpolateSliceValues( amrex::MultiFab& smf,
37  amrex::IntVect interp_lo, amrex::RealBox slice_realbox,
38  amrex::Vector<amrex::Geometry> geom, int ncomp, int nghost,
39  amrex::IntVect slice_lo, amrex::IntVect slice_hi,
40  amrex::IntVect SliceType, const amrex::RealBox real_box);
41 
42 void InterpolateLo( const amrex::Box& bx, amrex::FArrayBox &fabox,
43  amrex::IntVect slice_lo, amrex::Vector<amrex::Geometry> geom,
44  int idir, amrex::IntVect IndType, amrex::RealBox slice_realbox,
45  int srccomp, int ncomp, int nghost, const amrex::RealBox real_box);
46 
47 #endif
48 
void InterpolateSliceValues(amrex::MultiFab &smf, amrex::IntVect interp_lo, amrex::RealBox slice_realbox, amrex::Vector< amrex::Geometry > geom, int ncomp, int nghost, amrex::IntVect slice_lo, amrex::IntVect slice_hi, amrex::IntVect SliceType, const amrex::RealBox real_box)
void CheckSliceInput(const amrex::RealBox real_box, amrex::RealBox &slice_cc_nd_box, amrex::RealBox &slice_realbox, amrex::IntVect &slice_cr_ratio, amrex::Vector< amrex::Geometry > dom_geom, amrex::IntVect const SliceType, amrex::IntVect &slice_lo, amrex::IntVect &slice_hi, amrex::IntVect &interp_lo)
std::unique_ptr< amrex::MultiFab > CreateSlice(const amrex::MultiFab &mf, const amrex::Vector< amrex::Geometry > &dom_geom, amrex::RealBox &slice_realbox, amrex::IntVect &slice_cr_ratio)
void InterpolateLo(const amrex::Box &bx, amrex::FArrayBox &fabox, amrex::IntVect slice_lo, amrex::Vector< amrex::Geometry > geom, int idir, amrex::IntVect IndType, amrex::RealBox slice_realbox, int srccomp, int ncomp, int nghost, const amrex::RealBox real_box)