WarpX
Loading...
Searching...
No Matches
EffectivePotentialES.H
Go to the documentation of this file.
1/* Copyright 2024-2025 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 (
40 );
41
42 void computePhi (
46 );
47
63 void computePhi (
67 amrex::Real required_precision,
68 amrex::Real absolute_tolerance,
69 int max_iters,
70 int verbosity
71 ) const;
72
74};
75
76#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 computePhi(ablastr::fields::MultiLevelScalarField const &rho, ablastr::fields::MultiLevelScalarField const &phi, ablastr::fields::MultiLevelVectorField const &efield)
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:36
bool m_overwrite_sigma
Definition EffectivePotentialES.H:73
void InitData() override
Definition EffectivePotentialES.cpp:20
void ComputeSigma(ablastr::fields::MultiLevelScalarField const &rho_fp)
Definition EffectivePotentialES.cpp:88
ElectrostaticSolver()=default
void ReadParameters()
Definition ElectrostaticSolver.cpp:30
Definition MultiFluidContainer.H:36
Definition MultiParticleContainer.H:69
amrex_real Real
amrex::Vector< ScalarField > MultiLevelScalarField
Definition MultiFabRegister.H:200
amrex::Vector< VectorField > MultiLevelVectorField
Definition MultiFabRegister.H:208
Definition MultiFabRegister.H:262