Octopus
|
Module implementing boundary conditions in Octopus. More...
Module implementing boundary conditions in Octopus.
Octopus can treat systems with various boundary conditions:
Data Types | |
interface | boundaries_set |
type | boundaries_t |
This class contains information about the boundary conditions. More... | |
type | par_vec_handle_batch_t |
auxiliary handle for ghost updates More... | |
Functions/Subroutines | |
subroutine, public | boundaries_init (this, namespace, space, mesh, qvector) |
initialize the boundary contitions More... | |
subroutine, public | boundaries_end (this) |
subroutine | boundaries_set_batch (this, mesh, ffb, phase_correction, buff_phase_corr, offset, async) |
subroutine, public | zpar_vec_ghost_update (pv, v_local) |
Updates ghost points of every node. More... | |
subroutine, public | zghost_update_batch_start (pv, v_local, handle) |
subroutine, public | zghost_update_batch_finish (handle) |
subroutine | zboundaries_set_batch (boundaries, mesh, ffb, phase_correction, buff_phase_corr, offset, async) |
Set all boundary points in ffb. More... | |
subroutine | zboundaries_set_single (boundaries, mesh, ff, phase_correction, buff_phase_corr, offset) |
set boundary conditions for a single mesh function More... | |
subroutine, public | dpar_vec_ghost_update (pv, v_local) |
Updates ghost points of every node. More... | |
subroutine, public | dghost_update_batch_start (pv, v_local, handle) |
subroutine, public | dghost_update_batch_finish (handle) |
subroutine | dboundaries_set_batch (boundaries, mesh, ffb, phase_correction, buff_phase_corr, offset, async) |
Set all boundary points in ffb. More... | |
subroutine | dboundaries_set_single (boundaries, mesh, ff, phase_correction, buff_phase_corr, offset) |
set boundary conditions for a single mesh function More... | |
Variables | |
integer, parameter, public | point_boundary = 1 |
integer, parameter, public | point_inner = 2 |
subroutine, public boundaries_oct_m::boundaries_init | ( | type(boundaries_t), intent(inout) | this, |
type(namespace_t), intent(in) | namespace, | ||
class(space_t), intent(in) | space, | ||
type(mesh_t), intent(in), target | mesh, | ||
real(real64), dimension(:), intent(in), optional | qvector | ||
) |
initialize the boundary contitions
[in] | qvector | momentum transfer for spiral BC |
Definition at line 226 of file boundaries.F90.
subroutine, public boundaries_oct_m::boundaries_end | ( | type(boundaries_t), intent(inout) | this | ) |
Definition at line 427 of file boundaries.F90.
|
private |
Definition at line 457 of file boundaries.F90.
subroutine, public boundaries_oct_m::zpar_vec_ghost_update | ( | type(par_vec_t), intent(in) | pv, |
complex(real64), dimension(:), intent(inout), contiguous | v_local | ||
) |
Updates ghost points of every node.
A vector suitable for non-local operations contains local values and ghost point values. Length of v_local must be pvnp_local+pvnp_ghost
[in] | pv | descriptor of the domain parallelization |
[in,out] | v_local | mesh function to be updated |
Definition at line 555 of file boundaries.F90.
subroutine, public boundaries_oct_m::zghost_update_batch_start | ( | type(par_vec_t), intent(in), target | pv, |
class(batch_t), intent(inout), target | v_local, | ||
type(par_vec_handle_batch_t), intent(out) | handle | ||
) |
[in] | pv | descriptor of the domain parallelization |
[in,out] | v_local | batch of mesh functions to be updated |
[out] | handle | handle to be passed to the finish() routine |
Definition at line 585 of file boundaries.F90.
subroutine, public boundaries_oct_m::zghost_update_batch_finish | ( | type(par_vec_handle_batch_t), intent(inout) | handle | ) |
Definition at line 762 of file boundaries.F90.
|
private |
Set all boundary points in ffb.
[in] | boundaries | the boundary conditions |
[in] | mesh | underlying mesh |
[in,out] | ffb | batch to be operated on |
[in] | phase_correction | optional phase corrections (see ...) |
[in] | buff_phase_corr | device buffer for phase corrections |
[in] | offset | offset for accessing the phase corrections |
Definition at line 803 of file boundaries.F90.
|
private |
set boundary conditions for a single mesh function
Definition at line 1309 of file boundaries.F90.
subroutine, public boundaries_oct_m::dpar_vec_ghost_update | ( | type(par_vec_t), intent(in) | pv, |
real(real64), dimension(:), intent(inout), contiguous | v_local | ||
) |
Updates ghost points of every node.
A vector suitable for non-local operations contains local values and ghost point values. Length of v_local must be pvnp_local+pvnp_ghost
[in] | pv | descriptor of the domain parallelization |
[in,out] | v_local | mesh function to be updated |
Definition at line 1412 of file boundaries.F90.
subroutine, public boundaries_oct_m::dghost_update_batch_start | ( | type(par_vec_t), intent(in), target | pv, |
class(batch_t), intent(inout), target | v_local, | ||
type(par_vec_handle_batch_t), intent(out) | handle | ||
) |
[in] | pv | descriptor of the domain parallelization |
[in,out] | v_local | batch of mesh functions to be updated |
[out] | handle | handle to be passed to the finish() routine |
Definition at line 1442 of file boundaries.F90.
subroutine, public boundaries_oct_m::dghost_update_batch_finish | ( | type(par_vec_handle_batch_t), intent(inout) | handle | ) |
Definition at line 1619 of file boundaries.F90.
|
private |
Set all boundary points in ffb.
[in] | boundaries | the boundary conditions |
[in] | mesh | underlying mesh |
[in,out] | ffb | batch to be operated on |
[in] | phase_correction | optional phase corrections (see ...) |
[in] | buff_phase_corr | device buffer for phase corrections |
[in] | offset | offset for accessing the phase corrections |
Definition at line 1660 of file boundaries.F90.
|
private |
set boundary conditions for a single mesh function
Definition at line 2166 of file boundaries.F90.
integer, parameter, public boundaries_oct_m::point_boundary = 1 |
Definition at line 193 of file boundaries.F90.
integer, parameter, public boundaries_oct_m::point_inner = 2 |
Definition at line 193 of file boundaries.F90.