next up previous contents index
Next: I/O Methods on Amandus Up: Amandus Previous: Display Methods on Amandus

Compute Methods on Amandus

 

Computing a minimal surface via the Weierstrass representation formula is a very complex task. First the parameter domain is created, then the Gauss map (using analytic continuation is necessary) and finally the surface itself are computed. This is done with the methods described in this section, for more information see 8.2.6.

   GRAPE(amandus, "compute-send")()
AMANDUS * amandus
This is the main compute routine for Amandus instances. Depending on the task domain, newton, gauss and surface/conjugate are computed, see "compute-node" below. All computed points are drawn immediately. By supplying a user defined correct function numerical inaccuracies, problems with branch points etc., can be corrected after the computation.

   GRAPE(amandus, "compute-node")(old, new)
AMANDUS * amandus
CNODE * old, * new
Compute a new point from a given old one. Depending on the task first domain and then newton (if necessary), gauss and surface/conjugate are computed with the following methods:

   GRAPE(amandus, "compute-domain")(new)
AMANDUS * amandus
CNODE * new
Add a point to the parameter domain of a minimal surface. The new point is computed by the "compute-send" method, if no user compute_arg function is set a rectangular grid is used. See section 8.2.5.2 for further explanations and an example.

   GRAPE(amandus, "compute-newton")(old, new)
AMANDUS * amandus
CNODE * old, * new
Analytic continuation of old-> w from old-> z to new-> z with NUM_OF_STEPS - 1 intermediate points. The points are stored in NEWTON_VEC_Z, the computed values in NEWTON_VEC_W. The value computed for the endpoint new-> z is stored in the newton geometry.

The main computation routine (a complex Newton iteration) is

 
COMPLEX cnewton(COMPLEX zold, COMPLEX wold, COMPLEX znew,
                COMPLEX (*f)(), COMPLEX (*dwf)(), COMPLEX (*dzf)())
dzf may be NULL, but the results are much better if this function is supplied.

The values computed with "compute-newton" are used by

 
COMPLEX get_newton(COMPLEX z)
to compute w for values of z in the interval from old-> z to new-> z, it searches the values stored in NEWTON_VEC_W for an initial value and applies a further newton iteration if necessary. This function is for example called by the complex Romberg integration routines that are used by "compute-surface" to integrate the Weierstrass data.

   GRAPE(amandus, "compute-gauss")(new)
AMANDUS * amandus
CNODE * new
Compute of image of the domain points of the Gauss map by evaluating the weier_f-> g function.

   GRAPE(amandus, "compute-surface")(old, new)
AMANDUS * amandus
CNODE * old, * new
Compute the points and the normals (stereographic projection of the Gauss map) of the minimal surface and its conjugate surface. This method is called after the other compute methods, it integrates the Weierstrass data from old to new using complex Romberg integration.


next up previous contents index
Next: I/O Methods on Amandus Up: Amandus Previous: Display Methods on Amandus

SFB 256 Universität Bonn and IAM Universität Freiburg

Copyright © by the Sonderforschungsbereich 256 at the Institut für Angewandte Mathematik, Universität Bonn.