Class hierarchy Compound list File list Compound Members File Members Related Pages Examples
d2TCGTO_s Class Reference
The d2TCGTO_s class is a user interface for the graph transform algorithm. This class should be used in the stable case for a two-dimensional manifold, like an invariant torus. This class is intended for the case that the ambient space has at least one truncated coordinate. More...
List of all members.
Public Members
- d2TCGTO_s (map *wfPtr, d2graphMan *wgManPtr, Matrix<int> *wbndryNodePtr, REAL wbndryTol, int wnumTruncDims, int rInitSrchData, char filename[], int wInitSrchData, int wnumPtchElts, int wMAXITS=1000, REAL wTOLF=1.0e-6, REAL wTOLMIN=1.0e-6, REAL wTOLX=1.0e-7, REAL wSTPMX=100.0)
- The explicit constructor for the class d2TCGTO_s. This is the only accessible constructor for this class.
- ~d2TCGTO_s ()
- int continuation (int contMesh, REAL start, REAL end, REAL projectNeigh, REAL maxSlope, REAL gtAcc, char fname[5])
- This member provides the ability to continue the invariant manifold over a parameter range.
- int iterate (int fullOutput, int gtMaxit, REAL gtAcc, REAL projectNeigh, baseVector<VEC *> *wgManPtr, char fname[5])
- This member provides the ability to iterate the graph transform algorithm to convergence.
- void oneIterate (REAL, baseVector<VEC *> *, int &)
- void setBndryNodes ()
- Matrix<int>* getBndryNodePtr ()
- void testImageGaps (int eltNum, int nodeNum, int mesh, REAL tol)
- void testInitialGuess (int nodeNum, char filename[])
- void writeInitSearchData (char filename[])
- void readInitSearchData (char filename[])
- void refineSrchData (int, char filename[])
- void adjustInitEltPtr ()
- void incInitSearchData (int)
- void findAdjacentElts (const Vector<int> &, Vector<int> &)
Static Public Members
Detailed Description
The d2TCGTO_s class is a user interface for the graph transform algorithm. This class should be used in the stable case for a two-dimensional manifold, like an invariant torus. This class is intended for the case that the ambient space has at least one truncated coordinate.
This class has two related functions. One allows the user to iterate the graph transform algorithm to convergence for a fixed value of a specified parameter in the dynamical system. The other function lets the user specify a parameter range over which to continue the invariant manifold. The initial data needed to create an object of this class are a discrete two dimensional manifold, together with discrete normal data. The graph transform algorithm iterates this initial data. Before an object of this class may be created, a "map" (representing the dynamical system) must be created, a "d2LTManifold" (representing the initial data) must be created, and a "d2graphMan" object (representing the current manifold of the iteration) must be created.
-
Examples:
-
d2StableTruncMap.C.
Member Function Documentation
d2TCGTO_s::d2TCGTO_s(map *wfPtr, d2graphMan *wgManPtr, Matrix<int> *wbndryNodePtr, REAL wbndryTol, int wnumTruncDims, int rInitSrchData, char filename[], int wInitSrchData, int wnumPtchElts, int wMAXITS, REAL wTOLF, REAL wTOLMIN, REAL wTOLX, REAL wSTPMX)
The explicit constructor for the class d2TCGTO_s. This is the only accessible constructor for this class.
-
Parameters:
-
fPtr - a pointer to a "map" representing the dynamical system.
-
gManPtr - a pointer to a "d2graphMan" which represents a 2 dimensional manifold graphed over the initial manifold. This "d2graphMan" should be zeroed before being sent to the constructor.
-
bndryNodePtr - a pointer to a "Matrix" of ints. The number of columns of this "Matrix" should be
numTruncDims,
and the number of rows at least equal to the number of vertex grid points. If the number of rows is less than the number of grid points, the "Matrix" will be resized and filled in with the appropriate data. This data specifies whether a grid point is near the boundary of a truncated dimension. An entry of -1 indicates the coordinate is near 0. An entry of 1 indicates the coordinate is near 2*pi. An entry of 0 indicates that the coordinate is not near either boundary.
-
bndryTol - a "REAL" value which specifies the distance form the boundary within which a grid point is near the boundary. Should be more stringent than the criterion given by
*bndryNodePtr.
-
numTruncDims - a positive integer specifying the number of truncated dimensions.
-
rInitSrchData - an integer, either 0 or 1, which specifies whether to read initial search data into memory (for use in the first graph transform iterate) from a file named in
filename[].
-
filename - [] a character array which gives the name of the file from which to read the initial search data, if
rInitSrchData
= 1.
-
wInitSrchData - an integer, either 0 or 1, which specifies whether to refine the initial search data after the first iterate of the graph transform algorithm.
-
numPtchElts - a positive integer specifying the number of columns of search data kept in memory. More generally specifies the number of elements to search for a graph transform root.
Description of parameters for the multidimensional Newton's algorithm: (there are default arguments for these)
-
Parameters:
-
MAXITS - a positive integer specifying the maximum number of iterations.
-
TOLF - a "REAL" value, the convergence criterion on function values.
-
TOLMIN - a "REAL" value, the criterion for deciding whether spurious convergence to a minimum of fmin has occurred.
-
TOLX - a "REAL" value, the convergence criterion on (delta x) = the change in the guess for the root.
-
STPMX - a "REAL" value, the scaled maximum length allowed in line searches.
-
Returns:
-
a d2TCGTO_s object.
int d2TCGTO_s::continuation(int contMesh,REAL start,REAL end,REAL projectNeigh,REAL maxSlope,REAL gtAcc,char fname[5])
This member provides the ability to continue the invariant manifold over a parameter range.
-
Parameters:
-
contMesh - an integer specifying the continuation step size as a fraction of the continuation interval.
-
start - a "REAL" number giving the initial value of the continuation parameter.
-
end - a "REAL" number giving the value of the continuation parameter to attempt continuation to.
-
projectNeigh - a "REAL" value which gives a distance from the initial invariant manifold within which the canonical projection onto the manifold is defined.
-
maxSlope - a "REAL" value specifying the minimum allowable cosine of the angle between tangent spaces for adjacent elements. If the cosine of the angle between adjacent tangent spaces is smaller than this value, then the elements are refined. (In a call to refineGrid(int,const Matrix<int> &,REAL)).
-
gtAcc - a "REAL" value specifying the convergence criterion for the graph transform algorithm.
-
fname - a character array with length 5 which specifies the names of the files which the member outputs data to. (there are two output files, a .dat file and a .vect file)
-
Returns:
-
an integer specifying the number of continuation steps completed.
-
Examples:
-
d2StableTruncMap.C.
int d2TCGTO_s::iterate(int fullOutput,int gtMaxit,REAL gtAcc,REAL projectNeigh,baseVector<VEC *> *wgManPtr,char fname[5])
This member provides the ability to iterate the graph transform algorithm to convergence.
-
Parameters:
-
fullOutput - an integer with value -1, 0, or 1 specifying the degree of output. (-1 = no graphical output. 0 = graphical output of final manifold computed upon convergence. 1 = graphical output of each step.)
-
gtMaxit - a positive integer specifying the maximum number of iterations to perform before giving up.
-
gtAcc - a "REAL" value specifying the convergence criterion for the graph transform algorithm.
-
projectNeigh - a "REAL" value which gives a distance from the initial invariant manifold within which the canonical projection onto the manifold is defined.
-
gManPtr - a pointer to a "baseVector" of pointers to "VEC"s, the data structure that each iterate of the graph transform fills in while determining the graph transform of the current manifold.
-
fname - a character array with length 5 specifying the file names for the output files (.dat and .vect files).
-
Returns:
-
an integer giving the number of graph transform iterates completed, -1 if
gtMaxit
is exceeded.
The documentation for this class was generated from the following files:
Generated at Sat Oct 16 03:55:28 1999 for Computing Invariant Manifolds Library by
written by Dimitri van Heesch, © 1997-1998