MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Loading...
Searching...
No Matches
mod_geometry Module Reference

Module with geometry-related routines (e.g., divergence, curl). More...

Functions/Subroutines

subroutine set_coordinate_system (geom)
 Set the coordinate system to be used.
subroutine set_pole
subroutine putgridgeo (igrid)
 Deallocate geometry-related variables.
subroutine get_surface_area (s, ixgl)
 calculate area of surfaces of cells
subroutine gradient (q, ixil, ixol, idir, gradq, nth_in)
subroutine gradientl (q, ixil, ixol, idir, gradq)
subroutine gradientf (q, x, ixil, ixol, idir, gradq, nth_in, pm_in)
subroutine divvector (qvec, ixil, ixol, divq, nth_in)
subroutine divvectors (qvec, ixil, ixol, divq)
 Calculate divergence of a vector qvec within ixL using limited extrapolation to cell edges.
subroutine laplacian (q, ixil, ixol, laplq, nth_in)
subroutine laplacian_of_vector (qvec, ixil, ixol, lapl_qvec)
subroutine curlvector (qvec, ixil, ixol, curlvec, idirmin, idirmin0, ndir0, fourthorder)
 Calculate curl of a vector qvec within ixL Options to employ standard second order CD evaluations use Gauss theorem for non-Cartesian grids use Stokes theorem for non-Cartesian grids.
subroutine curlvector_trans (qvec, qvecc, ixil, ixol, curlvec, idim, idirmin, idirmin0, ndir0)
 Calculate idim transverse components of curl of a vector qvec within ixL Options to employ standard second order CD evaluations use Gauss theorem for non-Cartesian grids use Stokes theorem for non-Cartesian grids.

Variables

integer coordinate =-1
integer, parameter cartesian = 0
integer, parameter cartesian_stretched = 1
integer, parameter cylindrical = 2
integer, parameter spherical = 3
integer, parameter cartesian_expansion = 4
integer type_curl =0
integer, parameter central =1
integer, parameter gaussbased =2
integer, parameter stokesbased =3

Detailed Description

Module with geometry-related routines (e.g., divergence, curl).

Function/Subroutine Documentation

◆ curlvector()

subroutine mod_geometry::curlvector ( double precision, dimension(ixi^s,1:ndir0), intent(in) qvec,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s,idirmin0:3), intent(inout) curlvec,
integer, intent(inout) idirmin,
integer, intent(in) idirmin0,
integer, intent(in) ndir0,
logical, intent(in), optional fourthorder )

Calculate curl of a vector qvec within ixL Options to employ standard second order CD evaluations use Gauss theorem for non-Cartesian grids use Stokes theorem for non-Cartesian grids.

Parameters
[in]fourthorderDefault: false

Definition at line 793 of file mod_geometry.t.

◆ curlvector_trans()

subroutine mod_geometry::curlvector_trans ( double precision, dimension(ixi^s,1:ndir0), intent(in) qvec,
double precision, dimension(ixi^s,1:ndir0), intent(in) qvecc,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s,idirmin0:3), intent(inout) curlvec,
integer, intent(in) idim,
integer, intent(inout) idirmin,
integer, intent(in) idirmin0,
integer, intent(in) ndir0 )

Calculate idim transverse components of curl of a vector qvec within ixL Options to employ standard second order CD evaluations use Gauss theorem for non-Cartesian grids use Stokes theorem for non-Cartesian grids.

Definition at line 1262 of file mod_geometry.t.

◆ divvector()

subroutine mod_geometry::divvector ( double precision, dimension(ixi^s,1:ndir), intent(in) qvec,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s), intent(inout) divq,
integer, intent(in), optional nth_in )

Definition at line 584 of file mod_geometry.t.

◆ divvectors()

subroutine mod_geometry::divvectors ( double precision, dimension(ixi^s,1:ndir), intent(in) qvec,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s), intent(inout) divq )

Calculate divergence of a vector qvec within ixL using limited extrapolation to cell edges.

