Skip to content
OFFICIAL SS DOCUMENTATION

SS.Electromagnetics 1.3.0

Dimension-safe analytical electromagnetics plus explicit 3D electrostatic and 2D magnetic vector-potential entry points, symmetric-positive-definite anisotropic permittivity tensors, and field energy/conservation quadrature
API 1.3.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

Dependencies: SS.Discretization ^1.2.0, SS.FEM ^1.7.0

Public API

Public signature
export function anisotropicPermittivity(double xx, double yy, double zz, double xy, double xz, double yz, string unitName)->PermittivityTensor

Parameters: xx: double, yy: double, zz: double, xy: double, xz: double, yz: double, unitName: string


Public signature
export function capacitorEnergy(capacitance value, voltage potential) -> EnergyResult

Parameters: value: capacitance, potential: voltage


Public signature
export function dielectric(string name, double relativePermittivity) -> Dielectric

Parameters: name: string, relativePermittivity: double


Public signature
export record Dielectric(public string name, public double relativePermittivity)

Parameters: name: string, relativePermittivity: double


Public signature
export function dielectricInterface1D(double leftPotential, double rightPotential, double firstLength, double secondLength, double firstPermittivity, double secondPermittivity)->DielectricInterface1D

Parameters: leftPotential: double, rightPotential: double, firstLength: double, secondLength: double, firstPermittivity: double, secondPermittivity: double


Public signature
export record DielectricInterface1D(public double interfacePotential, public double firstField, public double secondField, public double displacement, public double voltageBalanceError, public double displacementJump)

Parameters: interfacePotential: double, firstField: double, secondField: double, displacement: double, voltageBalanceError: double, displacementJump: double


