Octopus
coordinate_system_oct_m::coordinate_system_t Type Reference

abstract class to describe coordinate systems More...

Detailed Description

abstract class to describe coordinate systems

Octopus can use different coordinate systems to generate the grid. This abstract class provides basic information about the type of coordinate system and the interface for specialised classes.

Definition at line 128 of file coordinate_system.F90.

Inheritance diagram for coordinate_system_oct_m::coordinate_system_t:
Inheritance graph

Private Member Functions

generic vector_from_cartesian => dvector_from_cartesian, zvector_from_cartesian
 
procedure dvector_from_cartesian => dcoordinate_system_vector_from_cartesian
 
procedure zvector_from_cartesian => zcoordinate_system_vector_from_cartesian
 
generic covector_to_cartesian => dcovector_to_cartesian, zcovector_to_cartesian
 
procedure dcovector_to_cartesian => dcoordinate_system_covector_to_cartesian
 
procedure zcovector_to_cartesian => zcoordinate_system_covector_to_cartesian
 
procedure(coordinate_system_to_cartesian), deferred to_cartesian
 Convert coordinates given in this coordinate system to Cartesian coordinates. More...
 
procedure(coordinate_system_from_cartesian), deferred from_cartesian
 Convert Cartesian coordinates to coordinates in this coordinate system. More...
 
procedure(coordinate_system_det_jac), deferred det_jac
 
procedure(coordinate_system_write_info), deferred write_info
 
procedure(coordinates_surface_element), deferred surface_element
 

Private Attributes

logical local_basis
 Do the basis vectors depend on the position, i.e., is the basis local? (false for Cartesian and affine, true for curvilinear coordinates in general) More...
 
logical orthogonal
 Are the basis vectors orthogonal? More...
 
integer dim
 Dimension of the space. More...
 
real(real64) min_mesh_scaling_product
 product of the smallest scaling :: min(distance between the grid points / spacing) More...
 

Member Function/Subroutine Documentation

◆ vector_from_cartesian()

generic coordinate_system_oct_m::coordinate_system_t::vector_from_cartesian
private

Definition at line 135 of file coordinate_system.F90.

◆ dvector_from_cartesian()

procedure coordinate_system_oct_m::coordinate_system_t::dvector_from_cartesian
private

Definition at line 137 of file coordinate_system.F90.

◆ zvector_from_cartesian()

procedure coordinate_system_oct_m::coordinate_system_t::zvector_from_cartesian
private

Definition at line 139 of file coordinate_system.F90.

◆ covector_to_cartesian()

generic coordinate_system_oct_m::coordinate_system_t::covector_to_cartesian
private

Definition at line 141 of file coordinate_system.F90.

◆ dcovector_to_cartesian()

procedure coordinate_system_oct_m::coordinate_system_t::dcovector_to_cartesian
private

Definition at line 143 of file coordinate_system.F90.

◆ zcovector_to_cartesian()

procedure coordinate_system_oct_m::coordinate_system_t::zcovector_to_cartesian
private

Definition at line 145 of file coordinate_system.F90.

◆ to_cartesian()

procedure(coordinate_system_to_cartesian), deferred coordinate_system_oct_m::coordinate_system_t::to_cartesian
private

Convert coordinates given in this coordinate system to Cartesian coordinates.

Definition at line 147 of file coordinate_system.F90.

◆ from_cartesian()

procedure(coordinate_system_from_cartesian), deferred coordinate_system_oct_m::coordinate_system_t::from_cartesian
private

Convert Cartesian coordinates to coordinates in this coordinate system.

Definition at line 149 of file coordinate_system.F90.

◆ det_jac()

procedure(coordinate_system_det_jac), deferred coordinate_system_oct_m::coordinate_system_t::det_jac
private

Definition at line 151 of file coordinate_system.F90.

◆ write_info()

procedure(coordinate_system_write_info), deferred coordinate_system_oct_m::coordinate_system_t::write_info
private

Definition at line 153 of file coordinate_system.F90.

◆ surface_element()

procedure(coordinates_surface_element), deferred coordinate_system_oct_m::coordinate_system_t::surface_element
private

Definition at line 155 of file coordinate_system.F90.

Member Data Documentation

◆ local_basis

logical coordinate_system_oct_m::coordinate_system_t::local_basis
private

Do the basis vectors depend on the position, i.e., is the basis local? (false for Cartesian and affine, true for curvilinear coordinates in general)

Definition at line 129 of file coordinate_system.F90.

◆ orthogonal

logical coordinate_system_oct_m::coordinate_system_t::orthogonal
private

Are the basis vectors orthogonal?

Definition at line 131 of file coordinate_system.F90.

◆ dim

integer coordinate_system_oct_m::coordinate_system_t::dim
private

Dimension of the space.

Definition at line 132 of file coordinate_system.F90.

◆ min_mesh_scaling_product

real(real64) coordinate_system_oct_m::coordinate_system_t::min_mesh_scaling_product
private

product of the smallest scaling :: min(distance between the grid points / spacing)

Definition at line 133 of file coordinate_system.F90.


The documentation for this type was generated from the following file: