learn-physics-0.6.6: Haskell code for learning physics
Copyright(c) Scott N. Walck 2012-2019
LicenseBSD3 (see LICENSE)
MaintainerScott N. Walck <walck@lvc.edu>
Stabilityexperimental
Safe HaskellSafe
LanguageHaskell2010

Physics.Learn.Surface

Description

This module contains functions for working with Surfaces and surface integrals over Surfaces.

Synopsis

Surfaces

data Surface Source #

Surface is a parametrized function from two parameters to space, lower and upper limits on the first parameter, and lower and upper limits for the second parameter (expressed as functions of the first parameter).

Constructors

Surface 

Fields

unitSphere :: Surface Source #

A unit sphere, centered at the origin.

centeredSphere :: Double -> Surface Source #

A sphere with given radius centered at the origin.

sphere :: Double -> Position -> Surface Source #

Sphere with given radius and center.

northernHemisphere :: Surface Source #

The upper half of a unit sphere, centered at the origin.

disk :: Double -> Surface Source #

A disk with given radius, centered at the origin.

shiftSurface :: Displacement -> Surface -> Surface Source #

Shift a surface by a displacement.

Surface Integrals

surfaceIntegral Source #

Arguments

:: (VectorSpace v, Scalar v ~ Double) 
=> Int

number of intervals for first parameter, s

-> Int

number of intervals for second parameter, t

-> Field v

the scalar or vector field to integrate

-> Surface

the surface over which to integrate

-> v

the resulting scalar or vector

A plane surface integral, in which area element is a scalar.

dottedSurfaceIntegral Source #

Arguments

:: Int

number of intervals for first parameter, s

-> Int

number of intervals for second parameter, t

-> VectorField

the vector field to integrate

-> Surface

the surface over which to integrate

-> Double

the resulting scalar

A dotted surface integral, in which area element is a vector.