function pde_con

% PDE_CON Show the help for the functions in this toolbox.

% This file is automatically generated.  Matthew Simoneau, 09-04-98
% Copyright (c) 1984-98 by The MathWorks, Inc. All Rights Reserved
% $Revision: 1.10 $ $Date: 1998/10/16 23:19:35 $

helpwin('pde_con/Contents');

function Contents
%MATLAB Tour Partial Function Help:  pde_con
%
%Double click on any function for more information
%
%  Partial Differential Equation Toolbox.
%  Version 1.0.3 (R11)   21-Nov-1997
% 
%  New Features.
%    Readme      - Important release information about the PDE Toolbox
%                  (double click on Readme, or type "whatsnew directoryname",
%                   i.e. "whatsnew pde" to display this file).
% 
%  PDE algorithms.
%    adaptmesh   - Adaptive mesh generation and PDE solution.
%    assema      - Assemble area integral contributions.
%    assemb      - Assemble boundary condition contributions.
%    assempde    - Assemble a PDE problem.
%    hyperbolic  - Solve hyperbolic problem.
%    parabolic   - Solve parabolic problem.
%    pdeeig      - Solve eigenvalue PDE problem.
%    pdenonlin   - Solve nonlinear PDE problem.
%    poisolv     - Fast solution of Poisson's equation on a rectangular grid.
% 
%  User interface algorithms and utilities.
%    pdecirc     - Draw circle.
%    pdeellip    - Draw ellipse.
%    pdemdlcv    - Convert Matlab 4.2c Model M-files for use with Matlab 5.
%    pdepoly     - Draw polygon.
%    pderect     - Draw rectangle.
%    pdetool     - PDE Toolbox graphical user interface (GUI).
% 
%  Geometry algorithms.
%    csgchk      - Check validity of Geometry Description matrix.
%    csgdel      - Delete borders between minimal regions.
%    decsg       - Decompose Constructive Solid Geometry into minimal regions.
%    initmesh    - Build an initial triangular mesh.
%    jigglemesh  - Jiggle internal points of a triangular mesh.
%    pdearcl     - Interpolation between parametric representation and arc length.
%    poimesh     - Make regular mesh on a rectangular geometry.
%    refinemesh  - Refines a triangular mesh.
%    wbound      - Write boundary condition specification data file.
%    wgeom       - Write geometry specification data file.
% 
%  Plot functions.
%    pdecont     - Shorthand command for contour plot.
%    pdegplot    - Plot a PDE geometry.
%    pdemesh     - Plot a PDE triangular mesh.
%    pdeplot     - Generic PDE Toolbox plot function.
%    pdesurf     - Shorthand command for surface plot.
% 
%  Utility algorithms.
%    dst         - Discrete sine transform.
%    idst        - Inverse discrete sine transform.
%    pdeadgsc    - Pick bad triangles using a relative tolerance criterion.
%    pdeadworst  - Pick bad triangles relative to the worst value.
%    pdecgrad    - Compute the flux of a PDE solution.
%    pdeent      - Indices of triangles neighboring a given set of triangles.
%    pdegrad     - Compute the gradient of the PDE solution.
%    pdeintrp    - Interpolate function values to triangle midpoints.
%    pdejmps     - Error estimates for adaption.
%    pdeprtni    - Interpolate function values to mesh nodes.
%    pdesde      - Indices of edges adjacent to a set of subdomains.
%    pdesdp      - Indices of points in a set of subdomains.
%    pdesdt      - Indices of triangles in a set of subdomains.
%    pdesmech    - Compute structural mechanics tensor functions.
%    pdetrg      - Triangle geometry data.
%    pdetriq     - Measure the quality of mesh triangles.
%    poiasma     - Boundary point matrix contributions for Poisson's equation.
%    poicalc     - Fast solution of Poisson's equation on a rectangular grid.
%    poiindex    - Indices of points in canonical ordering for rectangular grid.
%    sptarn      - Solve generalized sparse eigenvalue problem.
%    tri2grid    - Interpolate from PDE triangular mesh to rectangular mesh.
% 
%  User defined algorithms.
%    pdebound    - Boundary M-file.
%    pdegeom     - Geometry M-file.
% 
%  Demonstrations.
%    pdedemo1    - Exact solution of Poisson's equation on unit disk.
%    pdedemo2    - Solve Helmholtz's equation and study the reflected waves.
%    pdedemo3    - Solve a minimal surface problem.
%    pdedemo4    - Solve PDE problem using subdomain decomposition.
%    pdedemo5    - Solve a parabolic PDE (the heat equation).
%    pdedemo6    - Solve a hyperbolic PDE (the wave equation).
%    pdedemo7    - Adaptive solution with point source.
%    pdedemo8    - Solve Poisson's equation on rectangular grid.
% 
%  Copyright (c) 1994-98 by The MathWorks, Inc.
%        $Revision: 1.10 $  $Date: 1998/10/16 23:19:35 $
%

function Readme
%MATLAB Tour Partial Function Help:  pde_con
%
%   Release Notes Partial Differential Equation Toolbox Version 1.0.3
% 
%   PDE Toolbox version 1.0.3 is a point release of the PDE Toolbox.
%   It includes several bug fixes to version 1.0.2.  It's functionality
%   is essentially the same.
% 
%   Printing note:
% 
%   On Windows machines, pdetool does not use the standard print dialog.
%   Instead it uses a crossplatform print dialog, where device drivers
%   other than the standard Windows print driver can be specified.  This
%   is useful for printing solutions to a Postscript printer, using the
%   -dps option, so interpolated colors/grays will be printed.  In
%   order to use these alternate drivers, the port LPT1: must be captured
%   to the printer.  Instructions for capturing a port are
%   available on the WWW at
% 
%   http://www.mathworks.com/support/solutions/v4/6730.html
% 
%   Bug fixes:
% 
%   1) Outline of ellipse during rotation has been fixed.
% 
%   Documentation bugs (for pre-May 1997 printings):
% 
%   1) On page 2-10, line 9 of the example code should read:
%         u=pdenonlin(b,p,e,t,c,0,0,'Tol',rtol);
% 
%   Known issues and bugs:
% 
%   1) Some geometries, notably multiple concentric circles, may not be
%      represented correctly in draw mode, producing an error.  The
%      only work around at this time is to quit PDEtool and restart it.
%      A fix for this problem is currently being developed for the next
%      release.
% 
% 
%  ---------------------------
%  OLD VERSION RELEASE NOTES:
% 
%   Release Notes Partial Differential Equation Toolbox Version 1.0.2
% 
%   PDE Toolbox version 1.0.2 is a point release of the PDE Toolbox.
%   It includes several bug fixes to version 1.0.1.  It's functionality
%   is essentially the same.
% 
%   Printing note:
% 
%   On Windows machines, pdetool does not use the standard print dialog.
%   Instead it uses a crossplatform print dialog, where device drivers
%   other than the standard Windows print driver can be specified.  This
%   is useful for printing solutions to a Postscript printer, using the
%   -dps option, so interpolated colors/grays will be printed.  In
%   order to use these alternate drivers, the port LPT1: must be captured
%   to the printer.  Instructions for capturing a port are
%   available on the WWW at
% 
%   http://www.mathworks.com/support/solutions/v4/6730.html
% 
%   Bug fixes:
% 
%   1) In version 1.0.1, when drawing mode was left, and then reentered,
%      the position of the shapes could not be altered. This has been
%      corrected.
% 
%   2) In previous versions, the mechanical shear stress was miscalulated
%      by 30%.  This has been corrected.
% 
%   3) Some 3-D plots previously did not plot correctly; this has been
%      corrected.
% 
%   4) Incorrect scaling on some plots has been fixed.
% 
%   Documentation bugs (for pre-May 1997 printings):
% 
%   1) On page 2-8, line 6 of the example code should read:
%         ur=real(exp(-j*2*pi/10*sqrt(-1))*u);
% 
%   2) On page 2-10, line 9 of the example code should read:
%         u=pdenonlin(b,p,e,t,c,0,0,'Tol',rtol);
% 
%   3) On page 2-37, last line, the command "Specify PDE" has become
%      "PDE Specification."
% 
%   Known issues and bugs:
% 
%   1) Some geometries, notably multiple concentric circles, may not be
%      represented correctly in draw mode, producing an error.  The
%      only work around at this time is to quit PDEtool and restart it.
%      A fix for this problem is currently being developed for the next
%      release.
% 
% 
%  ---------------------------
% 
%  Release Notes Partial Differential Equation Toolbox Version 1.0.1
% 
%  PDE Toolbox version 1.0.1 is a Matlab 5 compliant version of PDE Toolbox
%  version 1.0. The functionality is similar to PDE Toolbox version 1.0 with
%  the following exceptions:
% 
%  1) Due to changes in the Handle Graphics object properties, Model M-files
%     generated using PDE Toolbox 1.0 and Matlab 4.2c will not work with PDE
%     Toolbox 1.0.1 and Matlab 5. PDE Toolbox 1.0.1 contains a model conversion
%     function, pdemdlcv.m, that converts old Model M-files for use with
%     PDE Toolbox 1.0.1 and Matlab 5. Conversely, Model M-files generated using
%     PDE Toolbox 1.0.1 will not work using PDE Toolbox 1.0 and Matlab 4.
% 
%  2) Several minor bugs have been corrected.
% 
%  Additions to the documentation
% 
%  1) Entry on initmesh, page 5-37: The property name/property value pair
%     Hgrad with a numeric value (default 1.3) has been added. The parameter
%     describes the growth rate of the mesh size away from a small part of
%     the geometry. Valid property values are between 1 and 2.
% 
%  2) Entry on the Mesh Parameters dialog box, page 3-22: Hgrad (see above)
%     has been added to the dialog box. Valid entries are values between 1
%     and 2.
% 
%  3) Entry on the PDE Coefficients dialog box, page 3-18: Addition to the
%     last paragraph: c can be entered using one, two, three, or four
%     values, separated by spaces. Each value represents one row in c. See
%     the entry on assempde in the "Reference" chapter for a detailed
%     description of the representation of the PDE coefficients.
% 
%  4) The parameters epsilon in the Electrostatics application mode, sigma
%     in the Conductive Media DC application mode, k in the Heat Transfer
%     application mode, and D in the Diffusion application mode can be
%     entered using one, two, three, or four values, separated by spaces,
%     i.e., it is possible to model orthotropic and anisotropic
%     coefficients. For the other nongeneric application modes, isotropic
%     coefficients (one value) must be used.
% 
%  5) In the AC power electromagnetics application mode, page 2-51 in the
%     PDE Toolbox User's Guide, the resistive heating rate, should be
%     Q=E^2*sigma (and not Q=E^2/sigma). The correct value is now computed
%     by the toolbox.
% 
% 
%  List of known bugs or potentially inconsistent behavior
% 
%  1) Object labels and selection indication "frames" in Draw mode and PDE
%     mode may disappear after zooming.
% 
%  2) For the Generic System application mode in pdetool, the c
%     coefficient must be entered with the same structure for all subdomains.
% 
%  3) You can obtain information about triangle and node numbers (Mesh mode)
%     or the plotted property (Plot mode) by positioning the cursor and
%     pressing a mouse button. The information is displayed on the
%     information line as long as the mouse button is depressed. For large
%     problems (many nodes) it may take a while for the information to
%     appear.
% 
%  4) It is good practice to press the Return key after having filled out
%     any white edit field in the graphical interface. This executes the
%     callback to the edit control. Otherwise you may have to click twice on
%     any action push button to make it react. This is because the first
%     click executes the callback to the edit control.
% 
% 
%   Problems that occur on the Microsoft Windows platform only
% 
%  5) Icon buttons in the toolbar may not appear depressed even after
%     pressing them. However, the corresponding function is always invoked.
% 
%  6) The clipping of objects does not always work properly when the
%     dimensions of the drawn objects exceed the current axes limits.
% 
% 
%  Problems that occur on the UNIX platforms only with black and white monitors
% 
%  7) The PDE Toolbox is not supported on these platforms.

