![]() |
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.