WarpX
Functions | Variables
WarpXAlgorithmSelection.cpp File Reference
#include "WarpX.H"
#include "WarpXAlgorithmSelection.H"
#include "Utils/TextMsg.H"
#include <AMReX.H>
#include <AMReX_ParmParse.H>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <map>
#include <utility>

Functions

int GetAlgorithmInteger (const amrex::ParmParse &pp, const char *pp_search_key)
 
FieldBoundaryType GetFieldBCTypeInteger (std::string BCType)
 
ParticleBoundaryType GetParticleBCTypeInteger (std::string BCType)
 
std::string GetFieldBCTypeString (FieldBoundaryType fb_type)
 

Variables

const std::map< std::string, intevolve_scheme_to_int
 
const std::map< std::string, intgrid_to_int
 
const std::map< std::string, intelectromagnetic_solver_algo_to_int
 
const std::map< std::string, intelectrostatic_solver_algo_to_int
 
const std::map< std::string, intpoisson_solver_algo_to_int
 
const std::map< std::string, intparticle_pusher_algo_to_int
 
const std::map< std::string, intcurrent_deposition_algo_to_int
 
const std::map< std::string, intcharge_deposition_algo_to_int
 
const std::map< std::string, intgathering_algo_to_int
 
const std::map< std::string, intpsatd_solution_type_to_int
 
const std::map< std::string, intJ_in_time_to_int
 
const std::map< std::string, intrho_in_time_to_int
 
const std::map< std::string, intload_balance_costs_update_algo_to_int
 
const std::map< std::string, intMaxwellSolver_medium_algo_to_int
 
const std::map< std::string, intMacroscopicSolver_algo_to_int
 
const std::map< std::string, FieldBoundaryTypeFieldBCType_algo_to_enum
 
const std::map< std::string, ParticleBoundaryTypeParticleBCType_algo_to_enum
 
const std::map< std::string, intReductionType_algo_to_int
 

Function Documentation

◆ GetAlgorithmInteger()

int GetAlgorithmInteger ( const amrex::ParmParse pp,
const char *  pp_search_key 
)

◆ GetFieldBCTypeInteger()

FieldBoundaryType GetFieldBCTypeInteger ( std::string  BCType)

Select BC Type for fields, if field=true else select BCType for particles.

◆ GetFieldBCTypeString()

std::string GetFieldBCTypeString ( FieldBoundaryType  fb_type)

Find the name associated with a BC type

◆ GetParticleBCTypeInteger()

ParticleBoundaryType GetParticleBCTypeInteger ( std::string  BCType)

Select BC Type for particles.

Variable Documentation

◆ charge_deposition_algo_to_int

const std::map<std::string, int> charge_deposition_algo_to_int
Initial value:
= {
}
@ Standard
Definition: WarpXAlgorithmSelection.H:111

◆ current_deposition_algo_to_int

const std::map<std::string, int> current_deposition_algo_to_int
Initial value:
= {
}
@ Vay
Definition: WarpXAlgorithmSelection.H:103
@ Direct
Definition: WarpXAlgorithmSelection.H:102
@ Villasenor
Definition: WarpXAlgorithmSelection.H:104
@ Esirkepov
Definition: WarpXAlgorithmSelection.H:101

◆ electromagnetic_solver_algo_to_int

const std::map<std::string, int> electromagnetic_solver_algo_to_int
Initial value:
= {
}
@ Yee
Definition: WarpXAlgorithmSelection.H:67
@ HybridPIC
Definition: WarpXAlgorithmSelection.H:71
@ CKC
Definition: WarpXAlgorithmSelection.H:68
@ ECT
Definition: WarpXAlgorithmSelection.H:70
@ None
Definition: WarpXAlgorithmSelection.H:66
@ PSATD
Definition: WarpXAlgorithmSelection.H:69

◆ electrostatic_solver_algo_to_int

const std::map<std::string, int> electrostatic_solver_algo_to_int
Initial value:
= {
{"labframe-electromagnetostatic", ElectrostaticSolverAlgo::LabFrameElectroMagnetostatic},
}
@ LabFrameElectroMagnetostatic
Definition: WarpXAlgorithmSelection.H:79
@ Relativistic
Definition: WarpXAlgorithmSelection.H:78
@ LabFrame
Definition: WarpXAlgorithmSelection.H:80
@ None
Definition: WarpXAlgorithmSelection.H:77

◆ evolve_scheme_to_int

const std::map<std::string, int> evolve_scheme_to_int
Initial value:
= {
{"explicit", EvolveScheme::Explicit },
{"implicit_picard", EvolveScheme::ImplicitPicard },
{"semi_implicit_picard", EvolveScheme::SemiImplicitPicard },
{"default", EvolveScheme::Explicit }
}
@ SemiImplicitPicard
Definition: WarpXAlgorithmSelection.H:33
@ Explicit
Definition: WarpXAlgorithmSelection.H:31
@ ImplicitPicard
Definition: WarpXAlgorithmSelection.H:32

