40 REAL,
DIMENSION(:,:,:),
POINTER :: &
44 REAL,
DIMENSION(:,:,:,:),
POINTER :: &
66 print *,
"DEBUG INFO in marray_cellscalar::CreateMArray_cellscalar: creating new cellscalar"
69 IF (new_cs%Init(16))
return
71 print *,
"ERROR in marray_cellscalar::CreateMArray: cellscalar initialization failed"
83 print *,
"DEBUG INFO in marray_cellscalar::AssignPointers: assigning pointers"
85 success = this%marray_base%AssignPointers()
88 this%center => this%RemapBounds(this%data4d(:,:,:,1))
89 this%bcenter => this%RemapBounds(this%data4d(:,:,:,2))
90 this%faces => this%RemapBounds(this%data4d(:,:,:,3:8))
91 this%corners => this%RemapBounds(this%data4d(:,:,:,9:16))
94 print *,
"ERROR in marray_cellscalar::AssignPointers: pointer assignment failed"
104 LOGICAL,
OPTIONAL :: called_from_finalize
107 print *,
"DEBUG INFO in marray_cellscalar::Destroy: nullify pointers"
109 NULLIFY(this%center,this%bcenter,this%faces,this%corners)
111 IF (
PRESENT(called_from_finalize))
THEN
112 IF (called_from_finalize)
RETURN
114 CALL this%marray_base%Destroy()
124 print *,
"DEBUG INFO in marray_cellscalar::Finalize called"
126 CALL this%Destroy(.true.)
base class for mesh arrays
logical function assignpointers(this)
assign pointers of different shapes to the 1D data
subroutine finalize(this)
subroutine destroy(this, called_from_finalize)
basic destructor of mesh arrays - this is called automatically if deallocate is invoked
derived mesh array class for scalar cell data
type(marray_cellscalar) function createmarray_cellscalar()