diff options
author | 2020-01-10 10:52:31 -0800 | |
---|---|---|
committer | 2020-01-10 13:45:11 -0800 | |
commit | 9035ee165054e25aedf98d97f16786d8d5f2965a (patch) | |
tree | 0f0aafafbe0361ec78410dce5aa0491135cde17e /Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp | |
parent | 160d752af70ec454c7b220705378c42e0df9b29a (diff) | |
download | WarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.tar.gz WarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.tar.zst WarpX-9035ee165054e25aedf98d97f16786d8d5f2965a.zip |
Started implementing finite difference solver
Added Yee algorithm
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp')
-rw-r--r-- | Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp new file mode 100644 index 000000000..a146b66b1 --- /dev/null +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp @@ -0,0 +1,15 @@ + + +void FiniteDifferenceSolver::FiniteDifferenceSolver ( std::array<Real,3> cell_size ) { + // Select algorithm (The choice of algorithm is a runtime option, + // but we compile code for each algorithm, using templates) + if (fdtd_algo == MaxwellSolverAlgo::Yee){ + YeeAlgorithm::InitializeStencilCoefficients( cell_size, + stencil_coefs_x, stencil_coefs_y, stencil_coefs_z ); + } else if (fdtd_algo == MaxwellSolverAlgo::CKC) { + CKCAlgorithm::InitializeStencilCoefficients( cell_size, + stencil_coefs_x, stencil_coefs_y, stencil_coefs_z ); + } else { + amrex::Abort("Unknown algorithm"); + } +}; |