base class for mesh arrays More...
Data Types | |
interface | marray_base |
basic mesh array class More... | |
interface | selection_base |
type for selecting parts of an marray More... | |
Public Attributes | |
mesh indices | |
integer, save | igmin |
integer, save | igmax |
1st dim More... | |
integer, save | jgmin |
integer, save | jgmax |
2nd dim More... | |
integer, save | kgmin |
integer, save | kgmax |
3rd dim More... | |
integer, save | inum |
integer, save | jnum |
integer, save | knum |
array sizes More... | |
logical, save | idx_init = .FALSE. |
init status More... | |
Methods | |
type(marray_base) function | createmarray (m, n) |
constructor for mesh arrays More... | |
logical function | init (this, m, n) |
basic initialization of mesh array class More... | |
subroutine, public | initmeshproperties (igmin_, igmax_, jgmin_, jgmax_, kgmin_, kgmax_) |
sets global mesh properties More... | |
subroutine, public | closemeshproperties |
unsets global mesh properties More... | |
logical function | assignpointers (this) |
assign pointers of different shapes to the 1D data More... | |
real function, dimension(:,:,:), pointer | remapbounds_0 (this, array) |
remap lower bounds in the first 3 dimensions of rank 0 mesh arrays More... | |
real function, dimension(:,:,:,:), pointer | remapbounds_1 (this, array) |
remap lower bounds in the first 3 dimensions of rank 1 mesh arrays More... | |
real function, dimension(:,:,:,:,:), pointer | remapbounds_2 (this, array) |
remap lower bounds in the first 3 dimensions of rank 2 mesh arrays More... | |
subroutine | assignmarray_0 (this, ma) |
assigns one mesh array to another mesh array More... | |
subroutine | assignmarray_1 (this, a) |
assign 1D fortran array to mesh array More... | |
subroutine | assignmarray_2 (this, a) |
assign 2D fortran array to mesh array More... | |
subroutine | assignmarray_3 (this, a) |
assign 3D fortran array to mesh array More... | |
subroutine | assignmarray_4 (this, a) |
assign 4D fortran array to mesh array More... | |
subroutine | assignmarray_5 (this, a) |
assign 5D fortran array to mesh array More... | |
pure logical function | shapesmatch (this, that) |
real function, dimension(size(this%data1d)) | addmarray_0 (this, that) |
add 2 mesh arrays More... | |
real function, dimension(size(this%data1d)) | addmarray_1 (this, a) |
add 1D fortran array and mesh array More... | |
real function, dimension(size(this%data2d, 1), size(this%data2d, 2)) | addmarray_2 (this, a) |
add 2D fortran array and mesh array More... | |
real function, dimension(size(this%data3d, 1), size(this%data3d, 2), size(this%data3d, 3)) | addmarray_3 (this, a) |
add 3D fortran array and mesh array More... | |
real function, dimension(size(this%data4d, 1), size(this%data4d, 2), size(this%data4d, 3), size(this%data4d, 4)) | addmarray_4 (this, a) |
add 4D fortran array and mesh array More... | |
real function, dimension(size(this%data5d, 1), size(this%data5d, 2), size(this%data5d, 3), size(this%data5d, 4), size(this%data5d, 5)) | addmarray_5 (this, a) |
add 5D fortran array and mesh array More... | |
real function, dimension(size(this%data1d)) | multmarray_0 (this, that) |
multiply 2 mesh arrays More... | |
real function, dimension(size(this%data1d)) | multmarray_1 (this, a) |
multiply 1D fortran array and mesh arrays More... | |
real function, dimension(size(this%data2d, 1), size(this%data2d, 2)) | multmarray_2 (this, a) |
multiply 2D fortran array and mesh arrays More... | |
real function, dimension(size(this%data3d, 1), size(this%data3d, 2), size(this%data3d, 3)) | multmarray_3 (this, a) |
multiply 3D fortran array and mesh arrays More... | |
real function, dimension(size(this%data4d, 1), size(this%data4d, 2), size(this%data4d, 3), size(this%data4d, 4)) | multmarray_4 (this, a) |
multiply 4D fortran array and mesh arrays More... | |
real function, dimension(size(this%data5d, 1), size(this%data5d, 2), size(this%data5d, 3), size(this%data5d, 4), size(this%data5d, 5)) | multmarray_5 (this, a) |
multiply 5D fortran array and mesh arrays More... | |
real function, dimension(size(this%data2d, dim=1), 3) | crossproduct_0 (this, that) |
compute outer (vector) product of 2 marrays works only, if last dimension has size 3! More... | |
subroutine | destroy (this, called_from_finalize) |
basic destructor of mesh arrays - this is called automatically if deallocate is invoked More... | |
subroutine | finalize (this) |
type(selection_base) function | createselection (idx) |
logical function | init_selection (this, idx) |
basic initialization of selection More... | |
subroutine | assignselection (this, sel) |
assigns one selection to another selection More... | |
subroutine | cuboid (this, imin, imax, jmin, jmax, kmin, kmax) |
subroutine | everything (this) |
subroutine | destroy_selection (this) |
destructor of all selection classes More... | |
subroutine | destructor_selection (this) |
actual destructor of selection_base More... | |
Detailed Description
base class for mesh arrays
Function/Subroutine Documentation
◆ addmarray_0()
|
private |
add 2 mesh arrays
Definition at line 562 of file marray_base.f90.

