IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
NonStandardFDTDSolver.h
Go to the documentation of this file.
1
11#ifndef IPPL_NON_STANDARD_FDTD_SOLVER_H
12#define IPPL_NON_STANDARD_FDTD_SOLVER_H
13
14#include <cstddef>
15using std::size_t;
16#include "Types/Vector.h"
17
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"
24
25namespace ippl {
26
37 template <typename EMField, typename SourceField, fdtd_bc boundary_conditions = periodic>
38 class NonStandardFDTDSolver : public FDTDSolverBase<EMField, SourceField, boundary_conditions> {
39 public:
47 NonStandardFDTDSolver(SourceField& source, EMField& E, EMField& B);
48
49 constexpr static unsigned Dim = EMField::dim; // Dimension of the electromagnetic field.
50 using scalar = typename EMField::value_type::value_type; // Scalar type used in the
51 // electromagnetic field.
52 using Vector_t = Vector<typename EMField::value_type::value_type,
53 Dim>; // Vector type used in the electromagnetic field.
54 using SourceVector_t =
55 typename SourceField::value_type; // Vector type used in the source field.
56
66 template <typename scalar>
68 scalar a1;
69 scalar a2;
70 scalar a4;
71 scalar a6;
72 scalar a8;
73 };
74
78 void step() override;
82 void initialize() override;
83 };
84} // namespace ippl
85
87#endif
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
Definition Archive.h:20
A structure representing nondispersive coefficients.
Definition NonStandardFDTDSolver.h:67