PetrKryslUCSD / Elfel.jl

Extensible library for finite element programming
MIT License
14 stars 0 forks source link

`ElFel.jl` vs `FinEtools.jl` #3

Closed bhaveshshrimali closed 2 years ago

bhaveshshrimali commented 3 years ago

Hi @PetrKryslUCSD

I had come across both FinEtools and ElFel and wanted to get an understanding of what are the potential use cases for each?

For instance, FinEtools seems to be more mature and frequently mantained whereas ElFel seems simple and extendable. I am asking as a potential user who wants to implement and test new elements for applications in solid mechanics but at the same time for problems that are sufficiently large ( > 100k elements) and also, often, nonlinear.

Is implementing a new FESet in FinEtools or a new FE in ElFel the only step in the finite element pipeline required to implement new elements?

I understand that very large problems with millions on dofs may not be feasible without any sort of distributed memory parallelism. Currently I use either Abaqus-UEL or FEniCS for these.

Either of ElFel or FinEtools could be useful for me as a substitute for writing a UEL in Abaqus.

I also see multi-threading support in FinEtools which could prove useful in the FE assembly. I guess there is a lot to uncover but I would definitely like to know your views on the above queries.

PetrKryslUCSD commented 3 years ago

Hi,

I will come back to you on this next week. I will be off line this weekend.

P

On Thu, Jun 24, 2021 at 5:08 PM Bhavesh Shrimali @.***> wrote:

Hi @PetrKryslUCSD https://mailtrack.io/trace/link/3e639891208d69fc73664fe4f8c160b6340a80ea?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__github.com_PetrKryslUCSD%26d%3DDwMCaQ%26c%3D-35OiAkTchMrZOngvJPOeA%26r%3DwmZa8DC_MjOwlRvXmAmDBA%26m%3DL3eoAP1M192ZygVwljQ82LriAA6gcNrDGmFe3TIxA6A%26s%3D56iqMkORLF12yT2sABIh-QsDWK4BLouz3o4jjHkSgGg%26e%3D&userId=1197778&signature=43c806892a8db0af

I had come across both FinEtools and ElFel and wanted to get an understanding of what are the potential use cases for each?

For instance, FinEtools seems to be more mature and frequently mantained whereas ElFel seems simple and extendable. I am asking as a potential user who wants to implement and test new elements for applications in solid mechanics but at the same time for problems that are sufficiently large ( > 100k elements) and also, often, nonlinear.

Is implementing a new FESet in FinEtools or a new FE in ElFel the only step in the finite element pipeline required to implement new elements?

I understand that very large problems with millions on dofs may not be feasible without any sort of distributed memory parallelism. Currently for these, I either use Abaqus-UEL / FEniCS for these.

Either of ElFel or FinEtools could be useful for me as a substitute for writing a UEL in Abaqus.

I also see multi-threading support in FinEtools which could prove useful in the FE assembly. I guess there is a lot to uncover but I would definitely like to know your views on the above queries.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://mailtrack.io/trace/link/616b45d4e6685b98a0e6089139d08bf4f54b4b05?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__github.com_PetrKryslUCSD_Elfel.jl_issues_3%26d%3DDwMCaQ%26c%3D-35OiAkTchMrZOngvJPOeA%26r%3DwmZa8DC_MjOwlRvXmAmDBA%26m%3DL3eoAP1M192ZygVwljQ82LriAA6gcNrDGmFe3TIxA6A%26s%3D-L6S3tN5YYPODD0UB5rpJnUOmSYgz6gzUI3avrfd3FU%26e%3D&userId=1197778&signature=babcd54596a1e24a, or unsubscribe https://mailtrack.io/trace/link/c1497e354dd4a38a03c3df0f115b39996d2f9f63?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__github.com_notifications_unsubscribe-2Dauth_ACLGGWFM4MOOBFHSCZB7QSLTUPCJNANCNFSM47I3ODUA%26d%3DDwMCaQ%26c%3D-35OiAkTchMrZOngvJPOeA%26r%3DwmZa8DC_MjOwlRvXmAmDBA%26m%3DL3eoAP1M192ZygVwljQ82LriAA6gcNrDGmFe3TIxA6A%26s%3DBJfyakc9GcgLKn0oJsuAEnKwLur3tFZiO3Vod1ij3gE%26e%3D&userId=1197778&signature=c1eddb1dfd744f28 .

bhaveshshrimali commented 3 years ago

Thanks. No hurries at my end.

PetrKryslUCSD commented 3 years ago

FinEtools or Elfel? It depends on the goals. I have developed both to support my research. Right now I work on something for which FinEtools is more convenient, and hence it picked up some recent improvements. Before then I was using Elfel for another research project.

FinEtools packages up the functionality into finite element model machines. Elfel design philosophy is different: instead of providing packaged functionality, the user is free to implement his or her own discrete forms.

bhaveshshrimali commented 3 years ago

Thanks @PetrKryslUCSD I will take a look at Elfel more closely. I really like the simple (and extensible) design.:)

I will start with some simple problems in hyperelasticity to get a feel for the package and then take it from there. Thanks!