diff options
Diffstat (limited to 'src/algebra/d03routine.spad.pamphlet')
-rw-r--r-- | src/algebra/d03routine.spad.pamphlet | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/src/algebra/d03routine.spad.pamphlet b/src/algebra/d03routine.spad.pamphlet deleted file mode 100644 index bc090fb3..00000000 --- a/src/algebra/d03routine.spad.pamphlet +++ /dev/null @@ -1,164 +0,0 @@ -\documentclass{article} -\usepackage{open-axiom} -\begin{document} -\title{\$SPAD/src/algebra d03routine.spad} -\author{Brian Dupee} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{domain D03EEFA d03eefAnnaType} -<<domain D03EEFA d03eefAnnaType>>= -)abbrev domain D03EEFA d03eefAnnaType -++ Author: Brian Dupee -++ Date Created: June 1996 -++ Date Last Updated: June 1996 -++ Basic Operations: -++ Description: -++ \axiomType{d03eefAnnaType} is a domain of -++ \axiomType{PartialDifferentialEquationsSolverCategory} -++ for the NAG routines D03EEF/D03EDF. -d03eefAnnaType():PartialDifferentialEquationsSolverCategory == Result add -- 2D Elliptic PDE - LEDF ==> List Expression DoubleFloat - EDF ==> Expression DoubleFloat - LDF ==> List DoubleFloat - MDF ==> Matrix DoubleFloat - DF ==> DoubleFloat - F ==> Float - FI ==> Fraction Integer - VEF ==> Vector Expression Float - EF ==> Expression Float - MEF ==> Matrix Expression Float - NNI ==> NonNegativeInteger - INT ==> Integer - PDEC ==> Record(start:DF, finish:DF, grid:NNI, boundaryType:INT, - dStart:MDF, dFinish:MDF) - PDEB ==> Record(pde:LEDF, constraints:List PDEC, - f:List LEDF, st:String, tol:DF) - - import d03AgentsPackage, NagPartialDifferentialEquationsPackage - import ExpertSystemToolsPackage - - measure(R:RoutinesTable,args:PDEB) == - (# (args.constraints) > 2)@Boolean => - [0$F,"d03eef/d03edf is unsuitable for PDEs of order more than 2"] - elliptic?(args) => - m := getMeasure(R,d03eef :: Symbol)$RoutinesTable - [m,"d03eef/d03edf is suitable"] - [0$F,"d03eef/d03edf is unsuitable for hyperbolic or parabolic PDEs"] - - PDESolve(args:PDEB) == - xcon := first(args.constraints) - ycon := second(args.constraints) - nx := xcon.grid - ny := ycon.grid - p := args.pde - x1 := xcon.start - x2 := xcon.finish - y1 := ycon.start - y2 := ycon.finish - lda := ((4*(nx+1)*(ny+1)+2) quo 3)$INT - scheme:String := - central?((x2-x1)/2,(y2-y1)/2,args.pde) => "C" - "U" - asp73:Union(fn:FileName,fp:Asp73(PDEF)) := - [retract(vector([edf2ef u for u in p])$VEF)$Asp73(PDEF)] - asp74:Union(fn:FileName,fp:Asp74(BNDY)) := - [retract(matrix([[edf2ef v for v in w] for w in args.f])$MEF)$Asp74(BNDY)] - fde := d03eef(x1,x2,y1,y2,nx,ny,lda,scheme,-1,asp73,asp74) - ub := new(1,nx*ny,0$DF)$MDF - A := search(a::Symbol,fde)$Result - A case "failed" => empty()$Result - AA := A::Any - fdea := retract(AA)$AnyFunctions1(MDF) - r := search(rhs::Symbol,fde)$Result - r case "failed" => empty()$Result - rh := r::Any - fderhs := retract(rh)$AnyFunctions1(MDF) - d03edf(nx,ny,lda,15,args.tol,0,fdea,fderhs,ub,-1) - -@ -\section{domain D03FAFA d03fafAnnaType} -<<domain D03FAFA d03fafAnnaType>>= -)abbrev domain D03FAFA d03fafAnnaType -++ Author: Brian Dupee -++ Date Created: July 1996 -++ Date Last Updated: July 1996 -++ Basic Operations: -++ Description: -++ \axiomType{d03fafAnnaType} is a domain of -++ \axiomType{PartialDifferentialEquationsSolverCategory} -++ for the NAG routine D03FAF. -d03fafAnnaType():PartialDifferentialEquationsSolverCategory == Result add -- 3D Helmholtz PDE - LEDF ==> List Expression DoubleFloat - EDF ==> Expression DoubleFloat - LDF ==> List DoubleFloat - MDF ==> Matrix DoubleFloat - DF ==> DoubleFloat - F ==> Float - FI ==> Fraction Integer - VEF ==> Vector Expression Float - EF ==> Expression Float - MEF ==> Matrix Expression Float - NNI ==> NonNegativeInteger - INT ==> Integer - PDEC ==> Record(start:DF, finish:DF, grid:NNI, boundaryType:INT, - dStart:MDF, dFinish:MDF) - PDEB ==> Record(pde:LEDF, constraints:List PDEC, - f:List LEDF, st:String, tol:DF) - - import d03AgentsPackage, NagPartialDifferentialEquationsPackage - import ExpertSystemToolsPackage - - measure(R:RoutinesTable,args:PDEB) == - (# (args.constraints) < 3)@Boolean => - [0$F,"d03faf is unsuitable for PDEs of order other than 3"] - [0$F,"d03faf isn't finished"] - -@ -\section{License} -<<license>>= ---Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. ---All rights reserved. --- ---Redistribution and use in source and binary forms, with or without ---modification, are permitted provided that the following conditions are ---met: --- --- - Redistributions of source code must retain the above copyright --- notice, this list of conditions and the following disclaimer. --- --- - Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in --- the documentation and/or other materials provided with the --- distribution. --- --- - Neither the name of The Numerical ALgorithms Group Ltd. nor the --- names of its contributors may be used to endorse or promote products --- derived from this software without specific prior written permission. --- ---THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS ---IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ---TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A ---PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER ---OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ---EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ---PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ---PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ---LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ---NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ---SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@ -<<*>>= -<<license>> - -<<domain D03EEFA d03eefAnnaType>> -<<domain D03FAFA d03fafAnnaType>> -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} |