Ich denke, dass du für deine Zwecke gar kein 3D-Raster brauchst, sondern nur für jedes Atom ein Koordinatenpaar.
Wenn du das ganze objektorientiert machen willst, kannst du z.B. zu jedem Atom (x, y,z)-Koordinaten, Typ (Sauerstoff, Wasserstoff etc) und Bindungspartner speichern.
Dann musst du bei deiner Optimierung nur noch die einzelnen Atome ablaufen, und musst kein vollständiges 3D-Gitter durchlaufen.
Wenn es dir um die
Darstellung geht, würde ich dir empfehlen, das ganze als povray-Datei zu exportieren und povray das rendern zu überlassen, damit sollte ein Gitter auch nicht allzu schwer zu machen sein.