Copyright | (c) Scott N. Walck 2012-2014 |
---|---|
License | BSD3 (see LICENSE) |
Maintainer | Scott N. Walck <walck@lvc.edu> |
Stability | experimental |
Safe Haskell | Trustworthy |
Language | Haskell98 |
This module contains functions for working with current, magnetic field, and magnetic flux.
- type Current = Double
- data CurrentDistribution
- bField :: CurrentDistribution -> VectorField
- bFieldFromLineCurrent :: Current -> Curve -> VectorField
- bFieldFromSurfaceCurrent :: VectorField -> Surface -> VectorField
- bFieldFromVolumeCurrent :: VectorField -> Volume -> VectorField
- magneticFlux :: Surface -> CurrentDistribution -> Double
Current
data CurrentDistribution Source #
A current distribution is a line current (current through a wire), a surface current,
a volume current, or a combination of these.
The VectorField
describes a surface current density
or a volume current density.
LineCurrent Current Curve | current through a wire |
SurfaceCurrent VectorField Surface |
|
VolumeCurrent VectorField Volume |
|
MultipleCurrents [CurrentDistribution] | combination of current distributions |
Magnetic Field
bField :: CurrentDistribution -> VectorField Source #
The magnetic field produced by a current distribution. This is the simplest way to find the magnetic field, because it works for any current distribution (line, surface, volume, or combination).
bFieldFromLineCurrent Source #
:: Current | current (in Amps) |
-> Curve | geometry of the line current |
-> VectorField | magnetic field (in Tesla) |
Magnetic field produced by a line current (current through a wire).
The function bField
calls this function
to evaluate the magnetic field produced by a line current.
bFieldFromSurfaceCurrent Source #
:: VectorField | surface current density |
-> Surface | geometry of the surface current |
-> VectorField | magnetic field (in T) |
Magnetic field produced by a surface current.
The function bField
calls this function
to evaluate the magnetic field produced by a surface current.
This function assumes that surface current density
will be specified parallel to the surface, and does
not check if that is true.
bFieldFromVolumeCurrent Source #
:: VectorField | volume current density |
-> Volume | geometry of the volume current |
-> VectorField | magnetic field (in T) |
Magnetic field produced by a volume current.
The function bField
calls this function
to evaluate the magnetic field produced by a volume current.
Magnetic Flux
magneticFlux :: Surface -> CurrentDistribution -> Double Source #
The magnetic flux through a surface produced by a current distribution.