rewriting data structures and init (including Materials) functions
to accommodate CUDA solution for 2D array lists. All calls to data
will be conducted directly on device without memory alloc/dealloc
and memcpy repetitively
defined data structures easy to use on CUDA device; make a copy of
CalcDataPtrs: CalcDataPtrs_d; wrote allocation and free functions