WarpX
Loading...
Searching...
No Matches
EffectivePotentialES.H
Go to the documentation of this file.
1/* Copyright 2024 The WarpX Community
2 *
3 * This file is part of WarpX.
4 *
5 * Authors: Roelof Groenewald (TAE Technologies)
6 *
7 * License: BSD-3-Clause-LBNL
8 */
9
10#ifndef WARPX_EFFECTIVEPOTENTIALES_H_
11#define WARPX_EFFECTIVEPOTENTIALES_H_
12
13#include "ElectrostaticSolver.H"
14
17
19{
20public:
21
22 EffectivePotentialES (int nlevs_max) : ElectrostaticSolver (nlevs_max) {
25 (nlevs_max == 1),
26 "Effective potential electrostatic solver only supports one level at present"
27 );
28 }
29
30 void InitData () override;
31
36 int max_level) override;
37
38 void ComputeSigma ( amrex::MultiFab& sigma ) const;
39
40 void computePhi (
44 ) const;
45
62 void computePhi (
66 amrex::MultiFab const& sigma,
67 amrex::Real required_precision,
68 amrex::Real absolute_tolerance,
69 int max_iters,
70 int verbosity
71 ) const;
72};
73
74#endif // WARPX_EFFECTIVEPOTENTIALES_H_
#define WARPX_ALWAYS_ASSERT_WITH_MESSAGE(EX, MSG)
Definition TextMsg.H:13
EffectivePotentialES(int nlevs_max)
Definition EffectivePotentialES.H:22
void ComputeSigma(amrex::MultiFab &sigma) const
Definition EffectivePotentialES.cpp:96
void computePhi(ablastr::fields::MultiLevelScalarField const &rho, ablastr::fields::MultiLevelScalarField const &phi, ablastr::fields::MultiLevelVectorField const &efield) const
Definition EffectivePotentialES.cpp:77
void ComputeSpaceChargeField(ablastr::fields::MultiFabRegister &fields, MultiParticleContainer &mpc, MultiFluidContainer *mfl, int max_level) override
Computes charge density, rho, and solves Poisson's equation to obtain the associated electrostatic po...
Definition EffectivePotentialES.cpp:25
void InitData() override
Definition EffectivePotentialES.cpp:20
ElectrostaticSolver()=default
void ReadParameters()
Definition ElectrostaticSolver.cpp:30
Definition MultiFluidContainer.H:36
Definition MultiParticleContainer.H:68
amrex::Vector< ScalarField > MultiLevelScalarField
Definition MultiFabRegister.H:200
amrex::Vector< VectorField > MultiLevelVectorField
Definition MultiFabRegister.H:208
Definition MultiFabRegister.H:262