Copyright  (c) Scott N. Walck 20122014 

License  BSD3 (see LICENSE) 
Maintainer  Scott N. Walck <walck@lvc.edu> 
Stability  experimental 
Safe Haskell  Trustworthy 
Language  Haskell98 
 data Surface = Surface {
 surfaceFunc :: (Double, Double) > Position
 lowerLimit :: Double
 upperLimit :: Double
 lowerCurve :: Double > Double
 upperCurve :: Double > Double
 unitSphere :: Surface
 centeredSphere :: Double > Surface
 sphere :: Double > Position > Surface
 northernHemisphere :: Surface
 disk :: Double > Surface
 shiftSurface :: Displacement > Surface > Surface
 surfaceIntegral :: (VectorSpace v, Scalar v ~ Double) => Int > Int > Field v > Surface > v
 dottedSurfaceIntegral :: Int > Int > VectorField > Surface > Double
Surfaces
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).
Surface  

A unit sphere, centered at the origin.
centeredSphere :: Double > Surface Source
A sphere with given radius centered at the origin.
northernHemisphere :: Surface Source
The upper half of a unit sphere, centered at the origin.
shiftSurface :: Displacement > Surface > Surface Source
Shift a surface by a displacement.
Surface Integrals
:: (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.
:: 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.