The smuthi.linearsystem.tmatrix.nfmds package

nfmds.indexconverter

smuthi.linearsystem.tmatrix.nfmds.indexconverter.multi_index_to_single_nfmds(tau, l, m, Nrank, Mrank)

Converts a (tau,l,m) index to single index in NFMDS convention.

Parameters:
  • tau (int) – SVWF polarization (0 for spherical TE, 1 for spherical TM)

  • l (int) – SVWF degree

  • m (int) – SVWF order

  • Nrank (int) – NFMDS Nrank parameter

  • Mrank (int) – NFMDS Mrank parameter

Returns:

single index in NFMDS convention

Return type:

index (int)

smuthi.linearsystem.tmatrix.nfmds.indexconverter.nfmds_to_smuthi_matrix(T, Nrank=None, Mrank=None, l_max=None, m_max=None)

Converts a T-matrix obtained with NFMDS to SMUTHI compatible format.

Parameters:
  • T (array) – T-matrix in NFMDS convention

  • Nrank (int) – NFMDS Nrank parameter

  • Mrank (int) – NFMDS Mrank parameter

  • l_max (int) – Maximal multipole degree used for the spherical wave expansion of incoming and scattered field

  • m_max (int) – Maximal multipole order used for the spherical wave expansion of incoming and scattered field

Returns:

T-matrix in SMUTHI convention

Return type:

Tsm (array)

smuthi.linearsystem.tmatrix.nfmds.indexconverter.python_to_smuthi_matrix(T, Nrank, Mrank=None, l_max=None, m_max=None)

Converts a T-matrix obtained with Alan’s code to SMUTHI compatible format.

Parameters:
  • T (array) – T-matrix in NFMDS convention

  • Nrank (int) – Alan’s lmax parameter

  • Mrank (int) – Alan’s lmax parameter

  • l_max (int) – Maximal multipole degree used for the spherical wave expansion of incoming and scattered field

  • m_max (int) – Maximal multipole order used for the spherical wave expansion of incoming and scattered field

Returns:

T-matrix in SMUTHI convention

Return type:

Tsm (array)

smuthi.linearsystem.tmatrix.nfmds.indexconverter.single_index_to_multi_nfmds(index, Nrank, Mrank)

Converts single index to (tau,l,m) tuple in NFMDS convention.

Parameters:
  • index (int) – single index in NFMDS convention

  • Nrank (int) – NFMDS Nrank parameter

  • Mrank (int) – NFMDS Mrank parameter

Returns:

SVWF polarization (0 for spherical TE, 1 for spherical TM) l (int): SVWF degree m (int): SVWF order

Return type:

tau (int)

nfmds.stlmanager

smuthi.linearsystem.tmatrix.nfmds.stlmanager.convert_stl_to_fem(stlname, femname)

Converts STL to FEM file :param stlname: name of STL file :type stlname: string :param femname: name of FEM file :type femname: string

smuthi.linearsystem.tmatrix.nfmds.stlmanager.readstl(stlname)

Reads surface information from STL file :param stlname: name of STL file :type stlname: string

Returns:

A list of dictionaries with information about faces of scatterer geometry.

smuthi.linearsystem.tmatrix.nfmds.stlmanager.writefem(femname, surfaces)

Writes information about particle geometry to FEM file. :param femname: name of FEM file :type femname: string :param surfaces: information about faces of scatterer geometry :type surfaces: list