function adaptmesh
%MATLAB Tour Partial Function Help:  pde_con
%
% ADAPTMESH Adaptive mesh generation and PDE solution.
% 
%        [U,P,E,T]=ADAPTMESH(G,B,C,A,F,P1,V1,...) performs adaptive mesh
%        generation and PDE solution.  The large number of possible input
%        option is handled using property-value pair arguments.  The first
%        five arguments G, B, C, A, and F are not optional.
% 
%        The function produces a solution U to the elliptic scalar PDE problem
%        -div(c*grad(u))+a*u=f where the problem geometry and boundary
%        conditions given by G and B.
% 
%        The solution u is represented as the MATLAB column vector U.
%        See ASSEMPDE for details.
% 
%        G describes the geometry of the PDE problem. G can
%        either be a Decomposed Geometry Matrix or the name of Geometry
%        M-file. See either DECSG or PDEGEOM for details.
% 
%        B describes the boundary conditions of the PDE problem.  B
%        can either be a Boundary Condition Matrix or the name of Boundary
%        M-file. See PDEBOUND for details.
% 
%        The adapted triangular mesh of the PDE problem is given by the triangle
%        data P, E, and T.  See either INITMESH or PDEGEOM for details.
% 
%        The coefficients C, A and F of the PDE problem can
%        be given in a wide variety of ways.  See ASSEMPDE for details.
% 
%        Valid property/value pairs include
% 
%        Prop.   Value/{Default}         Description
%        ----------------------------------------------------------------------
%        Maxt    Positive integer {Inf}  Maximum number of new triangles
%        Ngen    Positive integer {10}   Maximum number of triangle generations
%        Mesh    P1, E1, T1              Initial mesh
%        Tripick {pdeadworst}|pdeadgsc   Triangle selection method
%        Par     Numeric {0.5}           Function parameter
%        Rmethod {longest}|regular       Triangle refinement method
%        Nonlin  on | off                Use nonlinear solver
%        Toln    numeric {1e-3}          Nonlinear tolerance
%        Init    string|numeric          Nonlinear initial solution value
%        Jac     {fixed}|lumped|full     Nonlinear solver Jacobian calculation
%        Norm    Numeric {Inf}           Nonlinear solver residual norm
% 
%        Par is passed to the tripick function. Normally it is used as
%        tolerance of how well the solution fits the equation. No more than
%        Ngen successive refinements are attempted. Refinement is also
%        stopped when the number of triangles in the mesh exceeds the
%        Maxt.
% 
%        P1, E1, and T1 are the input mesh data. This triangle mesh is used
%        as a starting mesh for the adaptive algorithm. If no initial mesh
%        is provided, the result of a call to INITMESH with no options is
%        used as initial mesh.
% 
%        The triangle pick method is a user-definable triangle selection
%        method.  Given the error estimate computed by the function PDEJMPS,
%        the triangle pick method selects the triangles to be refined
%        in the next triangle generation. The function is called using the
%        arguments P, T, CC, AA, FF, U, ERRF, and PAR.  P and T represent the
%        current generation of triangles, CC, AA, FF are the current
%        coefficients for the PDE problem, expanded to triangle midpoints,
%        U is the current solution, ERRF is the computed error estimate,
%        and PAR, the function parameter, given to ADAPTMESH as optional
%        argument. The matrices CC, AA, FF, and ERRF all have NT columns,
%        where NT is the current number of triangles.
%        The number of rows in CC, AA, and FF are exactly the same as the
%        input arguments C, A, and F. ERRF has one row for each equation
%        in the system. There are two standard triangle selection methods
%        in the PDE Toolbox - PDEADWORST and PDEADGSC.
%        PDEADWORST selects triangles where ERRF exceeds a fraction
%        (default: 0.5) of the the worst value. PDEADGSC selects triangles
%        using a relative tolerance criterion.
% 
%        The refinement method is either 'longest' or 'regular'.
%        See REFINEMESH for details.
% 
%        Also nonlinear PDE problems can be solved by the adaptive algorithms.
%        For nonlinear PDE problems, the 'Nonlin' parameter must be set
%        to 'on'. The nonlinear tolerance Toln and nonlinear initial value
%        U0 are passed to the nonlinear solver. See PDENONLIN for details.
% 
%        

function assema
%MATLAB Tour Partial Function Help:  pde_con
%
% ASSEMA Assembles area integral contributions in a PDE problem.
% 
%        [K,M,F1]=ASSEMA(P,T,C,A,F) assembles the stiffness matrix K,
%        the mass matrix M, and the right-hand side vector F1.
% 
%        The following call sequences are also allowed:
%        [K,M,F1]=ASSEMA(P,T,C,A,F,U0)
%        [K,M,F1]=ASSEMA(P,T,C,A,F,U0,TIME)
%        [K,M,F1]=ASSEMA(P,T,C,A,F,U0,TIME,SDL)
%        [K,M,F1]=ASSEMA(P,T,C,A,F,TIME)
%        [K,M,F1]=ASSEMA(P,T,C,A,F,TIME,SDL)
% 
%        The input parameters P, T, C, A, F, U0, TIME, and SDL have the
%        same meaning as in ASSEMPDE.
% 
%        

function assemb
%MATLAB Tour Partial Function Help:  pde_con
%
% ASSEMB Assembles boundary condition contributions in a PDE problem.
% 
%        [Q,G,H,R]=ASSEMB(B,P,E) assembles the matrices Q and
%        H, and the vectors G and R.
%        Q should be added to the system matrix and contains contributions
%        from Mixed boundary conditions.
%        G should be added to the right-hand side and contains contributions
%        from Neumann and Mixed boundary conditions.
%        H*u=R represents the Dirichlet type boundary conditions.
% 
%        The following call sequences are also allowed:
%        [Q,G,H,R]=ASSEMB(B,P,E,U0)
%        [Q,G,H,R]=ASSEMB(B,P,E,U0,TIME)
%        [Q,G,H,R]=ASSEMB(B,P,E,U0,TIME,SDL)
%        [Q,G,H,R]=ASSEMB(B,P,E,TIME)
%        [Q,G,H,R]=ASSEMB(B,P,E,TIME,SDL)
% 
%        The input parameters B, P, E, U0, TIME, and SDL have the same
%        meaning as in ASSEMPDE.
% 
%        

