su2code / SU2

SU2: An Open-Source Suite for Multiphysics Simulation and Design
https://su2code.github.io
Other
1.35k stars 842 forks source link

Electromagnetic MHD Module #741

Closed WenyinWei closed 4 years ago

WenyinWei commented 5 years ago

Is your feature request related to a problem? Please describe.

Hello guys,

Have you ever heard about MHD(magnetohydrodynamics) simulation? That's used in plasma physics with the hypothesis that most of the particles in a control volume have the same velocity. However, the atoms' first electrons are stripped and, hence, magnetic field confinement to the plasma is possible due to ions and electrons' net charge. Moreover, due to the huge mass difference between ion and electron, they are normally treated as two-fluid interacting with each other.

The most successful MHD code is produced by PPPL, but not open source. I want to base on SU2 to make a flexible one. Do you think a feature_* or develop branch is better?

feature_ExMHD(extended MHD) may be a good branch name?

Describe alternatives you've considered If there already exists the relevant module concerning the electromagnetic content, please let me know. Importantly, if there exists a chemical diffusion problem solver, it would reduce my coding time significantly by imitating the code.

If anyone can give some guidance on how to change the governing equations quickly and safely, please inform me.

WenyinWei commented 5 years ago

Surprisingly I have found the existing content related to plasma simulation in SU2. Really amazing. Could anyone give me any clues of the correspondent .cfg files? Or help me find the governing equations change which makes the plasma equations different from the neutral gas.

image

It already seems good enough at considering E field, but B is omitted. I can strive to supplement the equation. Could anyone give some guidance to me, a newcomer of SU2?

Stanford University Unstructured An open-source integrated computational environment for multi-physics simula.pdf

clarkpede commented 5 years ago

You may find the comments on issue #655 helpful. Do the comments there answer your question?

In case you were not aware, many questions can be answered by searching past issues and pull requests on Github. To search past issues, go to the "Issues" tab on github, then type your query in the search bar. To search both open and closed issues, you'll want to remove the "is:open" filter that's included by default. For example, searching for "is:issue plasma" gives me two results, this issue and issue #655. Searching for "is:issue CMake" gives me issue #685 as the top result.

To search pull requests, you can do the same from the "Pull Requests" page. The same "is:open" and "is:closed" filters apply there as well. To search open, closed, and merged pull requests, you'll want to remove the "is:closed" filter.

You can also search for both pull requests and issues from either search bar. You just need to remove the "is:pr" or "is:issue" tags.

WenyinWei commented 5 years ago

Thanks for your kindly reply, Clark. It is a good habit to have a search before asking, and I should keep it.

"feature-AdjTNE2" seems to be a good example to learn from how to edit the kernel of governing equations. I would try to deepen the utilities of electromagnetic computation.

And I have found the commit that deleting all plasma computational relevant content. 45c2a63d1a0773dd2e9ca05b5a1798ea575d47f8 Anybody willing to tell me why we delete that part? Too complicated to handle?

WenyinWei commented 5 years ago

I found SU2-NEMO branch is executing a multi-species work and have an MHD potential, I should join them. Hello @economon, it seems that NEMO relies heavily on Mutation to control species transform. Would you mind introducing to me how to let them incorporate well manually? Or I can contribute to embedding the Mutation in the make streamline of SU2. In fact, Mutation is not necessary (at least not urgently needed in fully ionized plasma) due to the fact that the neutral gas percentage is too low in it, with no need to calculate the transform between ions and neutrals. On the other hand, B magnetic field has to be considered, cause that is the essential reason why plasma bursts some many varieties of charming phenomena.

WenyinWei commented 5 years ago

For the confinement of plasma, an external EM module is probably necessary for simulation work, helping with ensuring the EM background that plasma feels. Here are some EM module candidates, I will supplement more in a few days.

Library Language MPI support Comments License Method
openEMS -- -- -- GNU GPL, Version 3 or later FDTD
EMTL C++ YES -- FDTD
gprMAX Python3 + Cython YES Support GPU FDTD
Elmer FEM -- -- -- FDTD
FVTD

Surprisingly I have not found any open-source electromagnetic coupled library in FVTD method. The best way may be implementing the EM module directly inside SU2.

economon commented 5 years ago

Hi @WenyinWei : if they have some time, I think that @WallyMaier and @MarcoFossati could fill you in on their approach with the TNE2 branch and NEMO (the idea is for those branches to be merged). @MarcoFossati and one of his students have been coupling Mutation++ to SU2 and have been making nice progress.

For the work you cite some time ago in our group at Stanford, Maxwell's equations were solved directly in SU2 (well perhaps just a subset, Gauss's law, if I remember correctly). That work should still be in the git history back in v1.0 or v2.0, I think. Should be able to find it with some searching.

MarcoFossati commented 5 years ago

Dear @WenyinWei: presently Mutation is already fully linked to SU2 and is not only something that will allow to deal nicely with chemical reactions, but it presently also used to get all the species/mixture thermochemical properties (including ions and free electrons) and to address thermal non equilibrium (i.e. multiple-temperatures) by incorporating characteristic vibrational and electronic temperatures for various species.

We still have not pushed the latest developments in NEMO-TNE2 since we are finalizing some verification and validation test cases and producing appropriate documentation to be added on the SU2 webpage. @srcopela already created a nice substrate for all these features now we are trying to put this up to speed with the latest SU2 versions and capabilities and go beyond that with additional capabilities.

Introducing MHD is definitely something on our roadmap, but something that will come after we have completed our merging of TNE2+NEMO and we have one solid feature with thermochemical nonequilibrium.

WenyinWei commented 5 years ago

Thank all for your kindly reply. I might first try to expand the Gauss equation in SU2 to complete Maxwell equations. After we finish our parts respectively, I can combine EM equations with your plasma equations together.

Let me dive into SU2 code, need more time to understand its framework.

WenyinWei commented 5 years ago

Hello guys, maybe I know why only the Gauss equation is achieved in SU2. That is due to the lack of a kind of appropriate numerical scheme of vorticity, right? I have not found the vorticity scheme in CNumerics and doc.

WallyMaier commented 5 years ago

Hiya! I am not completely sure why at the moment. But If that's the case, it is doable to implement the correct scheme required, I would think!

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

WenyinWei commented 5 years ago

In progress, I will finish the job in 2 or 3 months.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is still a relevant issue please comment on it to restart the discussion. Thank you for your contributions.

Gcubed333 commented 1 year ago

@WenyinWei, did you end up finishing that MHD module? I see that SU2-NEMO is in the current version of SU2, but it doesn't look like Maxwell's equations are mentioned in SU2's theory documents.

Please let me know if you finished it and would be willing to send it my way.

Thanks!