emsurf_port_module Module Reference

Data Types

interface  CubicInterp2D_F
 
type  edge_node
 
type  port
 
type  quant_emsurf
 

Functions/Subroutines

subroutine delete_quant_emsurf (quant)
 
subroutine zelem_emsurf_t (m, n, value, quant)
 
subroutine zelem_emsurf_k (m, n, value, quant, sign)
 
subroutine zelem_emsurf_k_self (m, n, value, quant, sign)
 
subroutine port_e_nxe_dot_rwg_arbi (m, pp, nn, value_e, value_nxe, quant, Exs, Eys, xs, ys, Nx, Ny)
 
subroutine port_nxe_dot_rwg (m, pp, mm, nn, TETM, rr, value, quant)
 
subroutine port_e_dot_rwg (m, pp, mm, nn, TETM, rr, value, quant)
 
subroutine port_nxe (xm, ym, zm, nxe, quant, pp, mm, nn, TETM, rr)
 
subroutine port_e (xm, ym, zm, e, quant, pp, mm, nn, TETM, rr)
 
subroutine port_e_nxe_arbi (xm, ym, zm, e, nxe, quant, pp, nn, Nx, Ny, Exs, Eys, xs, ys)
 
subroutine zelem_emsurf (m, n, value, quant)
 
subroutine zelem_emsurf_post (m, n, value, quant)
 
subroutine zelem_emsurf_real (m, n, value_e, quant)
 
subroutine zelem_emsurf_shifted (m, n, value_e, quant)
 
subroutine gau_grobal (nn, j, x, y, z, w, quant, patchid)
 
subroutine gauss_points (quant)
 
real(kind=8) function ianalytic (mm, jj, xi, yi, zi, quant)
 
real(kind=8) function ianalytic2 (mm, jj, xi, yi, zi, iii, quant)
 
subroutine current_node_patch_mapping (JMflag, string, curr, msh, quant, ptree)
 
real(kind=8) function triangle_area (patch, quant)
 
logical function in_triangle (point, patch, quant)
 
subroutine element_vinc_vv_surf (theta, phi, edge, value, quant)
 
subroutine element_vinc_hh_surf (theta, phi, edge, value, quant)
 
subroutine rcs_bistatic_surf (curr, msh, quant, ptree)
 
subroutine vv_polar_surf (theta, phi, edge, ctemp_1, curr, quant)
 
subroutine hh_polar_surf (theta, phi, edge, ctemp_1, curr, quant)
 
subroutine rcs_monostatic_vv_surf (dsita, dphi, rcs, curr, msh, quant, ptree)
 
subroutine rcs_monostatic_hh_surf (dsita, dphi, rcs, curr, msh, quant, ptree)
 
subroutine geo_modeling_surf (quant, MPIcomm, DATA_DIR)
 
subroutine em_solve_surf (bmat, option, msh, quant, ptree, stats)
 
subroutine em_solve_port_surf (bmat, option, msh, quant, ptree, stats, current, voltage)
 
subroutine nxk_waveguideprecompute (option, msh, quant, ptree, stats)
 
subroutine em_cavity_postprocess (option, msh, quant, ptree, stats, eigvec, nth, norm, eigval, Enormal_GF, ith, model)
 
subroutine field_emsurf_k (point, field, n, quant)
 
subroutine field_emsurf_t (point, field, n, quant)
 
subroutine field_emsurf (point, field, n, quant)
 

Variables

integer, parameter nmodemax =40
 
real(kind=8), dimension(3, 3) r_te_nm = reshape((/3.8317, 1.8412, 3.0542, 7.0156, 5.3314, 6.7061, 10.1735, 8.5363, 9.9695 /), (/3,3/))
 
real(kind=8), dimension(3, 3) r_tm_nm = reshape((/2.4048, 3.8317, 5.1356, 5.5201, 7.0156, 8.4172, 8.6537, 10.1735, 11.6198 /), (/3,3/))
 
