Forum Message

 

 

We have moved the forum to https://forum.ngsolve.org . This is an archived version of the topics until 05/05/23. All the topics were moved to the new forum and conversations can be continued there. This forum is just kept as legacy to not invalidate old links. If you want to continue a conversation just look for the topic in the new forum.

Notice

The forum is in read only mode.

ngs-petsc with complex numbers

More
4 years 2 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
More
4 years 2 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
More
4 years 2 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
More
4 years 2 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
More
4 years 2 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
More
4 years 1 month 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?
Time to create page: 0.124 seconds