Octopus
box_factory_oct_m Module Reference

Module, implementing a factory for boxes. More...

Detailed Description

Module, implementing a factory for boxes.

for the moment, this just has a subroutine which returns a box It could be generalized into a box_factory_t class

Functions/Subroutines

class(box_t) function, pointer, public box_factory_create (namespace, space, latt, n_sites, site_position)
 initialize a box of any type More...
 

Variables

integer, parameter, public sphere = 1
 
integer, parameter, public cylinder = 2
 
integer, parameter, public minimum = 3
 
integer, parameter, public parallelepiped = 4
 
integer, parameter, public box_image = 5
 
integer, parameter, public box_cgal = 6
 
integer, parameter, public box_usdef = 77
 

Function/Subroutine Documentation

◆ box_factory_create()

class(box_t) function, pointer, public box_factory_oct_m::box_factory_create ( type(namespace_t), intent(in)  namespace,
class(space_t), intent(in)  space,
type(lattice_vectors_t), intent(in), optional  latt,
integer, intent(in), optional  n_sites,
real(real64), dimension(:,:), intent(in), optional  site_position 
)

initialize a box of any type

This function parses the input variables and creates the corresponding box.

  • if the system is periodic, the lattice vectors should be passed
    Parameters
    [in]namespacenamespace for the box
    [in]spacespatial dimensions and periodic dimensions
    [in]lattlattice should only be passed if periodic
    [in]n_sitesnumber of provided coordinates
    [in]site_positioncoordinates, currently necessary only for minimum_box (needs to be passed if n_sites is present)
    Returns
    polymorphoc pointer to instance of specialized child class

Definition at line 162 of file box_factory.F90.

Variable Documentation

◆ sphere

integer, parameter, public box_factory_oct_m::sphere = 1

Definition at line 146 of file box_factory.F90.

◆ cylinder

integer, parameter, public box_factory_oct_m::cylinder = 2

Definition at line 146 of file box_factory.F90.

◆ minimum

integer, parameter, public box_factory_oct_m::minimum = 3

Definition at line 146 of file box_factory.F90.

◆ parallelepiped

integer, parameter, public box_factory_oct_m::parallelepiped = 4

Definition at line 146 of file box_factory.F90.

◆ box_image

integer, parameter, public box_factory_oct_m::box_image = 5

Definition at line 146 of file box_factory.F90.

◆ box_cgal

integer, parameter, public box_factory_oct_m::box_cgal = 6

Definition at line 146 of file box_factory.F90.

◆ box_usdef

integer, parameter, public box_factory_oct_m::box_usdef = 77

Definition at line 146 of file box_factory.F90.