Open-Source-3D-FEM-Löser für Elektromagnetik (Time-Harmonic Maxwell)

8

Ich habe mich gefragt, ob es gute (genaue / schnelle / einfach zu verwendende) Open-Source-FEM-Löser für die 3D-Zeitharmonischen Maxwell-Gleichungen gibt. Ich möchte Systeme simulieren, die einige Wellenlängen groß in den X / Y-Dimensionen und zehn Wellenlängen in der Z-Dimension sind, also relativ kleine Probleme. Alle meine Dielektrika sind homogen und perfekt rechteckig (Kästchen).

Ich habe online gesucht und verschiedene ausgereifte Open-Source-FEM-Pakete gefunden, aber sie scheinen Maxwell nicht zu unterstützen. Anregungen wäre sehr dankbar!

Costis
quelle
Haben Sie FEniCS ausprobiert?
Facetus

Antworten:

6

deal.II (siehe http://www.dealii.org/ ) unterstützt Nedelec-Elemente und kann folglich die Probleme lösen, an denen Sie interessiert sind. (Vollständiger Haftungsausschluss: Ich bin einer der Hauptentwickler von Deal .II.)

Wolfgang Bangerth
quelle
Danke, Prof. Bangerth! Hat deal.II eine integrierte Unterstützung für PML-Materialien oder müsste diese separat codiert werden?
Costis
deal.II implementiert keine bestimmte Gleichung oder Formulierung - es bietet nur die Werkzeuge, um dies zu tun. In Ihrem Fall müssen Sie also die bilineare Form angeben, die Sie lösen möchten. Ob dies die PML oder eine andere absorbierende Randbedingung umfasst, liegt bei Ihnen.
Wolfgang Bangerth
Unterstützt deal.ii heute komplexe Zahlen? Ich denke, es ist nützlich, weil das Lösen eines komplexen linearen Systems viel natürlicher ist als das Lösen des äquivalenten realen Systems doppelter Größe.
Hui Zhang
Nein, es werden immer noch zwei realwertige Systeme verwendet. Es ist einfach zu schwierig sicherzustellen, dass man zwischen Transponieren und Hermitian, den regulären und komplexen Punktprodukten usw. unterscheidet.
Wolfgang Bangerth
4

Hypre verfügt über mehrere integrierte Vorkonditionierer zum Lösen der Maxwell-Gleichungen. Es gibt mehrere Pakete, die eine Schnittstelle (Sie können hypre von PETSc verwenden) als Löser für lineare algebraische Systeme verwenden, aber es hat auch eine strukturierte Gitter- und Finite-Elemente-Schnittstelle.

Daniel Shapero
quelle