mfem / mfem

Lightweight, general, scalable C++ library for finite element methods
http://mfem.org
BSD 3-Clause "New" or "Revised" License
1.68k stars 489 forks source link

more than three dimensional FEM ? #4140

Open AIBSCT80 opened 7 months ago

AIBSCT80 commented 7 months ago

Hi, May I ask if MFEM can perform fem higher than three dimension?

Thanks

tzanio commented 7 months ago

Not with the official release, but there is a 4D branch: https://github.com/mfem/mfem/tree/4d_dev.

AIBSCT80 commented 7 months ago

Thanks a lot @tzanio . It seems this branch is about 3 years old. I saw in the examples:

ex1_4d.cpp, ex3_4d.cpp, ex4D_DivSkew.cpp

These seem 4D test examples.

Thank you for pointing out this resources. It is very helpful!

aschaf commented 7 months ago

Hi @AIBSCT80, what is your application of interest for 4D fem?

AIBSCT80 commented 7 months ago

Hi aschaf, thank you for your help. It is not necessarily 4D, might be larger than 4D, but it is a good starting point from 4D.. Just a simple high dimension Laplacian to solve. Thanks

aschaf commented 7 months ago

Then you should be fine, also ex1 and ex1p can solve the Laplacian in 4 dimensions, you just have to provide the right mesh, e.g. data/cube4d_96.MFEM. Note that we currently only have simplex meshes, and for refinement we use bisection, so one call of mesh.UniformRefine() performs just a uniform bisection. If you want to generate some 4d mesh from a 3d mesh by extrusion, you can find the constructor in ex14 .

AIBSCT80 commented 7 months ago

Thank you aschaf, This is really a great help. I will try this and report soon. Many thanks. Is there also a routine to visualize the simulation results on 4D meshes in one of those examples?

aschaf commented 7 months ago

I think there are none in the PR, but I recall implementing a visualization routine. I will look for it and post it here.

aschaf commented 7 months ago

I found some code, however it only can crudely visualize cuts with the xyz-hyperplane for uniformly spaced points 0 <= x_4 <= T. Would that be something you need?

AIBSCT80 commented 7 months ago

Hi Aschaf, it is not urgent to visualize the solutions. I first need some time to practice the 4D fem code for the laplace in high dimension. This will take a while. Many thanks.

psaber09 commented 5 months ago

Hello @aschaf. I am a graduate student at Penn State, under the supervision of Dr. David Williams. I am looking to add high-order functionality to the 4d_dev branch. Would you be willing to setup a Zoom meeting to further discuss?

IdoAkkerman commented 5 months ago

@psaber09 @aschaf FYI: It has been on the back burner a bit but I am still interested as well. I would be interested in adding 4 NURBS (also the Hdiv and Hcurl variety)

aschaf commented 5 months ago

Hi @psaber09, sure. When do you have time? I am in CEST, so I guess we have a 6h difference.

psaber09 commented 4 months ago

@aschaf, sorry for the delay. Would next week 4pm CEST either Monday, Tuesday or Thursday work?

psaber09 commented 4 months ago

@aschaf 5pm CEST also works

aschaf commented 4 months ago

@psaber09 No problem, however I am quite busy this week, lets aim for next week Wednesday, if that would still work for you.

psaber09 commented 4 months ago

My advisor is traveling next week and I would like him to be able to attend. Could be meet either May 28th or May 29th?

aschaf commented 4 months ago

Sure no problem, lets aim for May 29th at 4pm CST?

psaber09 commented 4 months ago

@aschaf Great, If you provide an email address I will send a meeting invite with a zoom link.

psaber09 commented 4 months ago

@aschaf maybe we can communicate easier over email, you can reach me at pfs5290@psu.edu