surface

Each user defined application requires three grid_surface_compute routines which all need to be placed in the comp_amr_error.f file:
These routines enable surface extraction capability. They can be empty if surface extraction is not needed. Three separate surfaces are possible: a, b, and c. Each surface is a sphere. The highest resolution mesh containing the surface ( or part thereof ) is passed to each of these three routines. The user develops the interpolation necessary to extract the surface from the local 3-D Cartesian mesh and places that code in these three routines.

2-D grid functions for storing the extracted surfaces are defined in setup using the keywords asurface, bsurface, csurface for each of the three surfaces available. See the example below. Output of these surfaces is controlled by parameters: Parameters specific for each surface are specified as follows: Note that theta varies from 0 to 2*Pi and phi varies from 0 to Pi. Consequently, you should usually have twice as many points in the ntheta direction than in the nphi direction.

The frequency of surface extraction is controlled by parameters:

Notes

See Also

setup, List of required routines, nx0,ny0,nz0

Index of all manual pages

Examples

See had/src/hyperCurvedWave/comp_amr_error.f for a full example.
For defining 2-D grid function of surface: in setup:
asurface
{
q, g
}

bsurface
{
qq, gg
}
csurface
{
qqq, ggg
}

In this example, six 2-D grid functions are allocated: q and g of size asf_ntheta x asf_nphi, qq and gg of size bsf_ntheta x bsf_nphi, and qqq and ggg of size csf_ntheta x csf_nphi.