Octopus
lattice_vectors_oct_m Module Reference

Data Types

interface  lattice_iterator_t
 The following class implements a lattice iterator. It allows one to loop over all cells that are within a certain range. At the moment this range is determined using a norm-1. More...
 
interface  lattice_vectors_t
 

Functions/Subroutines

type(lattice_vectors_t) function lattice_vectors_constructor_from_rlattice (namespace, space, rlattice)
 
type(lattice_vectors_t) function lattice_vectors_constructor_from_input (namespace, space, variable_prefix)
 
subroutine angles_from_rlattice_primitive (rlattice_primitive, alpha, beta, gamma)
 
subroutine lattice_vectors_copy (this, source)
 
subroutine lattice_vectors_finalize (this)
 
subroutine lattice_vectors_scale (this, factor)
 
subroutine lattice_vectors_update (this, rlattice)
 Updates the lattice vector object from a new set of Cartesian lattice vectors. More...
 
pure real(real64) function, dimension(this%space%dim) lattice_vectors_cart_to_red (this, xx_cart)
 
pure real(real64) function, dimension(this%space%dim) lattice_vectors_red_to_cart (this, xx_red)
 
real(real64) function, dimension(this%space%dim) lattice_vectors_fold_into_cell (this, xx)
 
subroutine lattice_vectors_write_info (this, namespace)
 
character(len=140) function lattice_vectors_short_info (this, unit_length)
 
real(real64) function lattice_vectors_max_length (this)
 
subroutine build_metric_from_angles (this, angles)
 
subroutine reciprocal_lattice (rv, kv, volume, dim, namespace)
 
type(lattice_iterator_t) function lattice_iterator_constructor (latt, range)
 
subroutine lattice_iterator_copy (this, source)
 
real(real64) function, dimension(1:this%latt%space%dim) lattice_iterator_get (this, ii)
 
subroutine lattice_iterator_finalize (this)
 

Function/Subroutine Documentation

◆ lattice_vectors_constructor_from_rlattice()

type(lattice_vectors_t) function lattice_vectors_oct_m::lattice_vectors_constructor_from_rlattice ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
real(real64), dimension(:, :), intent(in)  rlattice 
)
private

Definition at line 190 of file lattice_vectors.F90.

◆ lattice_vectors_constructor_from_input()

type(lattice_vectors_t) function lattice_vectors_oct_m::lattice_vectors_constructor_from_input ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
character(len=*), intent(in), optional  variable_prefix 
)
private

Definition at line 239 of file lattice_vectors.F90.

◆ angles_from_rlattice_primitive()

subroutine lattice_vectors_oct_m::angles_from_rlattice_primitive ( real(real64), dimension(1:3, 1:3), intent(in)  rlattice_primitive,
real(real64), intent(out)  alpha,
real(real64), intent(out)  beta,
real(real64), intent(out)  gamma 
)
private

Definition at line 404 of file lattice_vectors.F90.

◆ lattice_vectors_copy()

subroutine lattice_vectors_oct_m::lattice_vectors_copy ( class(lattice_vectors_t), intent(out)  this,
class(lattice_vectors_t), intent(in)  source 
)
private

Definition at line 423 of file lattice_vectors.F90.

◆ lattice_vectors_finalize()

subroutine lattice_vectors_oct_m::lattice_vectors_finalize ( type(lattice_vectors_t), intent(inout)  this)
private

Definition at line 444 of file lattice_vectors.F90.

◆ lattice_vectors_scale()

subroutine lattice_vectors_oct_m::lattice_vectors_scale ( class(lattice_vectors_t), intent(inout)  this,
real(real64), dimension(this%space%dim), intent(in)  factor 
)
private

Definition at line 459 of file lattice_vectors.F90.

◆ lattice_vectors_update()

subroutine lattice_vectors_oct_m::lattice_vectors_update ( class(lattice_vectors_t), intent(inout)  this,
real(real64), dimension(this%space%dim, this%space%dim), intent(in)  rlattice 
)
private