function assempde
%MATLAB Tour Partial Function Help:  pde_con
%
% ASSEMPDE Assemble the stiffness matrix and right hand side a PDE problem.
% 
%        U=ASSEMPDE(B,P,E,T,C,A,F) assembles and solves the PDE problem
%        -div(c*grad(u))+a*u=f, on a mesh described by P, E, and T,
%        with boundary conditions given by the function name B.
%        It eliminates the Dirichlet boundary conditions from the
%        system of linear equations when solving for U.
% 
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F) gives assembled matrices by
%        approximating the Dirichlet boundary condition with stiff springs.
%        K and F are the stiffness matrix and right-hand side vector
%        respectively. The solution to the FEM formulation of the PDE
%        problem is u=K\F1.
% 
%        [K,F1,B1,UD]=ASSEMPDE(B,P,E,T,C,A,F) assembles the PDE problem by
%        eliminating the Dirichlet boundary conditions from the sytem of
%        linear equations. UN=K\F1 returns the solution on the non-Dirichlet
%        points.  The solution to the full PDE problem can be obtained by
%        the MATLAB command U=B1*UN+UD.
% 
%        [K,M,F1,Q,G,H,R]=ASSEMPDE(B,P,E,T,C,A,F) gives a split
%        representation of the PDE problem.
% 
%        U=ASSEMPDE(K,M,F,Q,G,H,R) collapses the split representation
%        into the single matrix/vector form, and then solves the PDE
%        problem by eliminating the Dirichlet boundary conditions
%        from the system of linear equations.
% 
%        [K1,F1]=ASSEMPDE(K,M,F,Q,G,H,R) collapses the split representation
%        into the single matrix/vector form, by fixing the Dirichlet boundary
%        condition with large spring constants.
% 
%        [K1,F1,B,UD]=ASSEMPDE(K,M,F,Q,G,H,R) collapses the split representation
%        into the single matrix/vector form by eliminating the Dirichlet
%        boundary conditions from the system of linear equations.
% 
%        The geometry of the PDE problem is given by the triangle
%        data P, E, and T.  See either INITMESH or PDEGEOM for details.
% 
%        For the scalar case the solution u is represented as a column
%        vector of solution values at the corresponding node points from
%        P.  For a system of dimension N with NP node points, the first
%        NP values of U describe the first component of u, the
%        following NP values of U describe the second component of u,
%        and so on.  Thus, the components of u are placed in the vector
%        U as N blocks of node point values.
% 
%        B describes the boundary conditions of the PDE problem.  B
%        can either be a Boundary Condition Matrix or the name of Boundary
%        M-file. See PDEBOUND for details.
% 
%        The following call sequences are also allowed:
%        U=ASSEMPDE(B,P,E,T,C,A,F,U0)
%        U=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME)
%        U=ASSEMPDE(B,P,E,T,C,A,F,TIME)
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F,U0)
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME)
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME,SDL)
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F,TIME)
%        [K,F1]=ASSEMPDE(B,P,E,T,C,A,F,TIME,SDL)
%        [K,F1,B1,UD]=ASSEMPDE(B,P,E,T,C,A,F,U0)
%        [K,F1,B1,UD]=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME)
%        [K,F1,B1,UD]=ASSEMPDE(B,P,E,T,C,A,F,TIME)
%        [K,M,F1,Q,G,H,R]=ASSEMPDE(B,P,E,T,C,A,F,U0)
%        [K,M,F1,Q,G,H,R]=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME)
%        [K,M,F1,Q,G,H,R]=ASSEMPDE(B,P,E,T,C,A,F,U0,TIME,SDL)
%        [K,M,F1,Q,G,H,R]=ASSEMPDE(B,P,E,T,C,A,F,TIME,SDL)
%        The optional list of subdomain labels, SDL, restricts the
%        assembly process to the subdomains denoted by the labels
%        in the list. The optional input arguments U0 and TIME are used for
%        the nonlinear solver and time stepping algorithms respectively.
%        The tentative input solution vector U0 has the same
%        format as U.
% 
%        PDE COEFFICIENTS FOR SCALAR CASE
% 
%        The coefficients c, a and f of the PDE problem can
%        be given in a wide variety of ways:
%        - A constant.
%        - A row vector of representing values at the triangle centers
%        of mass. A MATLAB text expression for computing coefficient values
%        at the triangle centers of mass. The expression is evaluated in a
%        context where the variables X, Y, SD, U, UX, UY, and T are row
%        vectors representing values at the triangle centers of mass.
%        (T is a scalar). The row vectors contain x- and y-coordinates,
%        subdomain label, solution with x and y derivatives and
%        time. U, UX,  and UY can only be used if U0 have been  passed to
%        ASSEMPDE. The same applies to the scalar T, which is passed to
%        ASSEMPDE as TIME.
%        - A sequence of MATLAB text expressions separated by exclamation
%        marks !.  The syntax of each of the text expressions must
%        be according to the above item.  The number of expressions in
%        the sequence must equal the number of subdomain labels in the
%        triangle list t.
%        - The name of a user-defined MATLAB function that accepts the
%        arguments  (P,T,U,TIME). P and T are mesh data, U is the U0
%        input argument and T is the TIME input argument to ASSEMPDE.
%        U will be the empty matrix, and TIME will be NaN if the
%        corresponding parameter was not passed to ASSEMPDE.
% 
%        If C contains two rows with data according to any of the above
%        items, they are the c(1,1), and c(2,2), elements of a 2-by-2
%        diagonal matrix. If c contains three rows with data according to
%        any of the above items, they are the c(1,1),  c(1,2),
%        and c(2,2) elements of a 2-by-2 symmetric matrix. If C contains four
%        rows with data according to any of the above items, they are the
%        c(1,1), c(2,1), c(1,2), and c(2,2) elements of a 2-by-2 matrix.
% 
%        PDE COEFFICIENTS FOR SYSTEM CASE
% 
%        Let N be the dimension of the PDE system. Now c
%        is a (N, N, 2, 2), a a (N,N) matrix, and f a column
%        vector of length N.  The elements c(I,J,K,L), a(I,J), and f(I)
%        from c, a and f are stored row-wise in the corresponding MATLAB
%        matrices C, A and F. Each row in these matrices are similar in
%        syntax to the scalar case. There is one difference however:
%        At the point of evaluation of the MATLAB text expressions,
%        the variables U, UX, and UY will contain matrices with N rows,
%        one row for each component. The case of identity, diagonal, and
%        symmetric matrices are handled as special cases.  For the tensor
%        c(I,J,K,L) this applies both to the indices I and J, and to the
%        indices K and L.
% 
%        The number of rows in F determines the dimension N of the
%        PDE system.  Row I in F represent the component f(I).
% 
%        The number of rows NA in A is related to the component a(I,J)
%        according to the following table.  For the symmetric case assume
%        that J>=I. All elements a(I,J) that can not be formed are assumed
%        to be zero:
% 
%        ---------------------------------------------------------
%        | NA            | Symm. | a(I,J)        | Row in A      |
%        ---------------------------------------------------------
%        | 1             |       | a(I,I)        | 1             |
%        | N             |       | a(I,I)        | I             |
%        | N*(N+1)/2     | x     | a(I,J)        | J*(J-1)/2+I   |
%        | N^2           |       | a(I,J)        | N*(j-1)+I     |
%        ---------------------------------------------------------
% 
%        The coding of c in the MATLAB matrix C is determined by the
%        dimension N and the number of rows in the matrix. The number of
%        rows NC are matched to the function of N in the first
%        column in the table below-sequentially from the first
%        line to the last line.  The first match determines the type of
%        coding of C. This actually means that for some small values,
%        2<=N<=4, the coding is only determined by the order in which
%        the tests are performed.  For the symmetric case assume that
%        J>=I, and L>=K.  All elements c(I,J,K,L) that can not be formed
%        are assumed to be zero:
% 
%        -----------------------------------------------------------------
%        | NC            | Symm. | c(I,J,K,L)    | Row in C              |
%        -----------------------------------------------------------------
%        | 1             |       | c(I,I,L,L)    | 1                     |
%        | 2             |       | c(I,I,L,L)    | L                     |
%        | 3             |x      | c(I,I,K,L)    | L+K-1                 |
%        | 4             |       | c(I,I,K,L)    | 2*L+K-1               |
%        | N             |       | c(I,I,L,L)    | I                     |
%        | 2*N           |       | c(I,I,L,L)    | 2*I+K-2               |
%        | 3*N           |x      | c(I,I,K,L)    | 3*I+L+K-4             |
%        | 4*N           |       | c(I,I,K,L)    | 4*I+2*L+K-6           |
%        | 2*N*(2*N-1)/2 |x      | c(I,I,K,L)    | 2*J^2+J+L+K-4         |
%        |               |x      | c(I,J,K,L)    | 2*J^2-3*J+4*I+2*L+K-5 |
%        | N^2           |       | c(I,I,K,L)    | 4*N*(J-1)+4*I+2*L+K-6 |
%        -----------------------------------------------------------------
% 
%        

function hyperbolic
%MATLAB Tour Partial Function Help:  pde_con
%
% HYPERBOLIC Solve hyperbolic PDE problem.
% 
%        U1=HYPERBOLIC(U0,UT0,TLIST,B,P,E,T,C,A,F,D) produces the
%        solution to the FEM formulation of the scalar PDE problem
%        d*d^2u/dt^2-div(c*grad(u))+a*u=f, on a mesh described by P, E,
%        and T, with boundary conditions given by B, and with initial
%        value U0 and initial derivative UT0.
% 
%        For the scalar case, each row in the solution matrix U1 is the
%        solution at the coordinates given by the corresponding column in
%        P. Each column in U1 is the solution at the time given by the
%        corresponding item in TLIST.  For a system of dimension N
%        with NP node points, the first NP rows of U1 describe the first
%        component of u, the following NP rows of U1 describe the second
%        component of u, and so on.  Thus, the components of u are placed
%        in blocks U as N blocks of node point rows.
% 
%        B describes the boundary conditions of the PDE problem.  B
%        can either be a Boundary Condition Matrix or the name of Boundary
%        M-file. See PDEBOUND for details.
% 
%        The coefficients C, A, F, and D of the PDE problem can
%        be given in a wide variety of ways.  See ASSEMPDE for details.
% 
%        U1=HYPERBOLIC(U0,UT0,TLIST,B,P,E,T,C,A,F,D,RTOL) and
%        U1=HYPERBOLIC(U0,UT0,TLIST,B,P,E,T,C,A,F,D,RTOL,ATOL) passes
%        absolute and relative relative tolerances to the ODE solver.
% 
%        U1=HYPERBOLIC(U0,UT0,TLIST,K,F,B,UD,M) produces the solution to
%        the ODE problem B'*M*B*(d^2ui/dt^2)+K*ui=F, u=B*ui+ud,
%        with initial values U0 and UT0.
% 
%        

