GSoC 2017: Efficient Discretizations of PDE Operators in Julia
This article details a Google Summer of Code (GSoC) 2017 project focused on enhancing the JuliaDiffEq ecosystem by developing efficient discretizations for Partial Differential Equation (PDE) operators. The project introduces DiffEqOperators.jl, a new package that utilizes the Finite Difference Method (FDM) rather than Finite Element or Volume methods, addressing a gap in existing toolboxes. FDM was selected for its computational efficiency in problems with simple geometry, as it avoids expensive matrix multiplications by using linear transformations to achieve optimal O(n) time complexity. The package converts PDEs into Ordinary Differential Equations (ODEs), allowing them to be solved by existing ODE solvers. It features DerivativeOperator for central differencing and UpwindOperators for one-sided schemes, supporting various boundary conditions including Dirichlet, Neumann, Periodic, and Robin. This development significantly improves the performance and capability of scientific computing within the Julia programming language, providing researchers and developers with faster tools for numerical simulations.
Wire timeline
GSoC 2017: Efficient Discretizations of PDE Operators in Julia
This article details a Google Summer of Code (GSoC) 2017 project focused on enhancing the JuliaDiffEq ecosystem by developing efficient discretizations for Partial Differential Equation (PDE) operators. The project introduces DiffEqOperators.jl, a new package that utilizes the Finite Difference Method (FDM) rather than Finite Element or Volume methods, addressing a gap in existing toolboxes. FDM was selected for its computational efficiency in problems with simple geometry, as it avoids expensive matrix multiplications by using linear transformations to achieve optimal O(n) time complexity. The package converts PDEs into Ordinary Differential Equations (ODEs), allowing them to be solved by existing ODE solvers. It features DerivativeOperator for central differencing and UpwindOperators for one-sided schemes, supporting various boundary conditions including Dirichlet, Neumann, Periodic, and Robin. This development significantly improves the performance and capability of scientific computing within the Julia programming language, providing researchers and developers with faster tools for numerical simulations.
JuliaLang - The Julia programming language