Definition at line 657 of file mod_geometry.t.

Here is the call graph for this function:

◆ get_surface_area()

subroutine mod_geometry::get_surface_area ( type(state) s,
integer, intent(in) ixg,
integer, intent(in) l )

calculate area of surfaces of cells

Definition at line 158 of file mod_geometry.t.

◆ gradient()

subroutine mod_geometry::gradient ( double precision, dimension(ixi^s), intent(in) q,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
integer, intent(in) idir,
double precision, dimension(ixi^s), intent(inout) gradq,
integer, intent(in), optional nth_in )

Definition at line 331 of file mod_geometry.t.

◆ gradientf()

subroutine mod_geometry::gradientf ( double precision, dimension(ixi^s), intent(in) q,
double precision, dimension(ixi^s,1:ndim), intent(in) x,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
integer, intent(in) idir,
double precision, dimension(ixi^s), intent(inout) gradq,
integer, intent(in), optional nth_in,
logical, intent(in), optional pm_in )

Definition at line 478 of file mod_geometry.t.

◆ gradientl()

subroutine mod_geometry::gradientl ( double precision, dimension(ixi^s), intent(in) q,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
integer, intent(in) idir,
double precision, dimension(ixi^s), intent(inout) gradq )

Definition at line 407 of file mod_geometry.t.

Here is the call graph for this function:

◆ laplacian()

subroutine mod_geometry::laplacian ( double precision, dimension(ixi^s), intent(in) q,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s), intent(inout) laplq,
integer, intent(in), optional nth_in )

Definition at line 714 of file mod_geometry.t.

◆ laplacian_of_vector()

subroutine mod_geometry::laplacian_of_vector ( double precision, dimension(ixi^s,1:ndir), intent(in) qvec,
integer, intent(in) ixi,
integer, intent(in) l,
integer, intent(in) ixo,
l,
double precision, dimension(ixi^s,1:ndir), intent(inout) lapl_qvec )

Definition at line 772 of file mod_geometry.t.

Here is the call graph for this function:

◆ putgridgeo()

subroutine mod_geometry::putgridgeo ( integer, intent(in) igrid)

Deallocate geometry-related variables.

Definition at line 148 of file mod_geometry.t.

◆ set_coordinate_system()

subroutine mod_geometry::set_coordinate_system ( character(len=*), intent(in) geom)

Set the coordinate system to be used.

Parameters
[in]geomName of the coordinate system

Definition at line 22 of file mod_geometry.t.

Here is the call graph for this function:

◆ set_pole()

subroutine mod_geometry::set_pole

Definition at line 100 of file mod_geometry.t.

Here is the call graph for this function:

Variable Documentation

◆ cartesian

integer, parameter mod_geometry::cartesian = 0

Definition at line 8 of file mod_geometry.t.

◆ cartesian_expansion

integer, parameter mod_geometry::cartesian_expansion = 4

Definition at line 12 of file mod_geometry.t.

◆ cartesian_stretched

integer, parameter mod_geometry::cartesian_stretched = 1

Definition at line 9 of file mod_geometry.t.

◆ central

integer, parameter mod_geometry::central =1

Definition at line 15 of file mod_geometry.t.

◆ coordinate

integer mod_geometry::coordinate =-1

Definition at line 7 of file mod_geometry.t.

◆ cylindrical

integer, parameter mod_geometry::cylindrical = 2

Definition at line 10 of file mod_geometry.t.

◆ gaussbased

integer, parameter mod_geometry::gaussbased =2

Definition at line 16 of file mod_geometry.t.

◆ spherical

integer, parameter mod_geometry::spherical = 3

Definition at line 11 of file mod_geometry.t.

◆ stokesbased

integer, parameter mod_geometry::stokesbased =3

Definition at line 17 of file mod_geometry.t.

◆ type_curl

integer mod_geometry::type_curl =0

Definition at line 14 of file mod_geometry.t.