Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::OpenBCSolver Class Reference

Open Boundary Poisson Solver. More...

#include <AMReX_OpenBC.H>

Public Member Functions

 OpenBCSolver ()=default
 
 OpenBCSolver (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo())
 
 ~OpenBCSolver ()=default
 
 OpenBCSolver (const OpenBCSolver &)=delete
 
 OpenBCSolver (OpenBCSolver &&)=delete
 
OpenBCSolveroperator= (const OpenBCSolver &)=delete
 
OpenBCSolveroperator= (OpenBCSolver &&)=delete
 
void define (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo())
 
void setVerbose (int v) noexcept
 
void setBottomVerbose (int v) noexcept
 
void useHypre (bool use_hypre) noexcept
 
Real solve (const Vector< MultiFab * > &a_sol, const Vector< MultiFab const * > &a_rhs, Real a_tol_rel, Real a_tol_abs)
 
void compute_moments (Gpu::DeviceVector< openbc::Moments > &moments)
 
void compute_potential (Gpu::DeviceVector< openbc::Moments > const &moments)
 
void interpolate_potential (MultiFab &solg)
 

Detailed Description

Open Boundary Poisson Solver.

References: (1) The Solution of Poisson's Equation for Isolated Source Distributions, R. A. James, 1977, JCP 25, 71 (2) A Local Corrections Algorithm for Solving Poisson's Equation in Three Dimensions, P. McCorquodale, P. Colella, G. T. Balls, & S. B. Baden, 2007, Communications in Applied Mathematics and Computational Science, 2, 1, 57-81

Constructor & Destructor Documentation

◆ OpenBCSolver() [1/4]

amrex::OpenBCSolver::OpenBCSolver ( )
default

◆ OpenBCSolver() [2/4]

amrex::OpenBCSolver::OpenBCSolver ( const Vector< Geometry > &  a_geom,
const Vector< BoxArray > &  a_grids,
const Vector< DistributionMapping > &  a_dmap,
const LPInfo a_info = LPInfo() 
)

◆ ~OpenBCSolver()

amrex::OpenBCSolver::~OpenBCSolver ( )
default

◆ OpenBCSolver() [3/4]

amrex::OpenBCSolver::OpenBCSolver ( const OpenBCSolver )
delete

◆ OpenBCSolver() [4/4]

amrex::OpenBCSolver::OpenBCSolver ( OpenBCSolver &&  )
delete

Member Function Documentation

◆ compute_moments()

void amrex::OpenBCSolver::compute_moments ( Gpu::DeviceVector< openbc::Moments > &  moments)

◆ compute_potential()

void amrex::OpenBCSolver::compute_potential ( Gpu::DeviceVector< openbc::Moments > const &  moments)

◆ define()

void amrex::OpenBCSolver::define ( const Vector< Geometry > &  a_geom,
const Vector< BoxArray > &  a_grids,
const Vector< DistributionMapping > &  a_dmap,
const LPInfo a_info = LPInfo() 
)

◆ interpolate_potential()

void amrex::OpenBCSolver::interpolate_potential ( MultiFab solg)

◆ operator=() [1/2]

OpenBCSolver & amrex::OpenBCSolver::operator= ( const OpenBCSolver )
delete

◆ operator=() [2/2]

OpenBCSolver & amrex::OpenBCSolver::operator= ( OpenBCSolver &&  )
delete

◆ setBottomVerbose()

void amrex::OpenBCSolver::setBottomVerbose ( int  v)
noexcept

◆ setVerbose()

void amrex::OpenBCSolver::setVerbose ( int  v)
noexcept

◆ solve()

Real amrex::OpenBCSolver::solve ( const Vector< MultiFab * > &  a_sol,
const Vector< MultiFab const * > &  a_rhs,
Real  a_tol_rel,
Real  a_tol_abs 
)

◆ useHypre()

void amrex::OpenBCSolver::useHypre ( bool  use_hypre)
noexcept

The documentation for this class was generated from the following files: