The source for the stressRefine library will been uploaded on my stressRefine google drive Monday. l’ll make it available on github also. This allows you to work p-adaptivity into existing finite element codes and will be the basis for the P-Fea course! This is open-source per the Gnu public library license (gpl). I’ll also upload source for an executable that uses the library. This is also open-source and free, and following the spirit of the Gnu-public license, may be freely used with the only restriction being it cannot to redistributed for a fee without my permission. But Jeremy Thieler of CAEplex, who has a lot more experience with open-source software than I, pointed out that it’s not appropriate to use the Gnu public library license for a code that makes use of proprietary software. And the stressRefine executable uses the Intel Mkl library. This is available free from Intel if you use their community license but is still proprietary to Intel. I’m looking into using an open-source sparse solver instead of Intel pardiso, which will alleviate this issue.
Since the “split” of stressRefine into library and executable went smoothly, I’ve decided to use that architecture going forward. Last post I said there were going to be two versions of the source, one complete as an executable, and one split into library and executable. But the library/executable version is cleaner and easier to support and has the same functionality, so I’ll just stick to that. I’ll be offering the “intermediate” and “full” versions of the executable shortly when I have them cleaned up. The simple version has some limitations: it is slower because it doesn’t use any multithreading, uses a more readable but less optimized element formulation, and it cannot do assemblies or local region analysis. It is best for learning the architecture. The other versions are more optimized but less readable, although I’ll provide good documentation for them.
The Sparselizard library
Jeremy also made me aware of the Sparselizard library. With an intriguing name like that I had to check it out. This is a p-adaptive, nonlinear, multi-physics finite element library developed by some smart people at the University of Liege in Belgium. It has other nice features like the mortar method that allow use of incompatible meshes. That method is similar to, but more general than, glued contact which is used for parts with incompatible meshes in assemblies. The mortar method is especially useful in multi-physics at domain interfaces (such as between fluids and solids). Sparselizard appears to be extremely fast, they mention solving 3D models with millions of degrees of freedom in minutes. All of this is very promising, so I’m going to investigate it in more detail over the next few weeks. I’d like to look into wrapping some of stressRefine’s specialized technologies for stress analysis, such as singularity detection and local region extraction, around the sparseLizard library. I’ll keep you posted how that goes. I’d also like to work examples from the sparseLizard library into my adaptive finite element course.
I’ll also post the first lesson for that course this week on Monday.
Sorry this is a little later than I’d originally promised, looking into the licensing issue slowed me down a but.