From 9035ee165054e25aedf98d97f16786d8d5f2965a Mon Sep 17 00:00:00 2001 From: Remi Lehe Date: Fri, 10 Jan 2020 10:52:31 -0800 Subject: Started implementing finite difference solver Added Yee algorithm --- .../FiniteDifferenceSolver/FiniteDifferenceSolver.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp (limited to 'Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp') 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 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"); + } +}; -- cgit v1.2.3