Hello, I am a graduate student aiming to develop a 2D-3D simulation software for hydrology applications. I am using FEniCS on Jupyter notebook from my Windows subsystems Linux, which is running well. But, I want to look into the detail of the packages so that I can build my own library. Aside from mathmatical aspects, what kind of compter science subjects (e.g., C++ programming or software development?) help me understand the overall FEniCS project?
Thanks in advance!
Pretty much any undergraduate or graduate course in scientific computing (rather than computer science) is probably a sufficient foundation.
In my experience, after that, it’s like learning to play an instrument. Practice, experiment, study others’ works, make mistakes, and slowly get better over time. The theory is important, but practical application builds libraries. And a practical application motivates research of the additional methods and theory one needs.
Thank you for your quick reply. It helps me look for resources.
For those who are new to this fiied like me,
I looked for textbooks and online courses on scientific computing, it seems like there are no “best” ones. But, this page (Bibliography - Introduction to Parallel Computing and Scientific Computation) might help you find good resources.