real(kind=8), dimension(3, 3) a_te_nm_cir = reshape((/1.40081, 1.63313, 3.32719, 1.87991, 2.34682, 3.18421, 2.25943, 2.93968, 3.59894 /), (/3,3/))
 
real(kind=8), dimension(3, 3) a_tm_nm_cir = reshape((/1.08676, 1.98104, 2.96082, 1.65809, 2.65859, 3.38125, 2.07841, 3.19531, 3.79779 /), (/3,3/))
 
real(kind=8), dimension(3, 3) a_nm_rec = reshape((/0d0, 0d0, 0d0, 0.5d0, 0.125d0, 0.25d0, 0.5d0, 0.25d0, 0.125d0 /), (/3,3/))
 
real(kind=8), dimension(3, 3) b_nm_rec = reshape((/0d0, 0.5d0, 0.5d0, 0d0, 0.125d0, 0.25d0, 0d0, 0.25d0, 0.125d0 /), (/3,3/))
 

Function/Subroutine Documentation

◆ current_node_patch_mapping()

subroutine emsurf_port_module::current_node_patch_mapping ( integer  JMflag,
character(*)  string,
complex(kind=8), dimension(:)  curr,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree 
)
Here is the call graph for this function:

◆ delete_quant_emsurf()

subroutine emsurf_port_module::delete_quant_emsurf ( type(quant_emsurf quant)

◆ element_vinc_hh_surf()

subroutine emsurf_port_module::element_vinc_hh_surf ( real(kind=8)  theta,
real(kind=8)  phi,
integer  edge,
complex(kind=8)  value,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ element_vinc_vv_surf()

subroutine emsurf_port_module::element_vinc_vv_surf ( real(kind=8)  theta,
real(kind=8)  phi,
integer  edge,
complex(kind=8)  value,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ em_cavity_postprocess()

subroutine emsurf_port_module::em_cavity_postprocess ( type(z_hoption)  option,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree,
type(z_hstat)  stats,
complex(kind=8), dimension(:)  eigvec,
integer  nth,
real(kind=8)  norm,
complex(kind=8)  eigval,
complex(kind=8), dimension(:)  Enormal_GF,
integer  ith,
character(len=1024)  model 
)
Here is the call graph for this function:

◆ em_solve_port_surf()

subroutine emsurf_port_module::em_solve_port_surf ( type(z_bmatrix)  bmat,
type(z_hoption)  option,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree,
type(z_hstat)  stats,
complex(kind=8), dimension(:,:)  current,
complex(kind=8), dimension(:,:)  voltage 
)
Here is the call graph for this function:

◆ em_solve_surf()

subroutine emsurf_port_module::em_solve_surf ( type(z_bmatrix)  bmat,
type(z_hoption)  option,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree,
type(z_hstat)  stats 
)
Here is the call graph for this function:

◆ field_emsurf()

subroutine emsurf_port_module::field_emsurf ( real(kind=8), dimension(3)  point,
complex(kind=8), dimension(3)  field,
integer, intent(in)  n,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ field_emsurf_k()

subroutine emsurf_port_module::field_emsurf_k ( real(kind=8), dimension(3)  point,
complex(kind=8), dimension(3)  field,
integer, intent(in)  n,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ field_emsurf_t()

subroutine emsurf_port_module::field_emsurf_t ( real(kind=8), dimension(3)  point,
complex(kind=8), dimension(3)  field,
integer, intent(in)  n,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ gau_grobal()

subroutine emsurf_port_module::gau_grobal ( integer  nn,
integer  j,
real(kind=8), dimension(:)  x,
real(kind=8), dimension(:)  y,
real(kind=8), dimension(:)  z,
real(kind=8), dimension(:)  w,
type(quant_emsurf quant,
integer, optional  patchid 
)

◆ gauss_points()

subroutine emsurf_port_module::gauss_points ( type(quant_emsurf quant)

◆ geo_modeling_surf()

subroutine emsurf_port_module::geo_modeling_surf ( type(quant_emsurf quant,
integer  MPIcomm,
character (*)  DATA_DIR 
)
Here is the call graph for this function:

◆ hh_polar_surf()

subroutine emsurf_port_module::hh_polar_surf ( real(kind=8)  theta,
real(kind=8)  phi,
integer  edge,
complex(kind=8)  ctemp_1,
complex(kind=8)  curr,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ ianalytic()

real(kind=8) function emsurf_port_module::ianalytic ( integer  mm,
integer  jj,
real(kind=8)  xi,
real(kind=8)  yi,
real(kind=8)  zi,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ ianalytic2()

real(kind=8) function emsurf_port_module::ianalytic2 ( integer  mm,
integer  jj,
real(kind=8)  xi,
real(kind=8)  yi,
real(kind=8)  zi,
integer  iii,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ in_triangle()

logical function emsurf_port_module::in_triangle ( real(kind=8), dimension(3)  point,
integer  patch,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ nxk_waveguideprecompute()

subroutine emsurf_port_module::nxk_waveguideprecompute ( type(z_hoption)  option,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree,
type(z_hstat)  stats 
)
Here is the call graph for this function:

◆ port_e()

subroutine emsurf_port_module::port_e ( real(kind=8)  xm,
real(kind=8)  ym,
real(kind=8)  zm,
real(kind=8), dimension(3)  e,
type(quant_emsurf quant,
integer  pp,
integer  mm,
integer  nn,
integer  TETM,
integer  rr 
)
Here is the call graph for this function:

◆ port_e_dot_rwg()

subroutine emsurf_port_module::port_e_dot_rwg ( integer, intent(in)  m,
integer, intent(in)  pp,
integer, intent(in)  mm,
integer, intent(in)  nn,
integer, intent(in)  TETM,
integer, intent(in)  rr,
complex(kind=8)  value,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ port_e_nxe_arbi()

subroutine emsurf_port_module::port_e_nxe_arbi ( real(kind=8)  xm,
real(kind=8)  ym,
real(kind=8)  zm,
real(kind=8), dimension(3)  e,
real(kind=8), dimension(3)  nxe,
type(quant_emsurf quant,
integer  pp,
integer  nn,
integer  Nx,
integer  Ny,
  Exs,
  Eys,
  xs,
  ys 
)
Here is the call graph for this function:

◆ port_e_nxe_dot_rwg_arbi()

subroutine emsurf_port_module::port_e_nxe_dot_rwg_arbi ( integer, intent(in)  m,
integer, intent(in)  pp,
integer, intent(in)  nn,
complex(kind=8)  value_e,
complex(kind=8)  value_nxe,
type(quant_emsurf quant,
  Exs,
  Eys,
  xs,
  ys,
integer, intent(in)  Nx,
integer, intent(in)  Ny 
)
Here is the call graph for this function:

◆ port_nxe()

subroutine emsurf_port_module::port_nxe ( real(kind=8)  xm,
real(kind=8)  ym,
real(kind=8)  zm,
real(kind=8), dimension(3)  nxe,
type(quant_emsurf quant,
integer  pp,
integer  mm,
integer  nn,
integer  TETM,
integer  rr 
)
Here is the call graph for this function:

◆ port_nxe_dot_rwg()

subroutine emsurf_port_module::port_nxe_dot_rwg ( integer, intent(in)  m,
integer, intent(in)  pp,
integer, intent(in)  mm,
integer, intent(in)  nn,
integer, intent(in)  TETM,
integer, intent(in)  rr,
complex(kind=8)  value,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ rcs_bistatic_surf()

subroutine emsurf_port_module::rcs_bistatic_surf ( complex(kind=8), dimension(:,:)  curr,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree 
)
Here is the call graph for this function:

◆ rcs_monostatic_hh_surf()

subroutine emsurf_port_module::rcs_monostatic_hh_surf ( real(kind=8)  dsita,
real(kind=8)  dphi,
real(kind=8)  rcs,
complex(kind=8), dimension(:)  curr,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree 
)
Here is the call graph for this function:

◆ rcs_monostatic_vv_surf()

subroutine emsurf_port_module::rcs_monostatic_vv_surf ( real(kind=8)  dsita,
real(kind=8)  dphi,
real(kind=8)  rcs,
complex(kind=8), dimension(:)  curr,
type(z_mesh)  msh,
type(quant_emsurf quant,
type(z_proctree)  ptree 
)
Here is the call graph for this function:

◆ triangle_area()

real(kind=8) function emsurf_port_module::triangle_area ( integer  patch,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ vv_polar_surf()

subroutine emsurf_port_module::vv_polar_surf ( real(kind=8)  theta,
real(kind=8)  phi,
integer  edge,
complex(kind=8)  ctemp_1,
complex(kind=8)  curr,
type(quant_emsurf quant 
)
Here is the call graph for this function:

◆ zelem_emsurf()

subroutine emsurf_port_module::zelem_emsurf ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value,
class(*), pointer  quant 
)
Here is the call graph for this function:

◆ zelem_emsurf_k()

subroutine emsurf_port_module::zelem_emsurf_k ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value,
type(quant_emsurf quant,
integer, intent(in)  sign 
)
Here is the call graph for this function:

◆ zelem_emsurf_k_self()

subroutine emsurf_port_module::zelem_emsurf_k_self ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value,
type(quant_emsurf quant,
integer, intent(in)  sign 
)
Here is the call graph for this function:

◆ zelem_emsurf_post()

subroutine emsurf_port_module::zelem_emsurf_post ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value,
class(*), pointer  quant 
)
Here is the call graph for this function:

◆ zelem_emsurf_real()

subroutine emsurf_port_module::zelem_emsurf_real ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value_e,
class(*), pointer  quant 
)
Here is the call graph for this function:

◆ zelem_emsurf_shifted()

subroutine emsurf_port_module::zelem_emsurf_shifted ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value_e,
class(*), pointer  quant 
)
Here is the call graph for this function:

◆ zelem_emsurf_t()

subroutine emsurf_port_module::zelem_emsurf_t ( integer, intent(in)  m,
integer, intent(in)  n,
complex(kind=8)  value,
type(quant_emsurf quant 
)
Here is the call graph for this function:

Variable Documentation

◆ a_nm_rec

real(kind=8), dimension(3,3) emsurf_port_module::a_nm_rec = reshape((/0d0, 0d0, 0d0, 0.5d0, 0.125d0, 0.25d0, 0.5d0, 0.25d0, 0.125d0 /), (/3,3/))

◆ a_te_nm_cir

real(kind=8), dimension(3,3) emsurf_port_module::a_te_nm_cir = reshape((/1.40081, 1.63313, 3.32719, 1.87991, 2.34682, 3.18421, 2.25943, 2.93968, 3.59894 /), (/3,3/))

◆ a_tm_nm_cir

real(kind=8), dimension(3,3) emsurf_port_module::a_tm_nm_cir = reshape((/1.08676, 1.98104, 2.96082, 1.65809, 2.65859, 3.38125, 2.07841, 3.19531, 3.79779 /), (/3,3/))

◆ b_nm_rec

real(kind=8), dimension(3,3) emsurf_port_module::b_nm_rec = reshape((/0d0, 0.5d0, 0.5d0, 0d0, 0.125d0, 0.25d0, 0d0, 0.25d0, 0.125d0 /), (/3,3/))

◆ nmodemax

integer, parameter emsurf_port_module::nmodemax =40

◆ r_te_nm

real(kind=8), dimension(3,3) emsurf_port_module::r_te_nm = reshape((/3.8317, 1.8412, 3.0542, 7.0156, 5.3314, 6.7061, 10.1735, 8.5363, 9.9695 /), (/3,3/))

◆ r_tm_nm

real(kind=8), dimension(3,3) emsurf_port_module::r_tm_nm = reshape((/2.4048, 3.8317, 5.1356, 5.5201, 7.0156, 8.4172, 8.6537, 10.1735, 11.6198 /), (/3,3/))