GPU-Fähige Gitterdatenstruktur

Rechnen aber vorerst noch auf der CPU, solange andere komponenten noch nicht GPU-fähig sind.

In der ersten Iteration sollte die Struktur folgendes bereitstellen:

  • Vertexkoordinaten
  • Konnektivität (wie komme ich von einem Element andan die Vertices an den Ecken des Elements)

Im lokalen Operator (nonlinearpoissonfem.hh) kann zum testen dieser Struktur die jacobian_apply_volume()-Funktion angepasst werden (eventuell bei Bedarf eine zweite Variante dieser Funktion anlegen). Angepasst werden sollte die Argumentliste, so das statt des Dune-Elements eure Element-Information da rein kommt. (Mögliche Element-Information wären pointer auf die eure Gitter-Information(en) sowie der Index des Elements, oder alternativ ein Container mit den Kantenkoordinaten. Das genaue Interface ist in diesem Schritt erstmal noch nicht so wichtig...)

In gridoperator.hh in der Funktion nonlinear_jacobian_apply() muß dann die native Dune-Gitterdaten in eure eigene Datenstruktur kopiert werden, dann müßt Ihr über die Elemente eurer Gitterdatenstruktur iterieren und den Aufruf von jacobian_apply_volume() auf euer geändertes Interface anpassen.

Blockiert von:

Edited by Dr. Jorrit Fahlke