Octopus
hamiltonian_mxll.F90 File Reference

Go to the source code of this file.

Modules

module  hamiltonian_mxll_oct_m
 

Data Types

type  hamiltonian_mxll_oct_m::hamiltonian_mxll_t
 

Functions/Subroutines

subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_init (hm, namespace, gr, st)
 Initializing the Maxwell Hamiltonian. More...
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_end (hm)
 
logical function, public hamiltonian_mxll_oct_m::hamiltonian_mxll_hermitian (hm)
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_span (hm, delta, emin, namespace)
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_adjoint (hm)
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_not_adjoint (hm)
 
subroutine, public hamiltonian_mxll_oct_m::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_oct_m::hamiltonian_mxll_get_time (this)
 
logical pure function, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_packed (this, mesh)
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_batch (hm, namespace, der, psib, hpsib, time, terms, set_bc)
 
subroutine apply_pml_boundary (gradb)
 
subroutine scale_after_curl
 
subroutine apply_constant_boundary
 
subroutine apply_medium_box (medium)
 
subroutine, public hamiltonian_mxll_oct_m::hamiltonian_mxll_apply_simple (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 
subroutine hamiltonian_mxll_oct_m::mxll_apply_pml_simple (hm, gradb)
 
subroutine, public hamiltonian_mxll_oct_m::mxll_update_pml_simple (hm, rs_stateb)
 
subroutine, public hamiltonian_mxll_oct_m::mxll_copy_pml_simple (hm, rs_stateb)
 
subroutine hamiltonian_mxll_oct_m::mxll_linear_medium_terms_simple (hm, rs_stateb)
 
subroutine, public hamiltonian_mxll_oct_m::dhamiltonian_mxll_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 Apply hamiltonian to real states (not possible) More...
 
subroutine, public hamiltonian_mxll_oct_m::zhamiltonian_mxll_apply (hm, namespace, mesh, psib, hpsib, terms, set_bc)
 Applying the Maxwell Hamiltonian on Maxwell states. More...
 
subroutine hamiltonian_mxll_oct_m::maxwell_hamiltonian_apply_fd (hm, der, psi, oppsi)
 Applying the Maxwell Hamiltonian on Maxwell states with finite difference. More...
 
subroutine hamiltonian_mxll_oct_m::maxwell_pml_hamiltonian (hm, der, psi, dir1, dir2, tmp)
 Maxwell Hamiltonian is updated for the PML calculation. More...
 
subroutine hamiltonian_mxll_oct_m::maxwell_pml_hamiltonian_medium (hm, der, psi, dir1, dir2, tmp)
 Maxwell Hamiltonian is updated for the PML calculation. More...
 
subroutine hamiltonian_mxll_oct_m::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 hamiltonian_mxll_oct_m::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 hamiltonian_mxll_oct_m::maxwell_medium_boundaries_calculation (hm, psi, oppsi)
 Maxwell Hamiltonian for medium boundaries. More...
 
subroutine hamiltonian_mxll_oct_m::maxwell_medium_boxes_calculation (hm, der, psi, oppsi)
 
subroutine, public hamiltonian_mxll_oct_m::dhamiltonian_mxll_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus)
 Maxwell hamiltonian Magnus (not implemented) More...
 
subroutine, public hamiltonian_mxll_oct_m::zhamiltonian_mxll_magnus_apply (hm, namespace, mesh, psib, hpsib, vmagnus)
 Maxwell hamiltonian Magnus (not implemented) More...
 

Variables

integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere = 1
 
integer, parameter, public hamiltonian_mxll_oct_m::faraday_ampere_medium = 2
 
integer, parameter, public hamiltonian_mxll_oct_m::mxll_simple = 3
 

Function/Subroutine Documentation

◆ apply_pml_boundary()

subroutine hamiltonian_mxll_apply_batch::apply_pml_boundary ( type(batch_t), dimension(:)  gradb)
private

Definition at line 580 of file hamiltonian_mxll.F90.

◆ scale_after_curl()

subroutine hamiltonian_mxll_apply_batch::scale_after_curl
private

Definition at line 676 of file hamiltonian_mxll.F90.

◆ apply_constant_boundary()

subroutine hamiltonian_mxll_apply_batch::apply_constant_boundary
private

Definition at line 698 of file hamiltonian_mxll.F90.

◆ apply_medium_box()

subroutine hamiltonian_mxll_apply_batch::apply_medium_box ( type(single_medium_box_t), intent(in)  medium)
private

Definition at line 723 of file hamiltonian_mxll.F90.