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 199 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 210 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 223 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 235 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 249 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 268 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 282 of file curv_briggs.F90.