7#ifndef THETA_IMPLICIT_EM_H_
8#define THETA_IMPLICIT_EM_H_
77 void OneStep ( amrex::Real start_time,
79 int a_step )
override;
83 amrex::Real start_time,
85 bool a_from_jacobian )
override;
108 amrex::Real start_time );
amrex::Real m_theta
Time-biasing parameter for fields used on RHS to advance system.
Definition ImplicitSolver.H:133
void Define(WarpX *a_WarpX) override
Read user-provided parameters that control the implicit solver. Allocate internal arrays for intermed...
Definition ThetaImplicitEM.cpp:15
ThetaImplicitEM()=default
WarpXSolverVec m_Eold
Definition ThetaImplicitEM.H:102
void ComputeRHS(WarpXSolverVec &a_RHS, const WarpXSolverVec &a_E, amrex::Real start_time, int a_nl_iter, bool a_from_jacobian) override
Computes the RHS of the equation corresponding to the specified implicit algorithm....
Definition ThetaImplicitEM.cpp:127
void OneStep(amrex::Real start_time, amrex::Real a_dt, int a_step) override
Advances the simulation one time step.
Definition ThetaImplicitEM.cpp:79
WarpXSolverVec m_E
Solver vectors to be used in the nonlinear solver to solve for the electric field E....
Definition ThetaImplicitEM.H:102
void FinishFieldUpdate(amrex::Real end_time)
Nonlinear solver is for the time-centered values of E. After the solver, need to use m_E and m_Eold t...
Definition ThetaImplicitEM.cpp:163
void PrintParameters() const override
Definition ThetaImplicitEM.cpp:64
ThetaImplicitEM(ThetaImplicitEM &&)=delete
~ThetaImplicitEM() override=default
ThetaImplicitEM & operator=(ThetaImplicitEM &&)=delete
virtual amrex::Real GetThetaForPC() const override
Definition ThetaImplicitEM.H:90
ThetaImplicitEM(const ThetaImplicitEM &)=delete
ThetaImplicitEM & operator=(const ThetaImplicitEM &)=delete
void UpdateWarpXFields(const WarpXSolverVec &a_E, amrex::Real start_time)
Update the E and B fields owned by WarpX.
Definition ThetaImplicitEM.cpp:148
This is a wrapper class around a Vector of pointers to MultiFabs that contains basic math operators a...
Definition WarpXSolverVec.H:58