function parabolic
%MATLAB Tour Partial Function Help:  pde_con
%
% PARABOLIC Solve parabolic PDE problem.
% 
%        U1=PARABOLIC(U0,TLIST,B,P,E,T,C,A,F,D) produces the
%        solution to the FEM formulation of the scalar PDE problem
%        d*du/dt-div(c*grad(u))+a*u=f, on a mesh described by P, E,
%        and T, with boundary conditions given by B, and with initial
%        value U0.
% 
%        For the scalar case, each row in the solution matrix U1 is the
%        solution at the coordinates given by the corresponding column in
%        P. Each column in U1 is the solution at the time given by the
%        corresponding item in TLIST.  For a system of dimension N
%        with NP node points, the first NP rows of U1 describe the first
%        component of u, the following NP rows of U1 describe the second
%        component of u, and so on.  Thus, the components of u are placed
%        in blocks U as N blocks of node point rows.
% 
%        B describes the boundary conditions of the PDE problem.  B
%        can either be a Boundary Condition Matrix or the name of Boundary
%        M-file. See PDEBOUND for details.
% 
%        The coefficients C, A, F, and D of the PDE problem can
%        be given in a wide variety of ways.  See ASSEMPDE for details.
% 
%        U1=PARABOLIC(U0,TLIST,B,P,E,T,C,A,F,D,RTOL) and
%        U1=PARABOLIC(U0,TLIST,B,P,E,T,C,A,F,D,RTOL,ATOL) passes
%        absolute and relative relative tolerances to the ODE solver.
% 
%        U1=PARABOLIC(U0,TLIST,K,F,B,UD,M) produces the solution to
%        the ODE problem B'*M*B*(dui/dt)+K*ui=F, u=B*ui+ud,
%        with initial value U0.
% 
%        

function pdeeig
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEEIG Solve eigenvalue PDE problem.
% 
%        [V,L]=PDEEIG(B,P,E,T,C,A,D,R) produces the solution to the
%        FEM formulation of the PDE eigenvalue problem
%        -div(c grad(u))+a u=l d u, on a geometry described by P, E, and
%        T, and with boundary conditions given by B.
% 
%        R is a two element vector, indicating an interval on the real
%        axis. (The left-hand side may be -Inf.) The algorithm returns
%        all eigvalues in this interval in L.
% 
%        V is a matrix of eigenvectors. For the scalar case each column
%        in V is an eigenvector of solution values at the corresponding
%        node points from  P. For a system of dimension N with NP node
%        points, the first NP rows of V describe the first component of
%        v, the following NP rows of V describe the second component of v,
%        and so on.  Thus, the components of v are placed in blocks V
%        as N blocks of node point rows.
% 
%        B describes the boundary conditions of the PDE problem.
%        See PDEBOUND for details.
% 
%        The geometry of the PDE problem is given by the mesh data
%        P, E, and T.  See INITMESH for details.
% 
%        The coefficients C, A, and D of the PDE problem can
%        be given in a wide variety of ways.  See ASSEMPDE for details.
% 
%        [V,L]=PDEEIG(K,B,M,R) produces the solution to the generalized
%        matrix eigenvalue problem K*UI=l B'*M*B*UI, U=B*UI.

function pdenonlin
%MATLAB Tour Partial Function Help:  pde_con
%
% PDENONLIN Solve nonlinear PDE problem.
% 
%        [U,RES]=PDENONLIN(B,P,E,T,C,A,F) solves the the nonlinear
%        PDE problem -div(c*grad(u))+a*u=f, on a mesh described by P, E, and T,
%        with boundary conditions given by the function name B, using damped
%        Newton iteration with the Armijo-Goldstein line search strategy.
% 
%        The solution u is represented as the MATLAB column vector U.
%        See ASSEMPDE for details. RES is the 2-norm of the Newton step
%        residuals.
% 
%        The geometry of the PDE problem is given by the triangle
%        data P, E, and T. See either INITMESH or PDEGEOM for details.
% 
%        B describes the boundary conditions of the PDE problem. B
%        can either be a Boundary Condition Matrix or the name of Boundary
%        M-file. See PDEBOUND for details.
% 
%        The optional arguments TOL and U0 signify a relative tolerance
%        parameter and an initial solution respectively.
% 
%        The coefficients C, A, F of the PDE problem can be given in a
%        wide variety of ways. In the context of PDENONLIN the
%        coefficients can depend on U. The coefficients cannot depend
%        on T, the time.  See ASSEMPDE for details.
% 
%        Fine tuning parameters may be sent to the solver in the form of
%        Parameter-Value pairs. It is possible to choose between computing
%        the full Jacobian, a "lumped" approximation or a fixed point
%        iteration and supply an initial guess of the solution.
%        The maximum number of iterations, the minimal damping factor of
%        the search vector, the size and norm of the residual at termination
%        can be controlled. These adjustments are made by setting one ore more
%        of the following property/value pairs:
% 
%        Property   Value/{Default}              Description
%        --------------------------------------------------------------
%        Jacobian   'lumped'|'full'|{'fixed'}    Jacobian approximation
%        U0          string|numeric {0}          Set initial guess
%        Tol         numeric scalar {1e-4}       Acceptable residual
%        MaxIter     numeric scalar {25}         Maximum iterations
%        MinStep     numeric scalar {1/2^16}     Minimal damping factor
%        Report      'on'|{'off'}                Write convergence info.
%        Norm        numeric|{Inf}|'energy'      Residual norm
% 
%        

function poisolv
%MATLAB Tour Partial Function Help:  pde_con
%
% POISOLV Solution of Poisson's equation on a rectangular grid.
% 
%        U=POISOLV(B,P,E,T,F) solves Poisson's equation with
%        Dirichlet boundary conditions on a regular rectangular
%        grid. A combination of sine transforms and tridiagonal
%        solutions is used for increased performance.
% 
%        The boundary conditions B must specify Dirichlet
%        conditions for all boundary points.
% 
%        The mesh P, E, T must be a regular rectangular grid.
% 
%        F gives the rigth-hand side of Poisson's equation.
% 
%        Apart from round off errors, the result should be
%        the same as U=ASSEMPDE(B,P,E,T,1,0,F)
% 
%        

function pdecirc
%MATLAB Tour Partial Function Help:  pde_con
%
% PDECIRC Draw circle, update Geometry Description matrix.
% 
%        PDECIRC(XC,YC,RADIUS,LABEL) draws a circle
%        with center in (XC,YC), RADIUS radius,
%        and label LABEL. Label is optional. If omitted,
%        a default label will be used.
% 
%        

function pdeellip
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEELLIP Draw ellipse, update Geometry Description matrix.
% 
%        PDEELLIP(XC,YC,RADIUSX,RADIUSY,ANGLE,LABEL)
%        draws an ellipse with center in (XC,YC),
%        x- and y-axis radius (RADIUSX,RADIUSY),
%        rotated counter-clockwise by ANGLE
%        radians. The ellipse is labeled using
%        label (name) LABEL. LABEL and ANGLE are optional.
% 
%        

function pdemdlcv
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEMDLCV Convert PDE Toolbox Model M-files for use in Matlab 5.
%    PDEMDLCV INFILE OUTFILE converts the PDE Toolbox version 1.0
%    Model M-file to a Model M-file that can be used with the Matlab 5
%    compliant version of the PDE Toolbox. The new Model M-file is saved
%    in OUTFILE.

function pdepoly
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEPOLY Draw polygon, update Geometry Description matrix.
% 
%        PDEPOLY(X,Y,LABEL) adds a polygon with vertices
%        determined by vectors X and Y and a label (name) LABEL.
%        Label is optional. A label will be assigned automatically
%        if omitted.
% 
%        

function pderect
%MATLAB Tour Partial Function Help:  pde_con
%
% PDERECT Draw rectangle, update Geometry Description matrix.
% 
%        PDERECT([xmin xmax ymin ymax],LABEL) draws a rectangle
%        with dimensions defined by the x and y values and labeled
%        with the string LABEL. The label is optional. If omitted,
%        a label will be automatically assigned.
% 
%        

function pdetool
%MATLAB Tour Partial Function Help:  pde_con
%
% PDETOOL PDE Toolbox graphical user interface (GUI).
%    PDETOOL provides the graphical user interface for the
%    PDE Toolbox.
% 
%    Call PDETOOL without arguments to start application.

function csgchk
%MATLAB Tour Partial Function Help:  pde_con
%
% CSGCHK Check validity of Geometry Description matrix.
% 
%        GSTAT=CSGCHK(GD,XLIM,YLIM) checks if the solid objects in the
%        Geometry Description matrix GD are valid, given optional real numbers
%        XLIM and YLIM as current length of x- and y-axis, and using a special
%        format for polygons. For a polygon, the last vertex coordinate can now
%        be equal to the first do. to indicate a closed polygon. If XLIM and
%        YLIM are specified and if the first and the last vertices are not
%        equal, the polygon is considered as closed if these vertices are
%        within a certain "closing distance". These optional input arguments
%        are meant to be used only when calling CSGCHK from PDETOOL.
% 
%        GSTAT=CSGCHK(GD) is identical to the above call, except for using
%        the same format of GD that is used by DECSG. This call is recommended
%        when using CSGCHK as a command-line function.
% 
%        GSTAT, the Geometry Status vector, is a row vector of integers that
%        indicates the validity status of the corresponding solid objects,
%        i.e. columns, in GD.
% 
%        For a circle solid, GSTAT=0 indicates that the circle has a positive
%        radius, 1 indicates a non-positive radius and 2 indicates that the
%        circle is not unique.
% 
%        For a polygon, GSTAT=0 indicates that the polygon, is closed and do
%        not intersect itself, i.e. it has a well-defined, unique interior
%        region, 1 indicates an open and non self-intersecting polygon,
%        2 indicates a closed and self-intersecting polygon and 3 indicates
%        an open and self-intersecting polygon.
% 
%        For a rectangle solid, GSTAT is identical to that of a polygon.
%        This is so because a rectangle is considered as a polygon by CSGCHK.
% 
%        For an ellipse solid, GSTAT=0 indicates that the ellipse has positive
%        semiaxes, 1 indicates that at least one of the semiaxes is non
%        positive and 2 indicates that the ellipse is not unique.
% 
%        If GSTAT consists of zero entries only then GD is valid and can be used
%        as input argument by DECSG.
% 
%        

function csgdel
%MATLAB Tour Partial Function Help:  pde_con
%
% CSGDEL Delete boundaries between minimal regions.
% 
%        [DL1,BT1]=CSGDEL(DL,BT,BL) deletes the border segments in the list
%        BL. If the consistency of the Decomposed Geometry matrix is not
%        preserved by the elements in the list BL, additional border
%        segments will be deleted.
% 
%        DL and DL1 are Decomposed Geometry matrices.  See DECSG for details.
% 
%        BT and BT1 are Boolean tables. See DECSG for details.
% 
%        [DL1,BT1]=CSGDEL(DL,BT) deletes all border segments.
% 
%        

function decsg
%MATLAB Tour Partial Function Help:  pde_con
%
% DECSG  Decompose constructive solid geometry into minimal regions.
% 
%        DL=DECSG(GD,SF,NS) decomposes the solid objects GD into
%        the minimal regions DL.  The solid objects are represented by
%        the Geometry Description matrix, and the minimal regions are
%        represented by the Decomposed Geometry matrix.  DECSG returns
%        the minimal regions that evaluate to true for the set formula SF.
%        NS is a Name Space matrix that relates the columns in
%        GD to variable names in SF.
% 
%        DL=DECSG(GD) returns all minimal regions.
% 
%        [DL,BT]=DECSG(GD) and [DL,BT]=DECSG(GD,SF,NS) additionally returns a
%        Boolean table BT that relates the original solid objects to the
%        minimal regions.  A column in BT corresponds to the column with
%        the same index in GD.  A row in BT corresponds to the column with
%        the same index in DL.
% 
%        [DL,BT,DL1,BT1,MSB1]=DECSG(GD) and [DL,BT,DL1,BT1,MSB1]=DECSG(GD)
%        return a second set of minimal regions DL1 with a corresponding
%        Boolean table BT1.  This second set of minimal regions all have
%        a connected outer boundary. These minimal regions can be plotted
%        by using MATLAB patch objects. The calling sequences
%        additionally returns a sequence MSB1 of drawing commands for
%        each second minimal region.
% 
%        GEOMETRY DESCRIPTION MATRIX
% 
%        The  Geometry Description matrix GD describes solid model that
%        you draw in the PDETOOL GUI.
% 
%        Each column in the Geometry Description matrix corresponds to an
%        object in the solid geometry model. Four types of solid objects are
%        supported.  The object type is specified in row one:
% 
%        1. For the circle solid, row one contains 1, the second and
%        third row contain the center x- and y-coordinates respectively.
%        Row four contains the radius of the circle.
%        2. For a polygon solid, row one contains 2, and the second row
%        contains the number, N, of line segments in the boundary.
%        The following N rows contain the x-coordinates of the starting points
%        of the edges, and the following N rows contain the y-coordinates of the
%        starting points of the edges.
%        3. For a rectangle solid, row one contains 3. The format is otherwise
%        identical to the polygon format.
%        4. For an ellipse solid, row one contains 4, the second and
%        third row contain the center x- and y-coordinates respectively. Row
%        four and five contain the major and minor axes of the ellipse.
%        The rotational angle of the ellipse is stored in row six.
% 
%        DECOMPOSED GEOMETRY MATRIX
% 
%        The Decomposed Geometry matrix DL contains a representation of
%        the minimal regions that have been constructed by the DECSG algorithm.
%        Each edge segment of the minimal regions correspond to a column
%        in DL. In each such column rows two and three contain the starting
%        and ending x-coordinate, and rows four and five the corresponding
%        y-coordinate. Rows six and seven contain left and right minimal region
%        numbers with respect to the direction induced by the start and end
%        points (counter clockwise direction on circle and ellipse segments).
%        There are three types of possible edge segments in a minimal regions:
% 
%        1. For circle edge segments row one is 1. Rows eight and nine
%        contain the coordinates of the center of the circle. Row 10 contains
%        the radius.
%        2. For line edge segments row one is 2.
%        3. For ellipse edge segments row one is 4. Rows eight and nine
%        contain the coordinates of the center of the ellipse. Rows 10
%        and 11 contain the major and minor axes of the ellipse
%        respectively. The rotational angle of the ellipse is stored in
%        row 12.
% 
%        SET FORMULA
% 
%        SF contains a set formula expressed with the set of variables
%        listed in NS. The operators '+', '*', and '-' correspond to the
%        set operations union, intersection, and set difference respectively.
%        The precedence of the operators '+' and '*' are the same. '-' has
%        higher precedence. The precedence can be controlled with parentheses.
% 
%        NAME SPACE MATRIX - NS
% 
%        The Name Space matrix NS relates the columns in GD to
%        variable names in SF. Each column in NS contain a sequence of
%        characters, padded with spaces. Each such character column assigns a
%        name to the corresponding geometric object in gd. In this way we can
%        refer to a specific object in gd in the set formula SF.
% 
%        It is assumed that no circles are identical or have zero radius and
%        that no lines have zero length. All polygons must have
%        non-intersecting lines.
% 
%        NaN is returned if the set formula SF cannot be evaluated.
% 
%        

function initmesh
%MATLAB Tour Partial Function Help:  pde_con
%
% INITMESH Build an initial PDE triangular mesh.
% 
%        [P,E,T]=INITMESH(G) returns a triangular mesh using the
%        geometry specification function G. It uses a Delaunay triangulation
%        algorithm. The mesh size is determined from the shape of the geometry.
% 
%        G describes the geometry of the PDE problem. See PDEGEOM for details.
% 
%        The outputs P, E, and T are the mesh data.
% 
%        In the point matrix P, the first and second rows contain
%        x- and y-coordinates of the points in the mesh.
% 
%        In the edge matrix E, the first and second rows contain indices
%        of the starting and ending point, the third and fourth rows contain
%        the starting and ending parameter values, the fifth row contains
%        the boundary segment number, and the sixth and seventh row
%        contain the left- and right-hand side subdomain numbers.
% 
%        In the triangle matrix T, the first three rows contain indices to
%        the corner points, given in counter clockwise order, and the fourth
%        row contains the subdomain number.
% 
%        Valid property/value pairs include
% 
%        Property        Value/{Default}         Description
%        -----------------------------------------------------------
%        Hmax            numeric {estimate}      Maximum edge size
%        Hgrad           numeric {1.3}           Triangle groth rate
%        Box             on|{off}                Preserve bounding box
%        Init            on|{off}                Boundary triangulation
%        Jiggle          off|{mean}|min          Call JIGGLEMESH
%        JiggleIter      numeric {10}            Maximum iterations
% 
%        The Hmax parameter controls the size of the triangles on the
%        mesh.  INITMESH creates a mesh where no triangle side exceeds
%        Hmax.
% 
%        Both the Box and Init parameters are related to the way the
%        mesh algorithm works. By turning on Box you can get a good idea
%        of how the mesh generation algorithm works within the bounding box.
%        By turning on Init you can see the initial triangulation of
%        the boundaries.
% 
%        The Jiggle and JiggleIter parameters are used to control whether
%        jiggling of the mesh should be attempted. See JIGGLEMESH for
%        details.
% 
%        

