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 253 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_end | ( | type(hamiltonian_mxll_t), intent(inout) | hm | ) |
Definition at line 354 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 380 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 397 of file hamiltonian_mxll.F90.
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_adjoint | ( | type(hamiltonian_mxll_t), intent(inout) | hm | ) |
Definition at line 433 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 447 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 462 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 476 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 485 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 495 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 776 of file hamiltonian_mxll.F90.
|
private |
Definition at line 818 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 875 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 934 of file hamiltonian_mxll.F90.
|
private |
Definition at line 971 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 set to .false. the boundary conditions are assumed to be set previously. |
Definition at line 1038 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 set to .false. the boundary conditions are assumed to be set previously. |
Definition at line 1054 of file hamiltonian_mxll.F90.
|
private |
Applying the Maxwell Hamiltonian on Maxwell states with finite difference.
Definition at line 1100 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation.
Definition at line 1248 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation.
Definition at line 1272 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian is updated for the PML calculation via Riemann-Silberstein vector.
Definition at line 1296 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 1341 of file hamiltonian_mxll.F90.
|
private |
Maxwell Hamiltonian for medium boundaries.
Definition at line 1392 of file hamiltonian_mxll.F90.
|
private |
Definition at line 1454 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 1517 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 1531 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere = 1 |
Definition at line 244 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere_medium = 2 |
Definition at line 244 of file hamiltonian_mxll.F90.
integer, parameter, public hamiltonian_mxll_oct_m::mxll_simple = 3 |
Definition at line 244 of file hamiltonian_mxll.F90.