Inheritance

Following the DRY principle, torusgrid uses multiple inheritance to ensure that the same functionality is implemented only once. So, for example, RealGrid1D has RealGrid and Grid1D as base classes, where the latter is an abstract base class for 1D grid interfaces. The complete inheritance diagram is shown below.

Inheritance diagram of torusgrid.Grid1D, torusgrid.Grid2D, torusgrid.ComplexGrid, torusgrid.ComplexGrid1D, torusgrid.ComplexGrid2D, torusgrid.RealGrid, torusgrid.RealGrid1D, torusgrid.RealGrid2D, torusgrid.Field, torusgrid.Field1D, torusgrid.Field2D, torusgrid.ComplexField, torusgrid.ComplexField1D, torusgrid.ComplexField2D, torusgrid.RealField, torusgrid.RealField1D, torusgrid.RealField2D