Octopus
magnetic_oct_m Module Reference

Functions/Subroutines

subroutine, public magnetic_density (mesh, std, rho, md)
 
subroutine, public magnetic_moment (mesh, st, rho, mm)
 
subroutine, public write_magnetic_moments (mesh, st, ions, boundaries, lmm_r, iunit, namespace)
 
subroutine, public magnetic_local_moments (mesh, st, ions, boundaries, rho, rr, lmm)
 
subroutine, public magnetic_total_magnetization (mesh, st, qq, trans_mag)
 
subroutine, public magnetic_induced (namespace, gr, st, psolver, kpoints, a_ind, b_ind)
 This subroutine receives as input a current, and produces as an output the vector potential that it induces. More...
 
subroutine, public write_total_xc_torque (iunit, mesh, vxc, st)
 
subroutine, public calc_xc_torque (mesh, vxc, st, torque)
 

Function/Subroutine Documentation

◆ magnetic_density()

subroutine, public magnetic_oct_m::magnetic_density ( class(mesh_t), intent(in)  mesh,
type(states_elec_dim_t), intent(in)  std,
real(real64), dimension(:,:), intent(in)  rho,
real(real64), dimension(:,:), intent(out)  md 
)
Parameters
[in]rho(np, stdnspin)
[out]md(np, 3)

Definition at line 155 of file magnetic.F90.

◆ magnetic_moment()

subroutine, public magnetic_oct_m::magnetic_moment ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:,:), intent(in)  rho,
real(real64), dimension(3), intent(out)  mm 
)

Definition at line 182 of file magnetic.F90.

◆ write_magnetic_moments()

subroutine, public magnetic_oct_m::write_magnetic_moments ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(ions_t), intent(in)  ions,
type(boundaries_t), intent(in)  boundaries,
real(real64), intent(in)  lmm_r,
integer, intent(in), optional  iunit,
type(namespace_t), intent(in), optional  namespace 
)

Definition at line 210 of file magnetic.F90.

◆ magnetic_local_moments()

subroutine, public magnetic_oct_m::magnetic_local_moments ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
type(ions_t), intent(in)  ions,
type(boundaries_t), intent(in)  boundaries,
real(real64), dimension(:,:), intent(in)  rho,
real(real64), intent(in)  rr,
real(real64), dimension(max(mesh%box%dim, 3), ions%natoms), intent(out)  lmm 
)

Definition at line 264 of file magnetic.F90.

◆ magnetic_total_magnetization()

subroutine, public magnetic_oct_m::magnetic_total_magnetization ( class(mesh_t), intent(in)  mesh,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:), intent(in)  qq,
complex(real64), dimension(6), intent(out)  trans_mag 
)

Definition at line 333 of file magnetic.F90.

◆ magnetic_induced()

subroutine, public magnetic_oct_m::magnetic_induced ( type(namespace_t), intent(in)  namespace,
type(grid_t), intent(in)  gr,
type(states_elec_t), intent(inout)  st,
type(poisson_t), intent(in)  psolver,
type(kpoints_t), intent(in)  kpoints,
real(real64), dimension(:, :), intent(out), contiguous  a_ind,
real(real64), dimension(:, :), intent(out), contiguous  b_ind 
)

This subroutine receives as input a current, and produces as an output the vector potential that it induces.

Warning
There is probably a problem for 2D. For 1D none of this makes sense?
Parameters
[out]a_inda_ind(dermeshnp_part, derdim)
[out]b_indif derdim=3, b_ind(dermeshnp_part, derdim) if derdim=2, b_ind(dermeshnp_part, 1)

Definition at line 380 of file magnetic.F90.

◆ write_total_xc_torque()

subroutine, public magnetic_oct_m::write_total_xc_torque ( integer, intent(in)  iunit,
class(mesh_t), intent(in)  mesh,
real(real64), dimension(:,:), intent(in)  vxc,
type(states_elec_t), intent(in)  st 
)

Definition at line 430 of file magnetic.F90.

◆ calc_xc_torque()

subroutine, public magnetic_oct_m::calc_xc_torque ( class(mesh_t), intent(in)  mesh,
real(real64), dimension(:,:), intent(in)  vxc,
type(states_elec_t), intent(in)  st,
real(real64), dimension(:,:), intent(inout)  torque 
)

Definition at line 460 of file magnetic.F90.