learn-physics-0.6.2: Haskell code for learning physics

Copyright(c) Scott N. Walck 2012-2014
LicenseBSD3 (see LICENSE)
MaintainerScott N. Walck <walck@lvc.edu>
Stabilityexperimental
Safe HaskellTrustworthy
LanguageHaskell98

Physics.Learn.Current

Contents

Description

This module contains functions for working with current, magnetic field, and magnetic flux.

Synopsis

Current

type Current = Double Source #

Electric current, in units of Amperes (A)

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

VectorField is surface current density (A/m)

VolumeCurrent VectorField Volume

VectorField is volume current density (A/m^2)

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.