Octopus
curv_briggs_oct_m Module Reference

This module implements the curvilinear coordinates given in E.L. Briggs, D.J. Sullivan, and J. Bernholc, PRB 54 14362 (1996) More...

Detailed Description

This module implements the curvilinear coordinates given in E.L. Briggs, D.J. Sullivan, and J. Bernholc, PRB 54 14362 (1996)

It assumes that the Oxygen atom is located at x0=0 (see Eq. (12))

Data Types

interface  curv_briggs_t
 

Functions/Subroutines

class(curv_briggs_t) function, pointer curv_briggs_constructor (namespace, dim, lsize, spacing)
 
subroutine curv_briggs_finalize (this)
 
subroutine, public curv_briggs_copy (this_out, this_in)
 
pure real(real64) function, dimension(1:this%dim) curv_briggs_to_cartesian (this, chi)
 
real(real64) function, dimension(1:this%dim) curv_briggs_from_cartesian (this, xx)
 
pure real(real64) function curv_briggs_det_jac (this, xx, chi)
 
subroutine curv_briggs_write_info (this, iunit, namespace)
 
real(real64) function curv_briggs_surface_element (this, idir)
 

Function/Subroutine Documentation

◆ curv_briggs_constructor()

class(curv_briggs_t) function, pointer curv_briggs_oct_m::curv_briggs_constructor ( type(namespace_t), intent(in)  namespace,
integer, intent(in)  dim,
real(real64), dimension(1:dim), intent(in)  lsize,
real(real64), dimension(1:dim), intent(in)  spacing 
)
private

Definition at line 155 of file curv_briggs.F90.

◆ curv_briggs_finalize()

subroutine curv_briggs_oct_m::curv_briggs_finalize ( type(curv_briggs_t), intent(inout)  this)
private

Definition at line 192 of file curv_briggs.F90.

◆ curv_briggs_copy()

subroutine, public curv_briggs_oct_m::curv_briggs_copy ( type(curv_briggs_t), intent(inout)  this_out,
type(curv_briggs_t), intent(in)  this_in 
)

Definition at line 203 of file curv_briggs.F90.

◆ curv_briggs_to_cartesian()

pure real(real64) function, dimension(1:this%dim) curv_briggs_oct_m::curv_briggs_to_cartesian ( class(curv_briggs_t), intent(in), target  this,
real(real64), dimension(:), intent(in)  chi 
)
private
Parameters
[in]chichi(dim)

Definition at line 216 of file curv_briggs.F90.

◆ curv_briggs_from_cartesian()

real(real64) function, dimension(1:this%dim) curv_briggs_oct_m::curv_briggs_from_cartesian ( class(curv_briggs_t), intent(in), target  this,
real(real64), dimension(:), intent(in)  xx 
)
private
Parameters
[in]xxxx(dim)

Definition at line 228 of file curv_briggs.F90.

◆ curv_briggs_det_jac()

pure real(real64) function curv_briggs_oct_m::curv_briggs_det_jac ( class(curv_briggs_t), intent(in)  this,
real(real64), dimension(:), intent(in)  xx,
real(real64), dimension(:), intent(in)  chi 
)
private

Definition at line 242 of file curv_briggs.F90.

◆ curv_briggs_write_info()

subroutine curv_briggs_oct_m::curv_briggs_write_info ( class(curv_briggs_t), intent(in)  this,
integer, intent(in), optional  iunit,
type(namespace_t), intent(in), optional  namespace 
)
private

Definition at line 261 of file curv_briggs.F90.

◆ curv_briggs_surface_element()

real(real64) function curv_briggs_oct_m::curv_briggs_surface_element ( class(curv_briggs_t), intent(in)  this,
integer, intent(in)  idir 
)
private

Definition at line 275 of file curv_briggs.F90.