![]() |
Octopus
|
Data Types | |
type | hamiltonian_mxll_t |
Functions/Subroutines | |
subroutine, public | hamiltonian_mxll_init (hm, namespace, gr, st) |
Initializing the Maxwell Hamiltonian. More... | |
subroutine, public | hamiltonian_mxll_end (hm) |
logical function, public | hamiltonian_mxll_hermitian (hm) |
subroutine, public | hamiltonian_mxll_span (hm, delta, emin, namespace) |
subroutine, public | hamiltonian_mxll_adjoint (hm) |
subroutine, public | hamiltonian_mxll_not_adjoint (hm) |
subroutine, public | hamiltonian_mxll_update (this, time) |
Maxwell Hamiltonian update (here only the time is updated, can maybe be added to another routine) More... | |
real(real64) function, public | hamiltonian_mxll_get_time (this) |
logical pure function, public | hamiltonian_mxll_apply_packed (this, mesh) |
subroutine, public | hamiltonian_mxll_apply_batch (hm, namespace, der, psib, hpsib, time, terms, set_bc) |
subroutine, public | hamiltonian_mxll_apply_simple (hm, namespace, mesh, psib, hpsib, terms, set_bc) |
subroutine | mxll_apply_pml_simple (hm, gradb) |
subroutine, public | mxll_update_pml_simple (hm, rs_stateb) |
subroutine, public | mxll_copy_pml_simple (hm, rs_stateb) |
subroutine | mxll_linear_medium_terms_simple (hm, rs_stateb) |
subroutine, public | dhamiltonian_mxll_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc) |
Apply hamiltonian to real states (not possible) More... | |
subroutine, public | zhamiltonian_mxll_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc) |
Applying the Maxwell Hamiltonian on Maxwell states. More... | |
subroutine | maxwell_hamiltonian_apply_fd (hm, der, psi, oppsi) |
Applying the Maxwell Hamiltonian on Maxwell states with finite difference. More... | |
subroutine | maxwell_pml_hamiltonian (hm, der, psi, dir1, dir2, tmp) |
Maxwell Hamiltonian is updated for the PML calculation. More... | |
subroutine | maxwell_pml_hamiltonian_medium (hm, der, psi, dir1, dir2, tmp) |
Maxwell Hamiltonian is updated for the PML calculation. More... | |
subroutine | maxwell_pml_calculation_via_riemann_silberstein (hm, der, psi, pml_dir, field_dir, pml) |
Maxwell Hamiltonian is updated for the PML calculation via Riemann-Silberstein vector. More... | |
subroutine | maxwell_pml_calculation_via_riemann_silberstein_medium (hm, der, psi, pml_dir, field_dir, pml) |
Maxwell Hamiltonian is updated for the PML calculation via Riemann-Silberstein vector with medium inside the box. More... | |
subroutine | maxwell_medium_boundaries_calculation (hm, psi, oppsi) |
Maxwell Hamiltonian for medium boundaries. More... | |
subroutine | maxwell_medium_boxes_calculation (hm, der, psi, oppsi) |
subroutine, public | dhamiltonian_mxll_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus) |
Maxwell hamiltonian Magnus (not implemented) More... | |
subroutine, public | zhamiltonian_mxll_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus) |
Maxwell hamiltonian Magnus (not implemented) More... | |
Variables | |
integer, parameter, public | faraday_ampere = 1 |
integer, parameter, public | faraday_ampere_medium = 2 |
integer, parameter, public | mxll_simple = 3 |
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_init | ( | type(hamiltonian_mxll_t), intent(inout) | hm, |
type(namespace_t), intent(in) | namespace, | ||
type(grid_t), intent(inout), target | gr, | ||
type(states_mxll_t), intent(inout), target | st | ||
) |
Initializing the Maxwell Hamiltonian.
Definition at line 254 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_end | ( | type(hamiltonian_mxll_t), intent(inout) | hm | ) |
Definition at line 355 of file hamiltonian_mxll.F90.
logical function, public hamiltonian_mxll_oct_m::hamiltonian_mxll_hermitian | ( | class(hamiltonian_mxll_t), intent(in) | hm | ) |
Definition at line 381 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_span | ( | class(hamiltonian_mxll_t), intent(inout) | hm, |
real(real64), dimension(:), intent(in) | delta, | ||
real(real64), intent(in) | emin, | ||
type(namespace_t), intent(in) | namespace | ||
) |
Definition at line 398 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_adjoint | ( | type(hamiltonian_mxll_t), intent(inout) | hm | ) |
Definition at line 434 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_not_adjoint | ( | type(hamiltonian_mxll_t), intent(inout) | hm | ) |
Definition at line 448 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_update | ( | type(hamiltonian_mxll_t), intent(inout) | this, |
real(real64), intent(in), optional | time | ||
) |
Maxwell Hamiltonian update (here only the time is updated, can maybe be added to another routine)
Definition at line 463 of file hamiltonian_mxll.F90.
real(real64) function, public hamiltonian_mxll_oct_m::hamiltonian_mxll_get_time | ( | type(hamiltonian_mxll_t), intent(inout) | this | ) |
Definition at line 477 of file hamiltonian_mxll.F90.
logical pure function, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_packed | ( | type(hamiltonian_mxll_t), intent(in) | this, |
class(mesh_t), intent(in) | mesh | ||
) |
Definition at line 486 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_batch | ( | type(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
type(derivatives_t), intent(in) | der, | ||
type(batch_t), intent(inout), target | psib, | ||
type(batch_t), intent(inout), target | hpsib, | ||
real(real64), intent(in), optional | time, | ||
integer, intent(in), optional | terms, | ||
logical, intent(in), optional | set_bc | ||
) |
[in] | set_bc | If set to .false. the boundary conditions are assumed to be set previously. |
Definition at line 496 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_simple | ( | type(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
type(batch_t), intent(inout), target | psib, | ||
type(batch_t), intent(inout), target | hpsib, | ||
integer, intent(in), optional | terms, | ||
logical, intent(in), optional | set_bc | ||
) |
[in] | set_bc | If set to .false. the boundary conditions are assumed to be set previously. |
Definition at line 777 of file hamiltonian_mxll.F90.
|
private |
Definition at line 819 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::mxll_update_pml_simple | ( | type(hamiltonian_mxll_t), intent(inout) | hm, |
type(batch_t), intent(inout) | rs_stateb | ||
) |
Definition at line 876 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::mxll_copy_pml_simple | ( | type(hamiltonian_mxll_t), intent(inout) | hm, |
type(batch_t), intent(inout) | rs_stateb | ||
) |
Definition at line 935 of file hamiltonian_mxll.F90.
|
private |
Definition at line 972 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::dhamiltonian_mxll_apply | ( | class(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
class(batch_t), intent(inout), target | psib, | ||
class(batch_t), intent(inout), target | hpsib, | ||
integer, intent(in), optional | terms, | ||
logical, intent(in), optional | set_bc | ||
) |
Apply hamiltonian to real states (not possible)
[in] | set_bc | If .false. the boundary conditions are assumed to be set previously. |
Definition at line 1039 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::zhamiltonian_mxll_apply | ( | class(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
class(batch_t), intent(inout), target | psib, | ||
class(batch_t), intent(inout), target | hpsib, | ||
integer, intent(in), optional | terms, | ||
logical, intent(in), optional | set_bc | ||
) |
Applying the Maxwell Hamiltonian on Maxwell states.
[in] | set_bc | If .false. the boundary conditions are assumed to be set previously. |
Definition at line 1055 of file hamiltonian_mxll.F90.
|
private |
Applying the Maxwell Hamiltonian on Maxwell states with finite difference.
Definition at line 1101 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation.
Definition at line 1249 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation.
Definition at line 1273 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation via Riemann-Silberstein vector.
Definition at line 1297 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation via Riemann-Silberstein vector with medium inside the box.
Definition at line 1342 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian for medium boundaries.
Definition at line 1393 of file hamiltonian_mxll.F90.
|
private |
Definition at line 1455 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::dhamiltonian_mxll_magnus_apply | ( | class(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
class(batch_t), intent(inout) | psib, | ||
class(batch_t), intent(inout) | hpsib, | ||
real(real64), dimension(:, :, :), intent(in) | vmagnus | ||
) |
Maxwell hamiltonian Magnus (not implemented)
Definition at line 1518 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::zhamiltonian_mxll_magnus_apply | ( | class(hamiltonian_mxll_t), intent(in) | hm, |
type(namespace_t), intent(in) | namespace, | ||
class(mesh_t), intent(in) | mesh, | ||
class(batch_t), intent(inout) | psib, | ||
class(batch_t), intent(inout) | hpsib, | ||
real(real64), dimension(:, :, :), intent(in) | vmagnus | ||
) |
Maxwell hamiltonian Magnus (not implemented)
Definition at line 1532 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere = 1 |
Definition at line 245 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere_medium = 2 |
Definition at line 245 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::mxll_simple = 3 |
Definition at line 245 of file hamiltonian_mxll.F90.