I am currently working on a project of building a simulator. Up till now I have mostly played around with very simple examples, but with regards to the future I have been thinking that it might be a good idea to use an external library for numerical computations, especially since I might also want to look into the possibility for parallelization.
So far I have used the Eigen library, which is very simple since you only need to include the appropriate header files and you are good to go. However, I am a bit uncertain about whether it is good enough in the long run? (versatility, speed etc.) Please correct me if you have used Eigen extensively and know I'm wrong! ;)
But anyway, my idea was to maybe learn to use one of the "big guns", Trilinos or Petsc, as I understand they are the most well regarded libraries. However, it seems like it might be a bit problematic to get everything to work on Windows? (using Visual Studio) From what I've found by googling and reading here, it seems there is an option compiling for Visual Studio using CMAKE, but I've found most of the user guides a bit confusing with regards to how well it will work, what possible ugly issues might turn up etc.
I guess my main question is: How easy will it be to set-up e.g. Trilinos for my current project? I mostly need code for doing linear algebra computations (vectors, sparse matrices etc.), possibly in parallel. There is also the issue of choosing the "right" mesh data structure, but maybe I should get those from elsewhere (or build my own, as I have so far).