Octopus
|
This module defines non-local operators. More...
This module defines non-local operators.
Data Types | |
type | nl_operator_index_t |
index type for non-local operators More... | |
type | nl_operator_t |
data type for non local operators More... | |
interface | op_is_available |
Functions/Subroutines | |
subroutine, public | nl_operator_global_init (namespace) |
initialize global settings for non-local operators More... | |
subroutine, public | nl_operator_global_end () |
subroutine, public | nl_operator_init (op, label) |
initialize an instance of a non-local operator by setting the label More... | |
subroutine, public | nl_operator_copy (opo, opi) |
subroutine, public | nl_operator_build (space, mesh, op, np, const_w, regenerate) |
subroutine, public | nl_operator_output_weights (this) |
subroutine, public | nl_operator_adjoint (op, opt, mesh, self_adjoint) |
opt has to be initialised and built. More... | |
subroutine, public | nl_operator_end (op) |
integer pure function, public | nl_operator_get_index (op, is, ip) |
subroutine, public | nl_operator_allocate_gpu_buffers (op) |
subroutine, public | nl_operator_update_gpu_buffers (op) |
integer pure function, public | nl_operator_np_zero_bc (op) |
logical pure function, public | nl_operator_compact_boundaries () |
subroutine, public | dnl_operator_operate_batch (op, fi, fo, ghost_update, profile, points, factor, async) |
subroutine, public | dnl_operator_operate (op, fi, fo, ghost_update, profile, points) |
subroutine, public | dnl_operator_operate_diag (op, fo) |
subroutine, public | znl_operator_operate_batch (op, fi, fo, ghost_update, profile, points, factor, async) |
subroutine, public | znl_operator_operate (op, fi, fo, ghost_update, profile, points) |
subroutine, public | znl_operator_operate_diag (op, fo) |
Variables | |
integer, parameter | op_fortran = 0 |
integer, parameter | op_vec = 1 |
integer, parameter | op_min = OP_FORTRAN |
integer, parameter | op_max = OP_VEC |
integer, parameter | op_invmap = 1 |
integer, parameter | op_map = 2 |
integer, parameter | op_nomap = 3 |
integer, parameter, public | op_all = 3 |
integer, parameter, public | op_inner = 1 |
integer, parameter, public | op_outer = 2 |
logical | compact_boundaries |
integer | dfunction_global = -1 |
integer | zfunction_global = -1 |
integer | function_opencl |
subroutine, public nl_operator_oct_m::nl_operator_global_init | ( | type(namespace_t), intent(in) | namespace | ) |
initialize global settings for non-local operators
Definition at line 254 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_global_end |
Definition at line 338 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_init | ( | type(nl_operator_t), intent(inout) | op, |
character(len=*), intent(in) | label | ||
) |
initialize an instance of a non-local operator by setting the label
Definition at line 348 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_copy | ( | type(nl_operator_t), intent(inout) | opo, |
type(nl_operator_t), intent(in), target | opi | ||
) |
Definition at line 361 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_build | ( | class(space_t), intent(in) | space, |
type(mesh_t), intent(in), target | mesh, | ||
type(nl_operator_t), intent(inout) | op, | ||
integer, intent(in) | np, | ||
logical, intent(in), optional | const_w, | ||
logical, intent(in), optional | regenerate | ||
) |
[in] | np | Number of (local) points. |
[in] | const_w | are the weights constant (independent of the point) |
Definition at line 416 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_output_weights | ( | type(nl_operator_t), intent(inout) | this | ) |
Definition at line 710 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_adjoint | ( | type(nl_operator_t), intent(in), target | op, |
type(nl_operator_t), intent(out), target | opt, | ||
type(mesh_t), intent(in), target | mesh, | ||
logical, intent(in) | self_adjoint | ||
) |
opt has to be initialised and built.
[in] | self_adjoint | if .true., make the operator self-adjoint, else skew-self-adjoint |
Definition at line 746 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_end | ( | type(nl_operator_t), intent(inout) | op | ) |
Definition at line 830 of file nl_operator.F90.
integer pure function, public nl_operator_oct_m::nl_operator_get_index | ( | type(nl_operator_t), intent(in) | op, |
integer, intent(in) | is, | ||
integer, intent(in) | ip | ||
) |
Definition at line 883 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_allocate_gpu_buffers | ( | type(nl_operator_t), intent(inout) | op | ) |
Definition at line 893 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::nl_operator_update_gpu_buffers | ( | type(nl_operator_t), intent(inout) | op | ) |
Definition at line 910 of file nl_operator.F90.
integer pure function, public nl_operator_oct_m::nl_operator_np_zero_bc | ( | type(nl_operator_t), intent(in) | op | ) |
Definition at line 926 of file nl_operator.F90.
logical pure function, public nl_operator_oct_m::nl_operator_compact_boundaries |
Definition at line 941 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::dnl_operator_operate_batch | ( | type(nl_operator_t), intent(in), target | op, |
type(batch_t), intent(inout), target | fi, | ||
type(batch_t), intent(inout) | fo, | ||
logical, intent(in), optional | ghost_update, | ||
logical, intent(in), optional | profile, | ||
integer, intent(in), optional | points, | ||
real(real64), intent(in), optional | factor, | ||
logical, intent(in), optional | async | ||
) |
[in,out] | fo | this should be target, but old ifort 9.1 segfaults with it |
Definition at line 1016 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::dnl_operator_operate | ( | type(nl_operator_t), intent(in) | op, |
real(real64), dimension(:), intent(inout), contiguous | fi, | ||
real(real64), dimension(:), intent(out), target, contiguous | fo, | ||
logical, intent(in), optional | ghost_update, | ||
logical, intent(in), optional | profile, | ||
integer, intent(in), optional | points | ||
) |
[in,out] | fi | fi(opnp_part) |
Definition at line 1467 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::dnl_operator_operate_diag | ( | type(nl_operator_t), intent(in) | op, |
real(real64), dimension(:), intent(out) | fo | ||
) |
Definition at line 1492 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::znl_operator_operate_batch | ( | type(nl_operator_t), intent(in), target | op, |
type(batch_t), intent(inout), target | fi, | ||
type(batch_t), intent(inout) | fo, | ||
logical, intent(in), optional | ghost_update, | ||
logical, intent(in), optional | profile, | ||
integer, intent(in), optional | points, | ||
real(real64), intent(in), optional | factor, | ||
logical, intent(in), optional | async | ||
) |
[in,out] | fo | this should be target, but old ifort 9.1 segfaults with it |
Definition at line 1584 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::znl_operator_operate | ( | type(nl_operator_t), intent(in) | op, |
complex(real64), dimension(:), intent(inout), contiguous | fi, | ||
complex(real64), dimension(:), intent(out), target, contiguous | fo, | ||
logical, intent(in), optional | ghost_update, | ||
logical, intent(in), optional | profile, | ||
integer, intent(in), optional | points | ||
) |
[in,out] | fi | fi(opnp_part) |
Definition at line 2035 of file nl_operator.F90.
subroutine, public nl_operator_oct_m::znl_operator_operate_diag | ( | type(nl_operator_t), intent(in) | op, |
complex(real64), dimension(:), intent(out) | fo | ||
) |
Definition at line 2060 of file nl_operator.F90.
|
private |
Definition at line 223 of file nl_operator.F90.
|
private |
Definition at line 223 of file nl_operator.F90.
|
private |
Definition at line 223 of file nl_operator.F90.
|
private |
Definition at line 223 of file nl_operator.F90.
|
private |
Definition at line 229 of file nl_operator.F90.
|
private |
Definition at line 229 of file nl_operator.F90.
|
private |
Definition at line 229 of file nl_operator.F90.
integer, parameter, public nl_operator_oct_m::op_all = 3 |
Definition at line 234 of file nl_operator.F90.
integer, parameter, public nl_operator_oct_m::op_inner = 1 |
Definition at line 234 of file nl_operator.F90.
integer, parameter, public nl_operator_oct_m::op_outer = 2 |
Definition at line 234 of file nl_operator.F90.
|
private |
Definition at line 236 of file nl_operator.F90.
|
private |
Definition at line 245 of file nl_operator.F90.
|
private |
Definition at line 246 of file nl_operator.F90.
|
private |
Definition at line 247 of file nl_operator.F90.