GfsFunction

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 11:05, 22 November 2007
Cedric-penard (Talk | contribs)

← Previous diff
Revision as of 11:11, 22 November 2007
Cedric-penard (Talk | contribs)

Next diff →
Line 23: Line 23:
The GTS file must be a planar (preferably Delaunay) triangulation of a set of points. The value of the function at a given (x,y) coordinate is then calculated by computing the z-coordinate of the intersection of a vertical line passing through the point at (x,y,0) with the triangulation defined by the GTS file. The GTS file must be a planar (preferably Delaunay) triangulation of a set of points. The value of the function at a given (x,y) coordinate is then calculated by computing the z-coordinate of the intersection of a vertical line passing through the point at (x,y,0) with the triangulation defined by the GTS file.
- 
-or a CDG file 
- 
- myfile.cdg 
- 
-The CDG file contain cartesian data. This type of file can be used to introduce 1 to 4 spacial time dimensions data. 
-The first line define the structure of grid for example : 
- 3 x y t 
-Here 3 show the number of dimension. x, y and t show the structure of data : 2 spacial dimensions and 1 temporal dimension.  
-The data is structured according to space vectors first and according to time vector finaly. 
-The 3 next lines defines the grid : each line contain one vector witch define the position of each point in space-time. 
-The rest of file contain the data. 
-More information in [http://en.wikipedia.org/wiki/cartesian_grid this page]. 
Gradients of variables can be computed using the <code>dx()</code>, <code>dy()</code> and <code>dz()</code> functions. For example, the z-component of the vorticity would be computed as: Gradients of variables can be computed using the <code>dx()</code>, <code>dy()</code> and <code>dz()</code> functions. For example, the z-component of the vorticity would be computed as:

Revision as of 11:11, 22 November 2007

Functions can be used in most objects which require a numerical parameter. A function can be a constant or a piece of C code taking coordinates (x,y,z), time t or any of the domain variables as arguments and returning a floating-point value.

The syntax in parameter files is as follows:

-1.78e-3

or a C function

{
  double a = sin (x + y);
  double b = cos (x - z);
  double c = sin (M_PI*t);
  return a + b + c;
}

or a C expression

40.*(P - 1.)

or a GTS file

myfunction.gts

The GTS file must be a planar (preferably Delaunay) triangulation of a set of points. The value of the function at a given (x,y) coordinate is then calculated by computing the z-coordinate of the intersection of a vertical line passing through the point at (x,y,0) with the triangulation defined by the GTS file.

Gradients of variables can be computed using the dx(), dy() and dz() functions. For example, the z-component of the vorticity would be computed as:

(dx("V") - dy("U"))

More details on C functions

Comments should use the C syntax; i.e. opening /* and closing */ not necessarily on the same line rather than the usual parameter file syntax of a line beginning with a #. This is to allow the use of C preprocessor directives in C functions in GfsFunctions.

Example:

Personal tools
communication