| 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 |
Physics.Learn.Current
Description
This module contains functions for working with current, magnetic field, and magnetic flux.
Synopsis
- 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.
Constructors
| 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 #
Arguments
| :: 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 #
Arguments
| :: 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 #
Arguments
| :: 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.