Updates the lattice vector object from a new set of Cartesian lattice vectors.

Definition at line 481 of file lattice_vectors.F90.

◆ lattice_vectors_cart_to_red()

pure real(real64) function, dimension(this%space%dim) lattice_vectors_oct_m::lattice_vectors_cart_to_red ( class(lattice_vectors_t), intent(in)  this,
real(real64), dimension(this%space%dim), intent(in)  xx_cart 
)
private

Definition at line 519 of file lattice_vectors.F90.

◆ lattice_vectors_red_to_cart()

pure real(real64) function, dimension(this%space%dim) lattice_vectors_oct_m::lattice_vectors_red_to_cart ( class(lattice_vectors_t), intent(in)  this,
real(real64), dimension(this%space%dim), intent(in)  xx_red 
)
private

Definition at line 529 of file lattice_vectors.F90.

◆ lattice_vectors_fold_into_cell()

real(real64) function, dimension(this%space%dim) lattice_vectors_oct_m::lattice_vectors_fold_into_cell ( class(lattice_vectors_t), intent(in)  this,
real(real64), dimension(this%space%dim), intent(in)  xx 
)
private

Definition at line 539 of file lattice_vectors.F90.

◆ lattice_vectors_write_info()

subroutine lattice_vectors_oct_m::lattice_vectors_write_info ( class(lattice_vectors_t), intent(in)  this,
type(namespace_t), intent(in)  namespace 
)
private

Definition at line 577 of file lattice_vectors.F90.

◆ lattice_vectors_short_info()

character(len=140) function lattice_vectors_oct_m::lattice_vectors_short_info ( class(lattice_vectors_t), intent(in)  this,
type(unit_t), intent(in)  unit_length 
)
private

Definition at line 629 of file lattice_vectors.F90.

◆ lattice_vectors_max_length()

real(real64) function lattice_vectors_oct_m::lattice_vectors_max_length ( class(lattice_vectors_t), intent(in)  this)
private

Definition at line 654 of file lattice_vectors.F90.

◆ build_metric_from_angles()

subroutine lattice_vectors_oct_m::build_metric_from_angles ( type(lattice_vectors_t), intent(inout)  this,
real(real64), dimension(3), intent(in)  angles 
)
private

Definition at line 669 of file lattice_vectors.F90.

◆ reciprocal_lattice()

subroutine lattice_vectors_oct_m::reciprocal_lattice ( real(real64), dimension(:,:), intent(in)  rv,
real(real64), dimension(:,:), intent(out)  kv,
real(real64), intent(out)  volume,
integer, intent(in)  dim,
type(namespace_t), intent(in), optional  namespace 
)
private
Parameters
[in]rv(1:dim, 1:dim)
[out]kv(1:dim, 1:dim)

Definition at line 715 of file lattice_vectors.F90.

◆ lattice_iterator_constructor()

type(lattice_iterator_t) function lattice_vectors_oct_m::lattice_iterator_constructor ( type(lattice_vectors_t), intent(in), target  latt,
real(real64), intent(in)  range 
)
private

Definition at line 768 of file lattice_vectors.F90.

◆ lattice_iterator_copy()

subroutine lattice_vectors_oct_m::lattice_iterator_copy ( class(lattice_iterator_t), intent(out)  this,
class(lattice_iterator_t), intent(in)  source 
)
private

Definition at line 805 of file lattice_vectors.F90.

◆ lattice_iterator_get()

real(real64) function, dimension(1:this%latt%space%dim) lattice_vectors_oct_m::lattice_iterator_get ( class(lattice_iterator_t), intent(in)  this,
integer, intent(in)  ii 
)
private

This function returns the Cartesian coordinates of point 'ii'

Definition at line 820 of file lattice_vectors.F90.

◆ lattice_iterator_finalize()

subroutine lattice_vectors_oct_m::lattice_iterator_finalize ( type(lattice_iterator_t), intent(inout)  this)
private

Definition at line 834 of file lattice_vectors.F90.