learn-physics-0.2: Haskell code for learning physics

Stabilityexperimental
MaintainerScott N. Walck <walck@lvc.edu>
Safe HaskellTrustworthy

Physics.Learn.Current

Contents

Description

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

Synopsis

Current

type Current = DoubleSource

Current is just a synonym for a double-precision floating point number.

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

VolumeCurrent VectorField Volume

VectorField is volume current density

MultipleCurrents [CurrentDistribution]

combination of current distributions

Magnetic Field

bField :: CurrentDistribution -> VectorFieldSource

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).

bFieldFromLineCurrentSource

Arguments

:: Current

current (in Amps)

-> Curve

geometry of the line current

-> VectorField

magnetic field

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.

bFieldFromSurfaceCurrentSource

Arguments

:: VectorField

surface current density

-> Surface

geometry of the surface current

-> VectorField

magnetic field

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.

bFieldFromVolumeCurrentSource

Arguments

:: VectorField

volume current density

-> Volume

geometry of the volume current

-> VectorField

magnetic field

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 -> DoubleSource

The magnetic flux through a surface produced by a current distribution.