Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
AMReX_NVector_MultiFab.cpp File Reference
#include "AMReX_NVector_MultiFab.H"
#include <AMReX_ParallelContext.H>
#include <AMReX_ParallelReduce.H>
#include <type_traits>

Namespaces

namespace  amrex
 
namespace  amrex::sundials
 

Functions

N_Vector amrex::sundials::N_VNewEmpty_MultiFab (sunindextype vec_length, ::sundials::Context *sunctx=The_Sundials_Context())
 Create an empty MultiFab N_Vector shell of length vec_length.
 
N_Vector amrex::sundials::N_VNew_MultiFab (sunindextype vec_length, const amrex::BoxArray &ba, const amrex::DistributionMapping &dm, sunindextype nComp, sunindextype nGhost, ::sundials::Context *sunctx=The_Sundials_Context())
 Allocate a MultiFab-backed N_Vector of length vec_length.
 
N_Vector amrex::sundials::N_VMake_MultiFab (sunindextype vec_length, amrex::MultiFab *mf, ::sundials::Context *sunctx=The_Sundials_Context())
 Wrap an existing MultiFab mf as an N_Vector without copying.
 
sunindextype amrex::sundials::N_VGetLength_MultiFab (N_Vector v)
 Return the logical length of N_Vector v.
 
int amrex::sundials::N_VGetOwnMF_MultiFab (N_Vector v)
 Query whether v owns its MultiFab storage.
 
void amrex::sundials::N_VSetOwnMF_MultiFab (N_Vector v, int own_mf)
 Set the ownership flag on v's MultiFab.
 
N_Vector amrex::sundials::N_VCloneEmpty_MultiFab (N_Vector w)
 Create an empty clone of w that owns no data.
 
N_Vector amrex::sundials::N_VClone_MultiFab (N_Vector w)
 Create a deep clone of w including its MultiFab data.
 
void amrex::sundials::N_VDestroy_MultiFab (N_Vector v)
 Destroy v and free its resources (MultiFab if owned).
 
void amrex::sundials::N_VSpace_MultiFab (N_Vector v, sunindextype *lrw, sunindextype *liw)
 Return workspace requirements for v.
 
N_VectorContent_MultiFab amrex::sundials::N_VGetContent_MultiFab (N_Vector v)
 Access the implementation-specific content stored in v.
 
amrex::MultiFab *& amrex::sundials::getMFptr (N_Vector v)
 Access the MultiFab pointer stored inside v (non-const).
 
amrex::MultiFabamrex::sundials::N_VGetVectorPointer_MultiFab (N_Vector v)
 Return the wrapped MultiFab pointer from v.
 
amrex::MultiFab amrex::sundials::N_VGetVectorAlias_MultiFab (N_Vector v)
 Return a shallow alias of the MultiFab stored in v.
 
void amrex::sundials::N_VLinearSum_MultiFab (amrex::Real a, N_Vector x, amrex::Real b, N_Vector y, N_Vector z)
 Compute z = a x + b y.
 
void amrex::sundials::N_VConst_MultiFab (amrex::Real c, N_Vector z)
 Fill z with the constant c.
 
void amrex::sundials::N_VProd_MultiFab (N_Vector x, N_Vector y, N_Vector z)
 Compute the element-wise product z = x * y.
 
void amrex::sundials::N_VDiv_MultiFab (N_Vector x, N_Vector y, N_Vector z)
 Compute the element-wise quotient z = x / y.
 
void amrex::sundials::N_VScale_MultiFab (amrex::Real c, N_Vector x, N_Vector z)
 Compute the scalar product z = c * x.
 
void amrex::sundials::N_VAbs_MultiFab (N_Vector x, N_Vector z)
 Compute the element-wise absolute value z = |x|.
 
void amrex::sundials::N_VInv_MultiFab (N_Vector x, N_Vector z)
 Compute the element-wise inverse z = 1 / x.
 
void amrex::sundials::N_VAddConst_MultiFab (N_Vector x, amrex::Real b, N_Vector z)
 Compute z = x + b.
 
amrex::Real amrex::sundials::N_VDotProd_MultiFab (N_Vector x, N_Vector y)
 Return the dot product x ยท y.
 
amrex::Real amrex::sundials::N_VMaxNorm_MultiFab (N_Vector x)
 Return the infinity norm of x.
 
amrex::Real amrex::sundials::N_VWrmsNorm_MultiFab (N_Vector x, N_Vector w)
 Return the weighted RMS norm of x using weights w.
 
amrex::Real amrex::sundials::N_VWrmsNormMask_MultiFab (N_Vector x, N_Vector w, N_Vector id)
 Return the weighted RMS norm restricted by mask id.
 
amrex::Real amrex::sundials::N_VMin_MultiFab (N_Vector x)
 Return the minimum entry of x.
 
amrex::Real amrex::sundials::NormHelper_NVector_MultiFab (N_Vector x, N_Vector w, N_Vector id, int use_id, bool rms)
 Helper that computes weighted norms or RMS values.
 
amrex::Real amrex::sundials::N_VWL2Norm_MultiFab (N_Vector x, N_Vector w)
 Return the weighted L2 norm of x using weights w.
 
amrex::Real amrex::sundials::N_VL1Norm_MultiFab (N_Vector x)
 Return the L1 norm (sum of absolute values) of x.
 
void amrex::sundials::N_VCompare_MultiFab (amrex::Real a, N_Vector x, N_Vector z)
 Build a mask z where entries of x exceed a.
 
int amrex::sundials::N_VInvTest_MultiFab (N_Vector x, N_Vector z)
 Compute the element-wise inverse test z = 1 / x, returning failure if zero encountered.
 
int amrex::sundials::N_VConstrMask_MultiFab (N_Vector a_a, N_Vector x, N_Vector m)
 Apply constraint masking from a_a to produce mask m.
 
amrex::Real amrex::sundials::N_VMinQuotient_MultiFab (N_Vector num, N_Vector denom)
 Return the minimum element-wise quotient num / denom.