function jigglemesh
%MATLAB Tour Partial Function Help:  pde_con
%
% JIGGLEMESH Jiggle internal points of a triangular mesh.
% 
%        P1=JIGGLEMESH(P,E,T) jiggles the triangular mesh by adjusting
%        the node point positions. The quality of the mesh normally
%        increases.
% 
%        See PDETRIQ for more info on triangle quality.
% 
%        The following Property/Value pairs are allowed:
% 
%        Property    Value/{Default}           Description
%        ------------------------------------------------------------
%        Opt         {off}|mean|min            Optimization method
%        Iter        1 or 20 (see below)       Maximum number of iterations
% 
%        Each mesh point that is not located on a mesh boundary is
%        moved toward the center of mass of the polygon formed by the
%        adjacent triangles. This process is repeated according to the
%        setting of the Opt and Iter variables:
%        - When Opt is set to off this process is repeated Iter times
%        (default: once).
%        - When Opt is set to mean the process is repeated until the
%        mean triangle quality does not significantly increase, or until
%        the bound Iter is reached (default: 20).
%        - When Opt is set to min the process is repeated until the
%        minimum triangle quality does not significantly increase, or until
%        the bound Iter is reached (default: 20).
% 
%        

function pdearcl
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEARCL Interpolation between parametric representation and arc length.
% 
%        PP=PDEARCL(P,XY,S,S0,S1) returns parameter values for a
%        parametrized curve corresponding to a given set of
%        arc length values.
% 
%        P is a monotone row vector of parameter values and
%        XY is a matrix with two rows giving the corresponding
%        points on the curve.
% 
%        The first point of the curve is given the arc length value
%        S0 and the last point the value S1.
% 
%        On return, PP will contain parameter values corresponding
%        to the arc length values specified in S.
% 
%        The arc length values S, S0, and S1, need only be proportional
%        to arc length.
% 
%        

function poimesh
%MATLAB Tour Partial Function Help:  pde_con
%
% POIMESH Make regular mesh on a rectangular geometry.
% 
%        [P,E,T]=POIMESH(G,NX,NY) constructs a regular mesh
%        on the rectangular geometry specified by G, by dividing
%        the "x edge" into NX pieces and the "y edge" into NY pieces,
%        and placing (NX+1)*(NY+1) points at the intersections.
% 
%        The x edge is the one that makes the smallest angle
%        with the x axis.
% 
%        [P,E,T]=POIMESH(G,N) uses NX=NY=N, and
%        [P,E,T]=POIMESH(G) uses NX=NY=1;
% 
%        For best performance with POISOLV, the larger of NX and NY
%        should be a power of 2.
% 
%        If G does not seem to describe a rectangle, P is zero on return.
% 
%        

function refinemesh
%MATLAB Tour Partial Function Help:  pde_con
%
% REFINEMESH Refine a triangular mesh.
% 
%        [P1,E1,T1]=REFINEMESH(G,P,E,T) returns a refined version
%        of the triangular mesh specified by the geometry G, point matrix P,
%        edge matrix E, and triangle matrix T.
% 
%        G describes the geometry of the PDE problem. G can
%        either be a Decomposed Geometry Matrix or the name of Geometry
%        M-file. See either DECSG or PDEGEOM for details.
% 
%        The triangular mesh is given by the mesh data P, E, and T.
%        Details can be found under INITMESH.
% 
%        [P1,E1,T1,U1]=REFINEMESH(G,P,E,T,U) refines the mesh and also
%        extends the function U to the new mesh by linear interpolation.
%        The number of rows in U should correspond to the number of
%        columns in P, and U1 will have as many rows as there are
%        points in P1. Each column of U is interpolated separately.
% 
%        An extra input argument is interpreted as a list of
%        subdomains to refine, if it is a row vector, or a list of
%        triangles to refine, if it is a column vector.
% 
%        The default refinement method is regular refinement, where
%        all of the specified triangles are divided into four triangles
%        of the same shape. Longest edge refinement, where
%        the longest edge of each specified triangle is bisected, can
%        be demanded by giving 'longest' as a final parameter. Using
%        'regular' as the final parameter results in regular refinement.
%        Some triangles outside of the specified set may also be refined,
%        in order to preserve the triangulation and its quality.
% 
%        

function wbound
%MATLAB Tour Partial Function Help:  pde_con
%
% WBOUND Write Boundary Condition Specification File.
% 
%        FID=WBOUND(BL,MN) writes a Boundary M-file with the name
%        [MN,'.m']. The Boundary M-file is equivalent to the
%        Boundary Condition Matrix BL. FID is -1 if the file couldn't
%        be written.
% 
%        The format of the Boundary Condition Matrix is
%        described in PDEBOUND.

function wgeom
%MATLAB Tour Partial Function Help:  pde_con
%
% WGEOM  Write Geometry Specification Function.
% 
%        FID=WGEOM(DL,MN) writes a Geometry M-file with the name
%        [MN,'.m']. The Geometry M-file is equivalent to the
%        Decomposed Geometry Matrix DL. FID is -1 if the file couldn't
%        be written.
% 
%        The specification of the Decomposed Geometry Matrix, DL,
%        can be found in DECSG.

function pdecont
%MATLAB Tour Partial Function Help:  pde_con
%
% PDECONT Contour plot of PDE solution.
% 
%        PDECONT(P,T,U) draws 10 level curves of the function represented
%        by the column vector U. P and T are point and triangles of a
%        mesh. The function plotted is extended from the values at the
%        points by linear interpolation.
% 
%        PDECONT(P,T,U,N) plots using N levels.
% 
%        PDECONT(P,T,U,V) plots using the levels specified by V.
% 
%        H=PDECONT(P,T,U) returns handles to the line objects.

function pdegplot
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEGPLOT Plot a PDE geometry specification.
% 
%        PDEGPLOT(G) plots the boundary segments specified by G.
%        The internal boundaries are plotted.
% 
%        H=PDEGPLOT(G) returns handles to the plotted axes objects.
% 
%        G describes the geometry of the PDE problem. G can
%        either be a Decomposed Geometry Matrix or the name of Geometry
%        M-file. See either DECSG or PDEGEOM for details.
% 
%        

function pdemesh
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEMESH Plot a PDE triangular mesh.
% 
%        PDEMESH(P,E,T) plots the mesh specified by P, E, and T.
% 
%        PDEMESH(P,E,T,U) plots the solution column vector U using
%        a mesh plot.  If U is a column vector, node data is
%        assumed. If U is a row vector, triangle data is assumed.
%        This command plots the solution substantially faster than the
%        PDESURF command.
% 
%        H=PDEMESH(P,E,T) additionally returns handles to the plotted
%        axes objects.

function pdeplot
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEPLOT Generic PDE Toolbox plot function.
% 
%        H=PDEPLOT(P,E,T,P1,V1,...) displays a function of a solution to a PDE
%        defined on a mesh described by the point matrix P, edge matrix E, and
%        triangle matrix T. Handles to the drawn axes objects are returned in
%        the optional output argument H.
% 
%        Valid property/value pairs include:
% 
%        Property        Value/{Default}
%        ----------------------------------------------------------------
%        xydata          data (e.g., u, abs(c*grad u))
%        xystyle         off | flat | {interp} |
%        contour         {off} | on
%        zdata           data
%        zstyle          off | {continuous} | discontinuous
%        flowdata        data
%        flowstyle       off | {arrow}
%        colormap        name of valid colormap {'cool'} or color matrix
%        xygrid          {off} | on
%        gridparam       [tn; a2; a3] triangle index and interpolation params
%                        from earlier call to tri2grid
%        mesh            {off} | on
%        colorbar        off | {on}
%        title           string {''}
%        levels          no of contour levels or a vector specifying levels {10}
% 
%        

function pdesurf
%MATLAB Tour Partial Function Help:  pde_con
%
% PDESURF Surface plot of PDE solution.
% 
%        PDESURF(P,T,U) plots a 3-D surface of PDE node or triangle data.
%        If U is a column vector, node data is assumed, and continuous
%        style and interpolated shading are used.  If U is a row vector,
%        triangle data is assumed, and discontinuous style and flat shading
%        are used.
% 
%        H=PDESURF(P,T,U) additionally returns a handle to the patch objects.
% 
%        

function dst
%MATLAB Tour Partial Function Help:  pde_con
%
% DST    Discrete sine transform.
% 
%        Y = DST(X) returns the discrete sine transform of X.
%        The vector Y is the same size as X and contains the
%        discrete sine transform coefficients.
% 
%        Y = DST(X,N) pads or truncates the vector X to length N
%        before transforming.
% 
%        If X is a matrix, the DST operation is applied to each
%        column. This transform can be inverted using IDST.
% 
%        

function idst
%MATLAB Tour Partial Function Help:  pde_con
%
% IDST   Inverse discrete sine transform.
% 
%        X = IDST(Y) inverts the DST transform, returning the
%        original vector if Y was obtained using Y = DST(X).
% 
%        X = IDST(Y,N) pads or truncates the vector Y to length N
%        before transforming.
% 
%        If Y is a matrix, the IDST operation is applied to
%        each column.
% 
%        

function pdeadgsc
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEADGSC Select triangles using a relative tolerance criterion
% 
%        BT=PDEADGSC(P,T,C,A,F,U,ERRF,TOL) returns indices of triangles
%        to be refined in BT.
% 
%        The geometry of the PDE problem is given by the triangle data P,
%        and T. Details under INITMESH.
% 
%        C, A, and F are PDE coefficients. See ASSEMPDE for details.
% 
%        U is the current solution, given as a column vector.
%        See ASSEMPDE for details.
% 
%        ERRF is the error indicator, as calculated by PDEJMPS.
% 
%        TOL is a tolerance parameter.
% 
%        Triangles are selected using the criterion
%        ERRF>TOL*SCALE, where SCALE is calculated as follows: Let
%        CMAX be the maximum of C.
%        AMAX be the maximum of A.
%        FMAX be the maximum of F.
%        UMAX be the maximum of U.
%        L be the side of the smallest axis-aligned square that contains
%        the geometry.
% 
%        Then SCALE=MAX(FMAX*L^2,AMAX*UMAX*L^2,CMAX*UMAX). The scaling
%        makes the TOL parameter independent of the scaling of the equation
%        and the geometry.
% 
%        

