View Code? Open in Web Editor
NEW
fdtd3d is an open source 1D, 2D, 3D FDTD electromagnetics solver with MPI, OpenMP and CUDA support for x64, ARM, ARM64, RISC-V, PowerPC architectures
License: GNU General Public License v2.0
C++ 82.94%
CMake 2.02%
C 0.76%
Cuda 3.38%
Shell 10.91%
fdtd3d's People
Contributors
fdtd3d's Issues
3D parallel grid fails to share in yz and xyz modes
Cuda kernels should return CUDA_STATUS_ERROR if thread block or index are above grid size
I.e. "y" for 1D or "xz", "yz" for 2D, etc.
Add metamaterials for 2D modes
Add build flags for debug and release builds
Add support on non-square 2-dimensional parallel buffers for 2D and 3D grids and non-qubical 3-dimensional parallel buffers for 3D grids.
Reflection from right border takes place. Add pml for 1D grid
Choose compile and link flags for code checks and best performance.
Allocate memory for copy to cuda kernels only once before execution of cuda kernels
Add dumper and loader for 3D grids
Add concurrency (MPI) for 3D mode
Investigate other PML layers than UPML
Implement gatherer of grid from all nodes
Add UPML for 3D mode solver
Check dumper printed grid size
Access grid elements with getFieldPointValue by absolute coordinate and check that coordinate corresponds to this process
Investigate 4th order accuracy for fdtd method
Not all code is covered with ifdef. Fix it
Add total field/scattering field for 2D mode
Parallel share could be unified more
Do not initialize buffers for border nodes of grid
Results of material fully in grid of single node and share are not the same
Add simple 3D mode solver
Pass grid coordinate to dumper/loader specifying what part of grid to save/load
Add total field/scattering field for 3D move solver
TMz has missing dump for Ez from time to time
Fix code style using vera++.
sm_50 is hard coded in CMakeLists.txt
Add 3D mode metamaterials
Every node allocates node size plus size of buffers. Some nodes do not need some buffers, fix this
Improve processTo and processFrom in parallel grid
Replace single .cpp file for solver by additional files.
Move to C++
...
Dumper chooses wrong colors for grid points. Investigate