ARTEMIS
ParticleBoundaries.H
Go to the documentation of this file.
1 /* Copyright 2021 David Grote
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef PARTICLEBOUNDARIES_H_
8 #define PARTICLEBOUNDARIES_H_
9 
11 
12 #include <AMReX_AmrCore.H>
13 #include <AMReX_Parser.H>
14 
19 {
20 
21  ParticleBoundaries () noexcept;
22 
23  void Set_reflect_all_velocities (bool flag);
24  void SetAll (ParticleBoundaryType bc);
25 
29 
31 
33 
34  // reflection models for absorbing boundaries
35  std::string reflection_model_xlo_str = "0.0";
36  std::string reflection_model_xhi_str = "0.0";
37  std::string reflection_model_ylo_str = "0.0";
38  std::string reflection_model_yhi_str = "0.0";
39  std::string reflection_model_zlo_str = "0.0";
40  std::string reflection_model_zhi_str = "0.0";
41 
42  std::unique_ptr<amrex::Parser> reflection_model_xlo_parser;
43  std::unique_ptr<amrex::Parser> reflection_model_xhi_parser;
44  std::unique_ptr<amrex::Parser> reflection_model_ylo_parser;
45  std::unique_ptr<amrex::Parser> reflection_model_yhi_parser;
46  std::unique_ptr<amrex::Parser> reflection_model_zlo_parser;
47  std::unique_ptr<amrex::Parser> reflection_model_zhi_parser;
48 
50 
57 
64 
66  };
68 
69 };
70 #endif /*PARTICLEBOUNDARIES_H_*/
ParticleBoundaryType
Definition: WarpXAlgorithmSelection.H:161
flag
Definition: run_libensemble_on_warpx.py:217
Definition: ParticleBoundaries.H:49
bool reflect_all_velocities
Definition: ParticleBoundaries.H:65
amrex::ParserExecutor< 1 > reflection_model_ylo
Definition: ParticleBoundaries.H:60
ParticleBoundaryType ymax_bc
Definition: ParticleBoundaries.H:54
ParticleBoundaryType xmin_bc
Definition: ParticleBoundaries.H:51
amrex::ParserExecutor< 1 > reflection_model_zhi
Definition: ParticleBoundaries.H:63
ParticleBoundaryType xmax_bc
Definition: ParticleBoundaries.H:52
amrex::ParserExecutor< 1 > reflection_model_xhi
Definition: ParticleBoundaries.H:59
ParticleBoundaryType zmax_bc
Definition: ParticleBoundaries.H:56
amrex::ParserExecutor< 1 > reflection_model_zlo
Definition: ParticleBoundaries.H:62
ParticleBoundaryType ymin_bc
Definition: ParticleBoundaries.H:53
amrex::ParserExecutor< 1 > reflection_model_xlo
Definition: ParticleBoundaries.H:58
ParticleBoundaryType zmin_bc
Definition: ParticleBoundaries.H:55
amrex::ParserExecutor< 1 > reflection_model_yhi
Definition: ParticleBoundaries.H:61
Definition: ParticleBoundaries.H:19
std::string reflection_model_zlo_str
Definition: ParticleBoundaries.H:39
void SetBoundsX(ParticleBoundaryType bc_lo, ParticleBoundaryType bc_hi)
Definition: ParticleBoundaries.cpp:36
std::unique_ptr< amrex::Parser > reflection_model_ylo_parser
Definition: ParticleBoundaries.H:44
std::unique_ptr< amrex::Parser > reflection_model_xhi_parser
Definition: ParticleBoundaries.H:43
std::string reflection_model_zhi_str
Definition: ParticleBoundaries.H:40
void SetBoundsZ(ParticleBoundaryType bc_lo, ParticleBoundaryType bc_hi)
Definition: ParticleBoundaries.cpp:50
ParticleBoundaries() noexcept
Definition: ParticleBoundaries.cpp:12
std::unique_ptr< amrex::Parser > reflection_model_zlo_parser
Definition: ParticleBoundaries.H:46
std::unique_ptr< amrex::Parser > reflection_model_yhi_parser
Definition: ParticleBoundaries.H:45
void SetBoundsY(ParticleBoundaryType bc_lo, ParticleBoundaryType bc_hi)
Definition: ParticleBoundaries.cpp:43
bool CheckAll(ParticleBoundaryType bc)
Definition: ParticleBoundaries.cpp:57
ParticleBoundariesData data
Definition: ParticleBoundaries.H:67
std::string reflection_model_yhi_str
Definition: ParticleBoundaries.H:38
std::string reflection_model_ylo_str
Definition: ParticleBoundaries.H:37
std::unique_ptr< amrex::Parser > reflection_model_zhi_parser
Definition: ParticleBoundaries.H:47
std::string reflection_model_xlo_str
Definition: ParticleBoundaries.H:35
void Set_reflect_all_velocities(bool flag)
Definition: ParticleBoundaries.cpp:19
std::unique_ptr< amrex::Parser > reflection_model_xlo_parser
Definition: ParticleBoundaries.H:42
std::string reflection_model_xhi_str
Definition: ParticleBoundaries.H:36
void SetAll(ParticleBoundaryType bc)
Definition: ParticleBoundaries.cpp:25
void BuildReflectionModelParsers()
Definition: ParticleBoundaries.cpp:67