GSoC 2017: Development of FEniCS Wrapper for Julia Language
This article details the outcomes of a Google Summer of Code 2017 project focused on creating a software wrapper for the FEniCS Finite Element Toolbox within the Julia programming language. The primary objective was to enable users to perform Finite Element Method (FEM) calculations directly in Julia by leveraging PyCall.jl functionality. The project successfully wrapped main FEniCS functionalities, allowing for meshing, stiffness matrix assembly, and variational problem solving. The resulting package, FEniCS.jl, is hosted on GitHub and features an API that closely mirrors the original Pythonic interface, with minor adjustments. The development process involved creating macros for Julia types, defining linear algebra methods, and incorporating community contributions. While the core code has been merged, the author identifies further integration with the JuliaDiffEq package as a key area for future improvement. The article includes technical explanations of FEniCS, internal implementation details, and a code demonstration solving the Poisson equation, highlighting the tool's utility for scientific computing and partial differential equations.
Wire timeline
GSoC 2017: Development of FEniCS Wrapper for Julia Language
This article details the outcomes of a Google Summer of Code 2017 project focused on creating a software wrapper for the FEniCS Finite Element Toolbox within the Julia programming language. The primary objective was to enable users to perform Finite Element Method (FEM) calculations directly in Julia by leveraging PyCall.jl functionality. The project successfully wrapped main FEniCS functionalities, allowing for meshing, stiffness matrix assembly, and variational problem solving. The resulting package, FEniCS.jl, is hosted on GitHub and features an API that closely mirrors the original Pythonic interface, with minor adjustments. The development process involved creating macros for Julia types, defining linear algebra methods, and incorporating community contributions. While the core code has been merged, the author identifies further integration with the JuliaDiffEq package as a key area for future improvement. The article includes technical explanations of FEniCS, internal implementation details, and a code demonstration solving the Poisson equation, highlighting the tool's utility for scientific computing and partial differential equations.
JuliaLang - The Julia programming language