◆ FieldBCType_algo_to_enum

const std::map<std::string, FieldBoundaryType> FieldBCType_algo_to_enum
Initial value:
= {
{"absorbing_silver_mueller", FieldBoundaryType::Absorbing_SilverMueller},
}
@ PMC
perfect magnetic conductor (PMC) with B_tangential=0
@ PEC
perfect electric conductor (PEC) with E_tangential=0

◆ gathering_algo_to_int

const std::map<std::string, int> gathering_algo_to_int
Initial value:
= {
{"energy-conserving", GatheringAlgo::EnergyConserving },
{"momentum-conserving", GatheringAlgo::MomentumConserving },
}
@ MomentumConserving
Definition: WarpXAlgorithmSelection.H:118
@ EnergyConserving
Definition: WarpXAlgorithmSelection.H:117

◆ grid_to_int

const std::map<std::string, int> grid_to_int
Initial value:
= {
{"collocated", GridType::Collocated},
{"staggered", GridType::Staggered},
{"hybrid", GridType::Hybrid},
{"default", GridType::Staggered}
}
@ Staggered
Definition: WarpXAlgorithmSelection.H:53
@ Collocated
Definition: WarpXAlgorithmSelection.H:52
@ Hybrid
Definition: WarpXAlgorithmSelection.H:54

◆ J_in_time_to_int

const std::map<std::string, int> J_in_time_to_int
Initial value:
= {
{"constant", JInTime::Constant},
{"linear", JInTime::Linear},
{"default", JInTime::Constant}
}
@ Linear
Definition: WarpXAlgorithmSelection.H:132
@ Constant
Definition: WarpXAlgorithmSelection.H:131

◆ load_balance_costs_update_algo_to_int

const std::map<std::string, int> load_balance_costs_update_algo_to_int
Initial value:
= {
}
@ Timers
load balance according to in-code timer-based weights (i.e., with costs)
Definition: WarpXAlgorithmSelection.H:147
@ Heuristic
Definition: WarpXAlgorithmSelection.H:148

◆ MacroscopicSolver_algo_to_int

const std::map<std::string, int> MacroscopicSolver_algo_to_int
Initial value:
= {
}
@ BackwardEuler
Definition: WarpXAlgorithmSelection.H:45
@ LaxWendroff
Definition: WarpXAlgorithmSelection.H:46

◆ MaxwellSolver_medium_algo_to_int

const std::map<std::string, int> MaxwellSolver_medium_algo_to_int
Initial value:
= {
{"vacuum", MediumForEM::Vacuum},
{"macroscopic", MediumForEM::Macroscopic},
{"default", MediumForEM::Vacuum}
}
@ Macroscopic
Definition: WarpXAlgorithmSelection.H:22
@ Vacuum
Definition: WarpXAlgorithmSelection.H:21

◆ particle_pusher_algo_to_int

const std::map<std::string, int> particle_pusher_algo_to_int
Initial value:
= {
}
@ HigueraCary
Definition: WarpXAlgorithmSelection.H:95
@ Boris
Definition: WarpXAlgorithmSelection.H:93
@ Vay
Definition: WarpXAlgorithmSelection.H:94

◆ ParticleBCType_algo_to_enum

const std::map<std::string, ParticleBoundaryType> ParticleBCType_algo_to_enum
Initial value:
= {
}
@ Absorbing
particles crossing domain boundary are removed
@ Reflecting
particles are reflected
@ Open
particles cross domain boundary leave with damped j
@ Periodic
particles are introduced from the periodic boundary

◆ poisson_solver_algo_to_int

const std::map<std::string, int> poisson_solver_algo_to_int
Initial value:
= {
}
@ IntegratedGreenFunction
Definition: WarpXAlgorithmSelection.H:87
@ Multigrid
Definition: WarpXAlgorithmSelection.H:86

◆ psatd_solution_type_to_int

const std::map<std::string, int> psatd_solution_type_to_int
Initial value:
= {
{"second-order", PSATDSolutionType::SecondOrder},
}
@ SecondOrder
Definition: WarpXAlgorithmSelection.H:125
@ FirstOrder
Definition: WarpXAlgorithmSelection.H:124

◆ ReductionType_algo_to_int

const std::map<std::string, int> ReductionType_algo_to_int
Initial value:
= {
{"maximum", ReductionType::Maximum},
{"minimum", ReductionType::Minimum},
{"integral", ReductionType::Sum}
}
@ Maximum
Definition: WarpXAlgorithmSelection.H:185
@ Sum
Definition: WarpXAlgorithmSelection.H:187
@ Minimum
Definition: WarpXAlgorithmSelection.H:186

◆ rho_in_time_to_int

const std::map<std::string, int> rho_in_time_to_int
Initial value:
= {
{"constant", RhoInTime::Constant},
{"linear", RhoInTime::Linear},
{"default", RhoInTime::Linear}
}
@ Linear
Definition: WarpXAlgorithmSelection.H:139
@ Constant
Definition: WarpXAlgorithmSelection.H:138