base class for geometrical properties More...
Data Types | |
interface | Convert2Cartesian_coords_1 |
interface | Convert2Cartesian_coords_2 |
interface | Convert2Cartesian_coords_3 |
interface | Convert2Cartesian_coords_4 |
interface | Convert2Cartesian_vectors_1 |
interface | Convert2Cartesian_vectors_2 |
interface | Convert2Cartesian_vectors_3 |
interface | Convert2Cartesian_vectors_4 |
interface | Convert2Curvilinear_coords_1 |
interface | Convert2Curvilinear_coords_2 |
interface | Convert2Curvilinear_coords_3 |
interface | Convert2Curvilinear_coords_4 |
interface | Convert2Curvilinear_vectors_1 |
interface | Convert2Curvilinear_vectors_2 |
interface | Convert2Curvilinear_vectors_3 |
interface | Convert2Curvilinear_vectors_4 |
interface | Finalize |
type | geometry_base |
interface | PositionVector_1 |
interface | PositionVector_2 |
interface | PositionVector_3 |
interface | PositionVector_4 |
interface | Radius_1 |
interface | Radius_2 |
interface | Radius_3 |
interface | Radius_4 |
interface | ScaleFactors_1 |
interface | ScaleFactors_2 |
interface | ScaleFactors_3 |
interface | ScaleFactors_4 |
Functions/Subroutines | |
subroutine | initgeometry (this, gnum, gname, config) |
Constructor of generic geometry module. More... | |
pure real function | getscale1 (this) |
pure real function | getscale2 (this, i) |
pure subroutine | setscale1 (this, gp) |
pure subroutine | setscale2 (this, gp, gp2) |
pure subroutine | setscale3 (this, gp, gp2, gp3) |
pure subroutine | scalefactors_0 (this, coords, hx, hy, hz) |
Compute scale factors. More... | |
pure subroutine | radius_0 (this, coords, radius) |
Compute radial distances to the origin. More... | |
pure subroutine | positionvector_0 (this, coords, posvec) |
compute position vector components for all cell positions More... | |
pure subroutine | convert2cartesian_coords (this, curv, cart) |
Convert curvilinear to cartesian coordinates. More... | |
pure subroutine | convert2curvilinear_coords (this, cart, curv) |
Convert cartesian to curvilinear coordinates. More... | |
pure subroutine | convert2cartesian_vectors (this, curv, v_curv, v_cart) |
Convert curvilinear vector components to cartesian vector components. More... | |
pure subroutine | convert2curvilinear_vectors (this, curv, v_cart, v_curv) |
Convert cartesian vector components to curvilinear vector components. More... | |
pure subroutine | setazimuthindex (this, idx) |
sets the coordinate index of the azimuthal angle More... | |
pure integer function | getazimuthindex (this) |
returns the coordinate index of the azimuthal angle More... | |
subroutine | finalize_base (this) |
Destructor of generic geometry module. More... | |
Variables | |
real, parameter, public | pi = 3.1415926535897932384626433832795028842 |
Public Attributes | |
geometries | |
integer, parameter, public | cartesian = 1 |
integer, parameter, public | cylindrical = 30 |
integer, parameter, public | logcylindrical = 31 |
integer, parameter, public | spherical = 40 |
integer, parameter, public | logspherical = 41 |
Detailed Description
base class for geometrical properties
Function/Subroutine Documentation
◆ convert2cartesian_coords()
pure subroutine geometry_base_mod::convert2cartesian_coords | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | curv, | ||
type(marray_cellvector), intent(inout) | cart | ||
) |
Convert curvilinear to cartesian coordinates.
ATTENTION: cart should actually be intent(out), but this breaks the pointer assignment to cartdata1d in the mesh array
Definition at line 545 of file geometry_base.f90.
◆ convert2cartesian_vectors()
pure subroutine geometry_base_mod::convert2cartesian_vectors | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | curv, | ||
type(marray_cellvector), intent(in) | v_curv, | ||
type(marray_cellvector), intent(inout) | v_cart | ||
) |
Convert curvilinear vector components to cartesian vector components.
ATTENTION: v_cart should actually be intent(out), but this breaks the pointer assignment to v_cartdata1d in the mesh array
Definition at line 573 of file geometry_base.f90.
◆ convert2curvilinear_coords()
pure subroutine geometry_base_mod::convert2curvilinear_coords | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | cart, | ||
type(marray_cellvector), intent(inout) | curv | ||
) |
Convert cartesian to curvilinear coordinates.
ATTENTION: curv should actually be intent(out), but this breaks the pointer assignment to curvdata1d in the mesh array
Definition at line 559 of file geometry_base.f90.
◆ convert2curvilinear_vectors()
pure subroutine geometry_base_mod::convert2curvilinear_vectors | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | curv, | ||
type(marray_cellvector), intent(in) | v_cart, | ||
type(marray_cellvector), intent(inout) | v_curv | ||
) |
Convert cartesian vector components to curvilinear vector components.
Definition at line 586 of file geometry_base.f90.
◆ finalize_base()
subroutine geometry_base_mod::finalize_base | ( | class(geometry_base), intent(inout) | this | ) |
Destructor of generic geometry module.
Definition at line 622 of file geometry_base.f90.
◆ getazimuthindex()
pure integer function geometry_base_mod::getazimuthindex | ( | class(geometry_base), intent(in) | this | ) |
returns the coordinate index of the azimuthal angle
the default is 0, if there is no azimuthal angle, e.g. for cartesian coordinates
Definition at line 612 of file geometry_base.f90.
◆ getscale1()
|
private |
Definition at line 439 of file geometry_base.f90.
◆ getscale2()
|
private |
Definition at line 448 of file geometry_base.f90.
◆ initgeometry()
subroutine geometry_base_mod::initgeometry | ( | class(geometry_base), intent(inout) | this, |
integer, intent(in) | gnum, | ||
character(len=*), intent(in) | gname, | ||
type(dict_typ), pointer | config | ||
) |
Constructor of generic geometry module.
Definition at line 379 of file geometry_base.f90.
◆ positionvector_0()
pure subroutine geometry_base_mod::positionvector_0 | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | coords, | ||
type(marray_cellvector), intent(inout) | posvec | ||
) |
compute position vector components for all cell positions
Computes the curvilinear position vector components with respect to the given geometry. ATTENTION: posvec should actually be intent(out), but this breaks the pointer assignment to posvecdata1d in the mesh array
Definition at line 531 of file geometry_base.f90.
◆ radius_0()
pure subroutine geometry_base_mod::radius_0 | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | coords, | ||
type(marray_cellscalar), intent(inout) | radius | ||
) |
Compute radial distances to the origin.
Computes the radial distances to the origin for the given coordinates depending on the geometry. ATTENTION: radius should actually be intent(out), but this breaks the pointer assignment to radiusdata1d in the mesh array
Definition at line 515 of file geometry_base.f90.
◆ scalefactors_0()
pure subroutine geometry_base_mod::scalefactors_0 | ( | class(geometry_base), intent(in) | this, |
type(marray_cellvector), intent(in) | coords, | ||
type(marray_cellscalar), intent(inout) | hx, | ||
type(marray_cellscalar), intent(inout) | hy, | ||
type(marray_cellscalar), intent(inout) | hz | ||
) |
Compute scale factors.
Computes the scale factors of the given geometry.
\[ h_x = \left|\frac{\partial \vec{r}}{\partial x}\right|,\quad h_y = \left|\frac{\partial \vec{r}}{\partial y}\right|,\quad h_z = \left|\frac{\partial \vec{r}}{\partial z}\right| \]
ATTENTION: hx,hy,hz should actually be intent(out), but this breaks the pointer assignments to hxdata1d,... in the mesh array
Definition at line 499 of file geometry_base.f90.
◆ setazimuthindex()
pure subroutine geometry_base_mod::setazimuthindex | ( | class(geometry_base), intent(inout) | this, |
integer, intent(in) | idx | ||
) |
sets the coordinate index of the azimuthal angle
the default is 0, if there is no azimuthal angle, e.g. for cartesian coordinates
Definition at line 600 of file geometry_base.f90.
◆ setscale1()
|
private |
Definition at line 458 of file geometry_base.f90.
◆ setscale2()
|
private |
Definition at line 467 of file geometry_base.f90.
◆ setscale3()
|
private |
Definition at line 477 of file geometry_base.f90.
Variable Documentation
◆ cartesian
integer, parameter, public geometry_base_mod::cartesian = 1 |
Definition at line 344 of file geometry_base.f90.
◆ cylindrical
integer, parameter, public geometry_base_mod::cylindrical = 30 |
Definition at line 354 of file geometry_base.f90.
◆ logcylindrical
integer, parameter, public geometry_base_mod::logcylindrical = 31 |
Definition at line 355 of file geometry_base.f90.
◆ logspherical
integer, parameter, public geometry_base_mod::logspherical = 41 |
Definition at line 359 of file geometry_base.f90.
◆ pi
real, parameter, public geometry_base_mod::pi = 3.1415926535897932384626433832795028842 |
Definition at line 43 of file geometry_base.f90.
◆ spherical
integer, parameter, public geometry_base_mod::spherical = 40 |
Definition at line 358 of file geometry_base.f90.