◆ addmarray_1()
|
private |
add 1D fortran array and mesh array
Definition at line 592 of file marray_base.f90.

◆ addmarray_2()
|
private |
add 2D fortran array and mesh array
Definition at line 615 of file marray_base.f90.

◆ addmarray_3()
|
private |
add 3D fortran array and mesh array
Definition at line 638 of file marray_base.f90.

◆ addmarray_4()
|
private |
add 4D fortran array and mesh array
Definition at line 661 of file marray_base.f90.

◆ addmarray_5()
|
private |
add 5D fortran array and mesh array
Definition at line 685 of file marray_base.f90.

◆ assignmarray_0()
|
private |
assigns one mesh array to another mesh array
Definition at line 345 of file marray_base.f90.

◆ assignmarray_1()
|
private |
assign 1D fortran array to mesh array
Definition at line 442 of file marray_base.f90.

◆ assignmarray_2()
|
private |
assign 2D fortran array to mesh array
Definition at line 464 of file marray_base.f90.

◆ assignmarray_3()
|
private |
assign 3D fortran array to mesh array
Definition at line 486 of file marray_base.f90.

◆ assignmarray_4()
|
private |
assign 4D fortran array to mesh array
Definition at line 508 of file marray_base.f90.

◆ assignmarray_5()
|
private |
assign 5D fortran array to mesh array
Definition at line 530 of file marray_base.f90.

◆ assignpointers()
logical function marray_base_mod::assignpointers | ( | class(marray_base), intent(inout) | this | ) |
assign pointers of different shapes to the 1D data
Definition at line 255 of file marray_base.f90.
◆ assignselection()
|
private |
assigns one selection to another selection
Definition at line 985 of file marray_base.f90.

◆ closemeshproperties()
subroutine, public marray_base_mod::closemeshproperties |
unsets global mesh properties
This subroutine should be called only once in MeshClose.
Definition at line 246 of file marray_base.f90.

◆ createmarray()
|
private |
constructor for mesh arrays
Definition at line 129 of file marray_base.f90.

◆ createselection()
|
private |
◆ crossproduct_0()
|
private |
compute outer (vector) product of 2 marrays works only, if last dimension has size 3!
Definition at line 855 of file marray_base.f90.


◆ cuboid()
|
private |
Definition at line 1048 of file marray_base.f90.
◆ destroy()
|
private |
basic destructor of mesh arrays - this is called automatically if deallocate is invoked
Definition at line 901 of file marray_base.f90.

◆ destroy_selection()
|
private |
destructor of all selection classes
Definition at line 1092 of file marray_base.f90.

◆ destructor_selection()
|
private |
actual destructor of selection_base
Definition at line 1102 of file marray_base.f90.

