WarpX
Loading...
Searching...
No Matches
PoissonBoundaryHandler Class Reference

#include <PoissonBoundaryHandler.H>

Classes

struct  PhiCalculatorEB
 

Public Member Functions

 PoissonBoundaryHandler ()
 
void ReadParameters ()
 
void DefinePhiBCs (const amrex::Geometry &geom)
 Read the input settings and set the boundary conditions used on each domain boundary for the Poisson solver.
 
void BuildParsers ()
 Initialize amrex::Parser objects to get the boundary potential values at specified times.
 
void BuildParsersEB ()
 
void setPotentialEB (const std::string &potential)
 Sets the EB potential string and updates the function parser.
 
PhiCalculatorEB getPhiEB (amrex::Real t) const noexcept
 

Public Attributes

bool m_boundary_potential_specified = false
 
std::string potential_xlo_str = "0"
 
std::string potential_xhi_str = "0"
 
std::string potential_ylo_str = "0"
 
std::string potential_yhi_str = "0"
 
std::string potential_zlo_str = "0"
 
std::string potential_zhi_str = "0"
 
std::string potential_eb_str = "0"
 
amrex::ParserExecutor< 1 > potential_xlo
 
amrex::ParserExecutor< 1 > potential_xhi
 
amrex::ParserExecutor< 1 > potential_ylo
 
amrex::ParserExecutor< 1 > potential_yhi
 
amrex::ParserExecutor< 1 > potential_zlo
 
amrex::ParserExecutor< 1 > potential_zhi
 
amrex::ParserExecutor< 1 > potential_eb_t
 
amrex::ParserExecutor< 4 > potential_eb
 
amrex::Array< amrex::LinOpBCType, 3 > lobc
 
amrex::Array< amrex::LinOpBCType, 3 > hibc
 
std::array< bool, 3 *2 > dirichlet_flag
 
bool has_non_periodic = false
 
bool phi_EB_only_t = true
 

Private Attributes

amrex::Parser potential_xlo_parser
 
amrex::Parser potential_xhi_parser
 
amrex::Parser potential_ylo_parser
 
amrex::Parser potential_yhi_parser
 
amrex::Parser potential_zlo_parser
 
amrex::Parser potential_zhi_parser
 
amrex::Parser potential_eb_parser
 

Constructor & Destructor Documentation

◆ PoissonBoundaryHandler()

PoissonBoundaryHandler::PoissonBoundaryHandler ( )

Member Function Documentation

◆ BuildParsers()

void PoissonBoundaryHandler::BuildParsers ( )

Initialize amrex::Parser objects to get the boundary potential values at specified times.

◆ BuildParsersEB()

void PoissonBoundaryHandler::BuildParsersEB ( )

◆ DefinePhiBCs()

void PoissonBoundaryHandler::DefinePhiBCs ( const amrex::Geometry & geom)

Read the input settings and set the boundary conditions used on each domain boundary for the Poisson solver.

◆ getPhiEB()

PhiCalculatorEB PoissonBoundaryHandler::getPhiEB ( amrex::Real t) const
inlinenodiscardnoexcept

◆ ReadParameters()

void PoissonBoundaryHandler::ReadParameters ( )

Read runtime parameters. Called in constructor.

◆ setPotentialEB()

void PoissonBoundaryHandler::setPotentialEB ( const std::string & potential)
inline

Sets the EB potential string and updates the function parser.

Parameters
[in]potentialThe string value of the potential

Member Data Documentation

◆ dirichlet_flag

std::array<bool, 3 * 2> PoissonBoundaryHandler::dirichlet_flag

◆ has_non_periodic

bool PoissonBoundaryHandler::has_non_periodic = false

◆ hibc

amrex::Array<amrex::LinOpBCType, 3> PoissonBoundaryHandler::hibc

◆ lobc

amrex::Array<amrex::LinOpBCType, 3> PoissonBoundaryHandler::lobc

◆ m_boundary_potential_specified

bool PoissonBoundaryHandler::m_boundary_potential_specified = false

◆ phi_EB_only_t

bool PoissonBoundaryHandler::phi_EB_only_t = true

◆ potential_eb

amrex::ParserExecutor<4> PoissonBoundaryHandler::potential_eb

◆ potential_eb_parser

amrex::Parser PoissonBoundaryHandler::potential_eb_parser
private

◆ potential_eb_str

std::string PoissonBoundaryHandler::potential_eb_str = "0"

◆ potential_eb_t

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_eb_t

◆ potential_xhi

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_xhi

◆ potential_xhi_parser

amrex::Parser PoissonBoundaryHandler::potential_xhi_parser
private

◆ potential_xhi_str

std::string PoissonBoundaryHandler::potential_xhi_str = "0"

◆ potential_xlo

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_xlo

◆ potential_xlo_parser

amrex::Parser PoissonBoundaryHandler::potential_xlo_parser
private

◆ potential_xlo_str

std::string PoissonBoundaryHandler::potential_xlo_str = "0"

◆ potential_yhi

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_yhi

◆ potential_yhi_parser

amrex::Parser PoissonBoundaryHandler::potential_yhi_parser
private

◆ potential_yhi_str

std::string PoissonBoundaryHandler::potential_yhi_str = "0"

◆ potential_ylo

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_ylo

◆ potential_ylo_parser

amrex::Parser PoissonBoundaryHandler::potential_ylo_parser
private

◆ potential_ylo_str

std::string PoissonBoundaryHandler::potential_ylo_str = "0"

◆ potential_zhi

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_zhi

◆ potential_zhi_parser

amrex::Parser PoissonBoundaryHandler::potential_zhi_parser
private

◆ potential_zhi_str

std::string PoissonBoundaryHandler::potential_zhi_str = "0"

◆ potential_zlo

amrex::ParserExecutor<1> PoissonBoundaryHandler::potential_zlo

◆ potential_zlo_parser

amrex::Parser PoissonBoundaryHandler::potential_zlo_parser
private

◆ potential_zlo_str

std::string PoissonBoundaryHandler::potential_zlo_str = "0"

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