Public signature
export record ElectrostaticField(public double[] potential, public double[] electricX, public double[] electricY, public double[] electricZ, public double[] displacementX, public double[] displacementY, public double[] displacementZ, public double energy, public double sourceCharge, public double boundaryFlux, public double relativeGaussResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: potential: double[], electricX: double[], electricY: double[], electricZ: double[], displacementX: double[], displacementY: double[], displacementZ: double[], energy: double, sourceCharge: double, boundaryFlux: double, relativeGaussResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export function electrostaticGrid(int columns, int rows, int layers, double width, double height, double depth, double[] permittivity, double[] chargeDensity, bool[] fixedPotential, double[] prescribedPotential, double[] initialPotential, string provenance)->ElectrostaticGrid

Parameters: columns: int, rows: int, layers: int, width: double, height: double, depth: double, permittivity: double[], chargeDensity: double[], fixedPotential: bool[], prescribedPotential: double[], initialPotential: double[], provenance: string


Public signature
export record ElectrostaticGrid(public int columns, public int rows, public int layers, public double width, public double height, public double depth, public double[] permittivity, public double[] chargeDensity, public bool[] fixedPotential, public double[] prescribedPotential, public double[] initialPotential, public string provenance)

Parameters: columns: int, rows: int, layers: int, width: double, height: double, depth: double, permittivity: double[], chargeDensity: double[], fixedPotential: bool[], prescribedPotential: double[], initialPotential: double[], provenance: string


Public signature
export class ElectrostaticLineKernel(public double permittivity, public double elementLength): ElementKernel export function ElectrostaticLineKernel_dofs(ElectrostaticLineKernel self, int element) -> int[]

Parameters: permittivity: double, elementLength: double


Public signature
export function ElectrostaticLineKernel_dofs(ElectrostaticLineKernel self, int element) -> int[]

Parameters: self: ElectrostaticLineKernel, element: int


Public signature
export function ElectrostaticLineKernel_matrix(ElectrostaticLineKernel self, int element) -> double[]

Parameters: self: ElectrostaticLineKernel, element: int


Public signature
export function ElectrostaticLineKernel_vector(ElectrostaticLineKernel self, int element) -> double[]

Parameters: self: ElectrostaticLineKernel, element: int


Public signature
export record ElectrostaticPointResult(public electricField fieldMagnitude, public voltage potential)

Parameters: fieldMagnitude: electricField, potential: voltage


Public signature
export function electrostaticPotential3D(ElectrostaticGrid model, double tolerance, int maximumIterations, double relaxation)->ElectrostaticField

Parameters: model: ElectrostaticGrid, tolerance: double, maximumIterations: int, relaxation: double


Public signature
export record EnergyResult(public J stored, public double relativeBalanceError)

Parameters: stored: J, relativeBalanceError: double


Public signature
export function fieldEnergyIntegral(double[] fieldX, double[] fieldY, double[] fieldZ, double[] fluxX, double[] fluxY, double[] fluxZ, double[] weights, double sourceIntegral, double boundaryFlux, double tolerance)->FieldEnergyIntegralResult

Parameters: fieldX: double[], fieldY: double[], fieldZ: double[], fluxX: double[], fluxY: double[], fluxZ: double[], weights: double[], sourceIntegral: double, boundaryFlux: double, tolerance: double


Public signature
export record FieldEnergyIntegralResult(public double energy, public double sourceIntegral, public double boundaryFlux, public double relativeBalanceResidual, public bool conserved, public string diagnostic)

Parameters: energy: double, sourceIntegral: double, boundaryFlux: double, relativeBalanceResidual: double, conserved: bool, diagnostic: string


Public signature
export function inductorEnergy(inductance value, A current) -> EnergyResult

Parameters: value: inductance, current: A


Public signature
export function magneticMaterial(string name, double relativePermeability) -> MagneticMaterial

Parameters: name: string, relativePermeability: double


Public signature
export record MagneticMaterial(public string name, public double relativePermeability)

Parameters: name: string, relativePermeability: double


Public signature
export function magneticVectorPotential2D(MagnetostaticGrid2D model, double tolerance, int maximumIterations, double relaxation)->MagnetostaticField2D

Parameters: model: MagnetostaticGrid2D, tolerance: double, maximumIterations: int, relaxation: double


Public signature
export record MagnetostaticField2D(public double[] vectorPotential, public double[] fluxDensityX, public double[] fluxDensityY, public double energy, public double sourceCurrent, public double boundaryCirculation, public double relativeAmpereResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: vectorPotential: double[], fluxDensityX: double[], fluxDensityY: double[], energy: double, sourceCurrent: double, boundaryCirculation: double, relativeAmpereResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export function magnetostaticGrid2D(int columns, int rows, double width, double height, double[] permeability, double[] currentDensity, bool[] fixedPotential, double[] prescribedPotential, double[] initialPotential, string provenance)->MagnetostaticGrid2D

Parameters: columns: int, rows: int, width: double, height: double, permeability: double[], currentDensity: double[], fixedPotential: bool[], prescribedPotential: double[], initialPotential: double[], provenance: string


Public signature
export record MagnetostaticGrid2D(public int columns, public int rows, public double width, public double height, public double[] permeability, public double[] currentDensity, public bool[] fixedPotential, public double[] prescribedPotential, public double[] initialPotential, public string provenance)

Parameters: columns: int, rows: int, width: double, height: double, permeability: double[], currentDensity: double[], fixedPotential: bool[], prescribedPotential: double[], initialPotential: double[], provenance: string


Public signature
export function parallelPlateCapacitance(Dielectric material, area plateArea, m separation) -> capacitance

Parameters: material: Dielectric, plateArea: area, separation: m


Public signature
export record PermittivityTensor(public double xx, public double yy, public double zz, public double xy, public double xz, public double yz, public string unitName, public bool positiveDefinite)

Parameters: xx: double, yy: double, zz: double, xy: double, xz: double, yz: double, unitName: string, positiveDefinite: bool


Public signature
export function planeWave(permeability magnetic, permittivity electric) -> PlaneWaveResult

Parameters: magnetic: permeability, electric: permittivity


Public signature
export record PlaneWaveResult(public velocity speed, public resistance impedance)

Parameters: speed: velocity, impedance: resistance


Public signature
export function pointCharge(charge source, permittivity medium, m radius) -> ElectrostaticPointResult

Parameters: source: charge, medium: permittivity, radius: m


Public signature
export function reflectionCoefficient(resistance incident, resistance transmitted) -> double

Parameters: incident: resistance, transmitted: resistance


Public signature
export function solenoidInductance(MagneticMaterial material, int turns, area crossSection, m length) -> inductance

Parameters: material: MagneticMaterial, turns: int, crossSection: area, length: m


Public signature
export function solveElectrostatic(ElectrostaticGrid model, double tolerance, int maximumIterations, double relaxation)->ElectrostaticField

Parameters: model: ElectrostaticGrid, tolerance: double, maximumIterations: int, relaxation: double


Public signature
export function solveMagnetostatic2D(MagnetostaticGrid2D model, double tolerance, int maximumIterations, double relaxation)->MagnetostaticField2D

Parameters: model: MagnetostaticGrid2D, tolerance: double, maximumIterations: int, relaxation: double


Public signature
export function solvePotentialLine(voltage left, voltage right, m length, permittivity medium, int elements) -> voltage[]

Parameters: left: voltage, right: voltage, length: m, medium: permittivity, elements: int


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.