◆ everything()
|
private |
Definition at line 1077 of file marray_base.f90.
◆ finalize()
|
private |
◆ init()
|
private |
basic initialization of mesh array class
Definition at line 146 of file marray_base.f90.
◆ init_selection()
|
private |
basic initialization of selection
Definition at line 951 of file marray_base.f90.
◆ initmeshproperties()
subroutine, public marray_base_mod::initmeshproperties | ( | integer, intent(in) | igmin_, |
integer, intent(in) | igmax_, | ||
integer, intent(in) | jgmin_, | ||
integer, intent(in) | jgmax_, | ||
integer, intent(in) | kgmin_, | ||
integer, intent(in) | kgmax_ | ||
) |
sets global mesh properties
This subroutine should be called only once in MeshInit.
Definition at line 224 of file marray_base.f90.

◆ multmarray_0()
|
private |
multiply 2 mesh arrays
Definition at line 709 of file marray_base.f90.

◆ multmarray_1()
|
private |
multiply 1D fortran array and mesh arrays
Definition at line 737 of file marray_base.f90.

◆ multmarray_2()
|
private |
multiply 2D fortran array and mesh arrays
Definition at line 760 of file marray_base.f90.

◆ multmarray_3()
|
private |
multiply 3D fortran array and mesh arrays
Definition at line 783 of file marray_base.f90.

◆ multmarray_4()
|
private |
multiply 4D fortran array and mesh arrays
Definition at line 806 of file marray_base.f90.

◆ multmarray_5()
|
private |
multiply 5D fortran array and mesh arrays
Definition at line 830 of file marray_base.f90.

◆ remapbounds_0()
real function, dimension(:,:,:), pointer marray_base_mod::remapbounds_0 | ( | class(marray_base) | this, |
real, dimension(igmin:,jgmin:,kgmin:), intent(in), target | array | ||
) |
remap lower bounds in the first 3 dimensions of rank 0 mesh arrays
This is a short hack to obviate a restriction in the generation of subarray pointers. The indices of subarrays usually start with a lower bound of 1, but Fosite requires that all mesh data arrays start with lower bounds of IGMIN, JGMIN and KGMIN, which are not equal to 1 in general.
- Parameters
-
this [in,out] this
Definition at line 301 of file marray_base.f90.

◆ remapbounds_1()
real function, dimension(:,:,:,:), pointer marray_base_mod::remapbounds_1 | ( | class(marray_base) | this, |
real, dimension(igmin:,jgmin:,kgmin:,:), intent(in), target | array | ||
) |
remap lower bounds in the first 3 dimensions of rank 1 mesh arrays
- Parameters
-
this [in,out] this
Definition at line 315 of file marray_base.f90.

◆ remapbounds_2()
real function, dimension(:,:,:,:,:), pointer marray_base_mod::remapbounds_2 | ( | class(marray_base) | this, |
real, dimension(igmin:,jgmin:,kgmin:,:,:), intent(in), target | array | ||
) |
remap lower bounds in the first 3 dimensions of rank 2 mesh arrays
- Parameters
-
this [in,out]
Definition at line 330 of file marray_base.f90.

◆ shapesmatch()
|
private |
Variable Documentation
◆ idx_init
|
private |
init status
Definition at line 46 of file marray_base.f90.
◆ igmax
|
private |
1st dim
Definition at line 42 of file marray_base.f90.
◆ igmin
|
private |
Definition at line 42 of file marray_base.f90.
◆ inum
|
private |
Definition at line 45 of file marray_base.f90.
◆ jgmax
|
private |
2nd dim
Definition at line 43 of file marray_base.f90.
◆ jgmin
|
private |
Definition at line 43 of file marray_base.f90.
◆ jnum
|
private |
Definition at line 45 of file marray_base.f90.
◆ kgmax
|
private |
3rd dim
Definition at line 44 of file marray_base.f90.
◆ kgmin
|
private |
Definition at line 44 of file marray_base.f90.
◆ knum
|
private |
array sizes
Definition at line 45 of file marray_base.f90.