|
libsim Versione 8.0.0
|
◆ volgrid_get_vol_3d()
Return a 3-d pointer to a x-y-z slice of a volume. This method works both with volumes having allocated and non-allocated thisvoldati array, and it returns a pointer to a 3-d slice either from the allocated thisvoldati array or from the grid_id object on file or in memory. In the second case the pointer should be either ALLOCATE'd to the expected size or NULLIFY'ed, and if NULLIFY'ed, it is allocated within the method, thus it will have to be deallocated by the caller when not in use anymore. Since this method may be called many times by a program, it is optimized for speed and it does not make any check about the matching size of the pointer and the array or about the allocation status of this, so it should be called only when everything has been checked to be in good shape.
Definizione alla linea 650 del file volgrid6d_class.F90. 651 ldescription=description
652else
653 ldescription="Volgrid6d generated by: "//trim(arg)
654end if
655
656if (.not. present(unit))then
657 lunit=getunit()
658else
659 if (unit==0)then
660 lunit=getunit()
661 unit=lunit
662 else
663 lunit=unit
664 end if
665end if
666
667lfilename=trim(arg)//".vg6d"
669
670if (present(filename))then
671 if (filename /= "")then
672 lfilename=filename
673 end if
674end if
675
676if (present(filename_auto))filename_auto=lfilename
677
678
679inquire(unit=lunit,opened=opened)
680if (.not. opened) then
681 inquire(file=lfilename,exist=exist)
682 if (exist) CALL raise_error('file exist; cannot open new file')
683 if (.not.exist) open (unit=lunit,file=lfilename,form="UNFORMATTED")
684 !print *, "opened: ",lfilename
|