function pdeadworst
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEADWORST Select triangles relative to the worst value
% 
%        BT=PDEADWORST(P,T,C,A,F,U,ERRF,WLEVEL) returns indices of triangles
%        to be refined in BT.
% 
%        The geometry of the PDE problem is given by the triangle data P,
%        and T. Details under INITMESH.
% 
%        C, A, and F are PDE coefficients. See ASSEMPDE for details.
% 
%        U is the current solution, given as a column vector.
%        See ASSEMPDE for details.
% 
%        ERRF is the error indicator, as calculated by PDEJMPS.
% 
%        WLEVEL is the error level relative to the worst error.
%        WLEVEL must be between 0 and 1.
% 
%        Triangles are selected using the criterion
%        ERRF>WLEVEL*MAX(ERRF).
% 
%        

function pdecgrad
%MATLAB Tour Partial Function Help:  pde_con
%
% PDECGRAD Compute the flux, c*grad(u), of a PDE solution.
% 
%        [CGXU,CGYU]=PDECGRAD(P,T,C,U) returns the flux, c*grad(u),
%        evaluated at the center of each triangle.
% 
%        The geometry of the PDE problem is given by the triangle data P,
%        and T. Details under INITMESH.
% 
%        The coefficient C of the PDE problem can be given in a wide
%        variety of ways. See ASSEMPDE for details.
% 
%        The format for the solution vector U is described in ASSEMPDE.
% 
%        [CGXU,CGYU]=PDECGRAD(P,T,C,U,TIME) is used if the C
%        coefficient is time dependent. TIME is the time.
% 
%        [CGXU,CGYU]=PDECGRAD(P,T,C,U,TIME,SDL) restricts the computation
%        to the subdomains in the list SLD.
% 
%        

function pdeent
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEENT Indices of triangles neighboring a given set of triangles.
% 
%        NTL=PDEENT(T,TL). Given triangle data T and a list of
%        triangle indices TL, NTL contains indices of the triangles
%        in TL and their immediate neighbors.

function pdegrad
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEGRAD Compute the gradient of a PDE solution.
% 
%        [UX,UY]=PDEGRAD(P,T,U) returns grad(u) evaluated at
%        the center of each triangle.
% 
%        The geometry of the PDE problem is given by the triangle data P,
%        and T. Details under INITMESH.
% 
%        The format for the solution vector U is described in ASSEMPDE.
% 
%        [UX,UY]=PDEGRAD(P,T,U,SDL) restricts the computation to the
%        subdomains in the list SDL.
% 
%        

function pdeintrp
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEINTRP Interpolate from node data to triangle midpoint data.
% 
%        UT=PDEINTRP(P,T,UN) gives linearly interpolated values
%        at triangle midpoints from the values at node points.
% 
%        The geometry of the PDE problem is given by the triangle data P
%        and T. Details under INITMESH.
% 
%        Let N be the dimension of the PDE system, and NP the number of
%        node points and NT the number of triangles. The components
%        of the node data are stored in UN either as N columns of
%        length NP or as an ordinary solution vector: The first NP values
%        of UN describe the first component, the following NP values
%        of UN describe the second component, and so on.  The components
%        of triangle data are stored in UT as N rows of length NT.
% 
%        

function pdejmps
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEJMPS Error estimates for adaption.
% 
%        ERRF=PDEJMPS(P,T,C,A,F,U,ALFA,BETA,M) calculates the error
%        indication function used for adaption. The columns of ERRF
%        correspond to triangles, and the rows correspond to the
%        different equations in the PDE system.
% 
%        P and T are mesh data. See INITMESH for details.
% 
%        C, A, and F are PDE coefficients. See ASSEMPDE for details.
%        C, A, and F, must be expanded, so that columns corresponds
%        to triangles.
% 
%        U is the current solution, given as a column vector.
%        See ASSEMPDE for details.
% 
%        The formula for calculating ERRF(:,K) is
%        ALFA*L2K(H^M (F - AU) + BETA SQRT(0.5 SUM((L(J)^M JMP(J))^2))
%        where L2K is the L2 norm on triangle K, H is the linear
%        size of triangle K, L(J) is the length of the J:th side,
%        the SUM ranges over the three sides, and JMP(J) is change
%        in normal derivative over side J.

function pdeprtni
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEPRTNI Interpolate from triangle data midpoints to node data.
% 
%        UN=PDEPRTNI(P,T,UT) gives linearly interpolated values
%        at node point from the values at triangle mid points.
% 
%        The geometry of the PDE problem is given by the triangle data P
%        and T. Details under INITMESH.
% 
%        Let N be the dimension of the PDE system, and NP the number of
%        node points and NT the number of triangles. The components
%        of triangle data in UT are stored as N rows of length NT.
%        The components of the node data are stored in UN as N columns
%        of length NP.
% 
%        

function pdesde
%MATLAB Tour Partial Function Help:  pde_con
%
% PDESDE Indices of exterior edges adjacent to a set of subdomains.
% 
%        I=PDESDE(E,SDL) given edge data E, extracts indices of
%        outer boundary edges of the set of subdomains.
% 
%        If SDL is not given, a list of all subdomains is assumed.

function pdesdp
%MATLAB Tour Partial Function Help:  pde_con
%
% PDESDP Indices of points in a set of subdomains.
% 
%        [I,C]=PDESDP(P,E,T,SDL). Given mesh data P,E,T and a list of
%        subdomain numbers SDL, the function returns all points
%        belonging to those subdomains. A point may belong to several
%        subdomains, and the points belonging to the domains in SDL are
%        divided into two disjoint sets: I contains indices of the
%        points that wholly belong to the subdomains listed in SDL, and
%        C lists points that also belongs to the other subdomains.
% 
%        C=PDESDP(P,E,T,SDL) returns indices of points that belong to
%        more than one of the subdomains in SDL.
% 
%        If SDL is not given, a list of all subdomains is assumed.

function pdesdt
%MATLAB Tour Partial Function Help:  pde_con
%
% PDESDT Indices of triangles in a set of subdomains.
% 
%        I=PDESDT(T,SDL). Given triangle data T and a list of
%        subdomain numbers SDL, I will contain indices of the triangles
%        inside that set of subdomains.
% 
%        If SDL is not given, a list of all subdomains is assumed.

function pdesmech
%MATLAB Tour Partial Function Help:  pde_con
%
% PDESMECH  Calculates structural mechanics tensor functions.
% 
%        OUT=PDESMECH(P,T,C,U,P1,V1,...) computes tensor expressions such
%        as stresses and strains for plane stress and plane strain structural
%        mechanics applications.
%        P and T are the mesh point and triangle matrices, respectively,
%        C is the PDE equation's C coefficient, U = PDE solution [u; v] of
%        length 2*number of nodes.
% 
%        Valid Property/value pairs include
% 
%        tensor          {vonMises} | ux | uy | vx | vy | exx | eyy | exy |
%                        sxx | syy | sxy | e1 | e2 | s1 | s2
%        application     {ps} | pn
%        nu              {0.3} numerical value or string expression

function pdetrg
%MATLAB Tour Partial Function Help:  pde_con
%
% PDETRG Triangle geometry data.
% 
%        [AR,A1,A2,A3]=PDETRG(P,T) returns the area of each triangle in AR
%        and half of the negative cotangent of each angle in A1, A2, and A3.
% 
%        [AR,G1X,G1Y,G2X,G2Y,G3X,G3Y]=PDETRG(P,T) returns the area and the
%        gradient components of the triangle base functions.
% 
%        The geometry of the PDE problem is given by the triangle data P
%        and T. Details under INITMESH.

function pdetriq
%MATLAB Tour Partial Function Help:  pde_con
%
% PDETRIQ Triangle quality measure.
% 
%        Q=PDETRIQ(P,T) returns a triangle quality measure given triangle
%        data. Details on the representation of triangle data in INITMESH.
%        The triangle quality is given by the formula
% 
%                    4*sqrt(3)*a
%                q=---------------,
%                   h1^2+h2^2+h3^2
% 
%        where a is the area and h1, h2, and h3 the side lengths of
%        the triangle. If q>0.6 the triangle is of acceptable quality.
%        q=1 when h_1=h_2=h_3.
% 
% 
%        

function poiasma
%MATLAB Tour Partial Function Help:  pde_con
%
% POIASMA Boundary point matrix contributions for Poisson's equation.
% 
%        K=POIASMA(N1,N2,H1,H2) assembles the contributions to the
%        stiffness matrix from boundary points. N1 and N2 are the numbers
%        of points in the first and second directions, and H1 and H2 are
%        the mesh spacings. K is a sparse N1*N2 by N1*N2 matrix.
%        The point numbering is the canonical for a rectangular mesh.
% 
%        K=POIASMA(N1,N2) uses H1=H2 and K=POIASMA(N) uses N1=N2=N.
% 
%        

function poicalc
%MATLAB Tour Partial Function Help:  pde_con
%
% POICALC Fast solver for Poisson's equation on a rectangular grid.
% 
%        U=POICALC(F,H1,H2,N1,N2) calculates the solution of
%        Poisson's equation for the interior points of an
%        evenly spaced rectangular grid. The columns of U
%        contain the solutions corresponding to the columns
%        of the right-hand side F. H1 and H2 are the spacings
%        in the first and second direction, and N1 and N2 are
%        the number of points.
% 
%        The number of rows in F must be N1*N2. If N1 and N2
%        are not given, the square root of the number of rows
%        of F is assumed. If H1 and H2 are not given, they are
%        assumed to be equal.
% 
%        The ordering of the rows in U and F is the canonical
%        ordering of interior points, as returned by POIINDEX.
% 
%        Solution is obtained by sine transforms in the first
%        direction and tridiagonal matrix solution in the second
%        direction. N1 should be 1 less than a power of 2 for best
%        performance.
% 
%        

function poiindex
%MATLAB Tour Partial Function Help:  pde_con
%
% POIINDEX Indices of points in canonical ordering for rectangular grid.
% 
%        [N1,N2,H1,H2,I,C,II,CC]=POIINDEX(P,E,T,SD) tries to
%        identify a given grid P, E, T in the subdomain SD
%        as an evenly spaced rectangular grid. If the grid
%        is not, N1 is 0 on return. Otherwise N1 and N2
%        are the number of points in the first and second
%        directions, H1 and H2 are the spacings. I and II
%        are of length (N1-2)*(N2-2) and contain
%        indices of interior points. I contains indices of the
%        original mesh, whereas II contains indices of the
%        canonical ordering. C and CC are of length
%        N1*N2-(N1-2)*(N2-2) and contain indices of border
%        points. II and CC are increasing.
% 
%        In the canonical ordering, points are numbered from
%        "left to right" and then from "bottom to top". Thus
%        if N1=3 and N2=5, then II=[5 8 11] and
%        CC=[1 2 3 4 6 7 9 10 12 13 14 15].

function sptarn
%MATLAB Tour Partial Function Help:  pde_con
%
% SPTARN Solve generalized sparse eigenvalue problem.
% 
%        [XV,LMB,IRESULT]=SPTARN(A,B,LB,UB,SPD,TOLCONV,JMAX,MAXMUL)
%        Finds eigenvalues of pencil (A-LMB*B)*XV=0 in interval LB < LMB <= UB.
% 
%        Input data:
%        A, B sparse matrices
%        LB lower bound if -Inf all eigenvalues to the left of UB sought
%        UB upper bound if +Inf all eigenvalues to the right of LB sought
%        One of LB, UB must be finite. Narrower interval gives faster result.
%        In complex case real parts of LMB are compared to LB and UB.
% 
%        Output results:
%        XV eigenvectors, ordered so that NORM(A*XV-B*XV*DIAG(LMB)) small
%        LMB eigenvalues in interval, sorted
%        IRESULT flag ABS(IRESULT) number of eigenvalues found
%        IRESULT =>0 successful termination, all eigenvalues in interval found
%        IRESULT < 0 not yet successful, there may be more eigenvalues. Try
%        again with a smaller interval!
% 
%        Parameters that may be set, but have defaults:
%        SPD   true if pencil known to be symmetric pos definite
%        default false
% 
%        TOLCONV   expected relative accuracy
%        default 100*eps machine precision
% 
%        JMAX  maximum number of basis vectors. You need JMAX*N working space
%        so a small value may be justified on a small computer, otherwise
%        let it be the default value JMAX=100. Normally the algorithm stops
%        earlier when enough eigenvalues have converged.
% 
%        MAXMUL number of Arnoldi runs tried. Must at least be as large
%        as maximum multiplicity of any eigenvalue. If a small value of
%        JMAX is given, many Arnoldi runs are necessary.
%        Default value is MAXMUL=N, which will be needed when all the
%        eigenvalues of the unit matrix are sought!
% 
%        Algorithm description:
%        Uses Arnoldi with spectral transformation. The shift is chosen
%        at UB, LB or at a random point in the interval (LB,UB) when both
%        bounds are finite.
%        Number of steps J in the Arnoldi run depends on how many
%        eigenvalues there are in the interval, but stops at J=MIN(JMAX,N).
%        After a
%        stop, restart to find more Schur vectors in orthogonal complement to
%        all those already found. When no more eigenvalues are found in
%        LB < LMB <= UB, algorithm stops. For small values of JMAX, several
%        restarts may be needed before a certain eigenvalue has converged,
%        algorithm works for JMAX > #eigenvalues in interval + 1, but then
%        many restarts are needed. For large values of JMAX, which is the
%        preferred choice, MUL+1 runs are needed, where MUL is the maximum
%        multiplicity of an eigenvalue in the interval.
%          Works on nonsymmetric as well as symmetric pencils, but then accuracy
%        is approximately TOL*(Henrici departure from normality). The
%        parameter SPD is used only to choose between SYMMMD and COLMMD when
%        factorizing, the former being marginally better for symmetric matrices
%        close to the lower end of the spectrum.
%         case of trouble:
%        If convergence is too slow, try (in this order of priority)
%        1) a smaller interval LB,UB
%        2) a larger JMAX
%        3) a larger MAXMUL.
%          If factorization fails, try again with LB and UB finite.
%        Then shift is chosen at random and hopefully not at an eigenvalue.
%        If it fails again, check whether pencil is singular.
%          If it goes on forever, there may be too many eigenvalues in the
%        strip. Try with a small value MAXMUL=2 and see which eigenvalues you
%        get! Those you get are some of the evs, but a negative iresult tells
%        you that you have not gotten them all.
%          If memory overflows, try smaller JMAX.
%          Algorithm is designed for eigenvalues close to the real axis. If you
%        want those close to the imaginary axis, try A=i*A!
%          When SPD is true, shift is at LB so that advantage is taken of the
%        faster factorization for symmetric positive definite matrices.
%        No harm done but slower execution if LB above lowest eigenvalue.

