ngs-petsc with complex numbers

More
2 years 4 months ago #2349 by JuliusZ
Dear NGSolve / ngs-petsc developers,

I managed to compile ngs-petsc using petsc with real numbers. However, I would like to also use complex numbers. When I tried to compile ngs-petsc with petsc using complex numbers, the compilation failed.
Am I right that this interface is currently not implemented? Are there any plans to implement this or is there anything speaking against this?

Thank you for your reply!

Best,
Julius

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2352 by lkogler
You are right, I have not touched the complex case at all yet.

In principle, I do not think it would be hard to handle the complex case. I have not done it yet mostly because I do not know how to make the complex and the real interface work at the same time.

I will try it out sometime this week or next, if I do not run into troubles it should be available in the GitHub at some point.

Best,
Lukas
The following user(s) said Thank You: JuliusZ

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2353 by JuliusZ
That's great to hear! Thank you very much!
Please let me know if I can somehow contribute to this (with an example or even to the code basis).

Best,
Julius

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2358 by lkogler
I have push a new branch, "complex", to the github repo.

You must set -DPETSC_COMPLEX=ON, and the complex version of the interface will be built.
(Compiling will throw an error when it tries to compile against a real PETSc installation when this is turned on, or if it finds a complex one when it is turned off)

You can have the real and complex interfaces installed at the same time, one will be called "ngs_petsc" and the other "ngs_petsc_complex".

Unfortunately:
1) You cannot load both at the same time
2) When you a complex and a real PETSc installation at the same time, you have to be careful with your LD_LIBRARY_PATH/PETSC_ARCH/PETSC_DIR environment variables! For me, loading ngs_petsc when the complex libraries take priority will not produce an error but garbage output!


Best, Lukas

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2360 by JuliusZ
That's awesome! I could compile and run the example. I will now try to implement my own examples. Thank you very much!

Best,
Julius

Please Log in or Create an account to join the conversation.

More
2 years 4 months ago #2430 by gcdiwan
Hi Lukas
I think i am missing something when you say the complex petsc interface should get built automatically. I have the option DPETSC_COMPLEX=ON but cmake warns it's not being used. Do i have to specify where the ngsolve-petsc is located?

Please Log in or Create an account to join the conversation.

Time to create page: 0.132 seconds