11#ifndef IPPL_NON_STANDARD_FDTD_SOLVER_H
12#define IPPL_NON_STANDARD_FDTD_SOLVER_H
18#include "FieldLayout/FieldLayout.h"
19#include "MaxwellSolvers/AbsorbingBC.h"
20#include "MaxwellSolvers/FDTDSolverBase.h"
21#include "MaxwellSolvers/Maxwell.h"
22#include "Meshes/UniformCartesian.h"
23#include "Particle/ParticleBase.h"
37 template <
typename EMField,
typename SourceField, fdtd_bc boundary_conditions = periodic>
49 constexpr static unsigned Dim = EMField::dim;
50 using scalar =
typename EMField::value_type::value_type;
54 using SourceVector_t =
55 typename SourceField::value_type;
66 template <
typename scalar>
Impelmentation of the NonStandardFDTDSolver class functions.
Base class for FDTD solvers in the ippl library.
Definition FDTDSolverBase.h:28
A solver for Maxwell's equations using a non-standard Finite-Difference Time-Domain (FDTD) method.
Definition NonStandardFDTDSolver.h:38
void step() override
Advances the simulation by one time step.
Definition NonStandardFDTDSolver.hpp:28
void initialize() override
Initializes the solver.
Definition NonStandardFDTDSolver.hpp:107
A structure representing nondispersive coefficients.
Definition NonStandardFDTDSolver.h:67