function tri2grid
%MATLAB Tour Partial Function Help:  pde_con
%
% TRI2GRID Interpolate from triangular mesh to rectangular grid.
% 
%        UXY=TRI2GRID(P,T,U,X,Y) computes the function values UXY
%        over the grid defined by the vectors X and Y, from the
%        function U with values on the triangular mesh defined by P and T.
%        Values are computed using linear interpolation in
%        the triangle containing the grid point. Vectors X and Y
%        must be increasing.
% 
%        [UXY,TN,A2,A3]=TRI2GRID(P,T,U,X,Y) lists
%        the index TN of the triangle containing each grid point,
%        and interpolation coefficients A2 and A3.
% 
%        UXY=TRI2GRID(P,T,U,TN,A2,A3), with TN, A2, and A3 computed
%        in an earlier call to TRI2GRID, interpolates using
%        the same grid as in the earlier call. This variant is,
%        however, much faster if several functions have to be
%        interpolated using the same grid.
% 
%        For grid points outside of the triangular mesh, NaN is
%        returned in UXY, TN, A2, and A3.
% 
%        See INITMESH, REFINEMESH, ASSEMPDE

function pdebound
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEBOUND Boundary M-file.
% 
%        The Boundary M-file can be used to specify the boundary
%        conditions of a PDE problem.
% 
%        [Q,G,H,R]=PDEBOUND(P,E,U,TIME) produces values of boundary
%        conditions.
% 
%        The matrices P and E are mesh data. E need only
%        be a subset of the edges in the mesh. See INITMESH for details.
% 
%        The input arguments U and TIME are used for the nonlinear
%        solver and time stepping algorithms respectively.
% 
%        The solution U is represented as the MATLAB column vector U.
%        See ASSEMPDE for details.
% 
%        Q and G must contain the value of the matrices q and g on the mid
%        point of each boundary. Thus we have SIZE(Q)=[N^2 NE], where
%        N is the dimension of the system, and NE the number of
%        edges in E, and  SIZE(G)=[N NE]. For the Dirichlet case,
%        the corresponding values must be zeros.
% 
%        H and R must contain the values of the matrices h and r at the
%        first point on each edge followed by the value at the second point on
%        each edge. Thus we have SIZE(H)=[N^2 2*NE], where N
%        is the dimension of the system, and NE the number of edges in
%        E, and SIZE(R)=[N 2*NE]. When M<N, h and r must be
%        padded with N-M rows of zeros.
% 
%        The elements of the matrices q, and h are stored in column
%        wise ordering in the MATLAB matrices Q and H.

function pdegeom
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEGEOM Geometry M-file.
% 
%        NE=PDEGEOM is the number of boundary segments
% 
%        D=PDEGEOM(BS) is a matrix with one column for each boundary segment
%        specified in BS.
%        Row 1 contains the start parameter value.
%        Row 2 contains the end parameter value.
%        Row 3 contains the label of the left-hand region.
%        Row 4 contains the label of the right-hand region.
% 
%        [X,Y]=PDEGEOM(BS,S) produces coordinates of boundary points.
%        bs specifies the boundary segments and s the corresponding
%        parameter values. BS can be a scalar.
% 
%        

function pdedemo1
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO1 Compare FEM Solution to exact solution.

function pdedemo2
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO2 Solve Helmholtz's equation study the reflected waves.

function pdedemo3
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO3 Let's solve the minimal surface problem

function pdedemo4
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO4 Solve FEM problem using subdomain decomposition.

function pdedemo5
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO5 Animation demo for heat conduction problem.

function pdedemo6
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO6 Animation demo for wave propagation problem.

function pdedemo7
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO7 Point forces and adaptive solution

function pdedemo8
%MATLAB Tour Partial Function Help:  pde_con
%
% PDEDEMO8 Solve Poisson's equation on rectangular grid.

