Functions

Functions

boolvec * curve (REAL value, const char *curv_name="*")
 
boolvec * curve_add (REAL value, REAL weight=1, const char *curv_name="*")
 
boolvec * curve_leq (REAL value, const char *curv_name="*", REAL penalty_factor=0)
 
boolvec * curve_geq (REAL value, const char *curv_name="*", REAL penalty_factor=0)
 
boolvec * curve_surf (const char *surf_name="*", const char *curv_name="*")
 
boolvec * curve_surf_add (const char *surf_name="*", REAL weight=1, const char *curv_name="*")
 
boolvec * curve_surf_leq (const char *surf_name="*", const char *curv_name="*", REAL penalty_factor=0)
 
boolvec * curve_surf_geq (const char *surf_name="*", const char *curv_name="*", REAL penalty_factor=0)
 
boolvec * fault (const char *curv_name="*")
 

Detailed Description

Function Documentation

boolvec* surfit::curve ( REAL  value,
const char *  curv_name = "*" 
)
Tcl syntax:
curve value curve_name
Description:
Using this rule the resulting surface approximates the curve with constant real number.
Parameters
valuereal number for surface approximation at curve
curv_namecurve name
Math:
This command adds the following functional to the functional sequence:

\[ \Phi(u_{1,1},\ldots,u_{N,M}) = \sum_i \sum_j \left( u_{i,j} - z \right)^2, \]

where (i,j) - indices of the cells cross with curve, z - value for curve approximation.
boolvec* surfit::curve_add ( REAL  value,
REAL  weight = 1,
const char *  curv_name = "*" 
)
Tcl syntax:
curve_add value weight curv_name
Description:
This rule modifies a previous (modifiable) rule by adding the curve rule with some weight. Use this rule if you don't know "value" exactly. Using this rule the resulting surface approximates the curve with "value", taking into account a previous (modifiable) rule.
Parameters
valuereal number for surface approximation at curve
weightinformational weight for curve gridding rule
curv_namecurve name
Math:
This command modifies previous functional $ \Phi_0 $ by adding $ \Phi_1 $:

\[ \Phi(u_{1,1},\ldots,u_{N,M}) = \Phi_0(u_{1,1},\ldots,u_{N,M}) + w\Phi_1(u_{1,1},\ldots,u_{N,M}), \]

where $ w $ - informational weight,

\[ \Phi_1(u_{1,1},\ldots,u_{N,M}) = \sum_i \sum_j \left( u_{i,j} - z \right)^2, \]

where (i,j) - indices of the cells cross with curve, z - value for curve approximation.
boolvec* surfit::curve_geq ( REAL  value,
const char *  curv_name = "*",
REAL  penalty_factor = 0 
)
Tcl syntax:
curve_leq value curv_name penalty_factor
Description:
This rule adds the surface condition - "the resulting surface at curve should be greater than or equal to value".
Parameters
valuesurface should be greater than or equal to this real number
curv_namecurve name
penalty_factorparameter for penalty algorithm
Math:
This command adds the condition:

\[ u_{i,j} \geq z, \]

where (i,j) - indices of the cells cross with curve, z - constant value
boolvec* surfit::curve_leq ( REAL  value,
const char *  curv_name = "*",
REAL  penalty_factor = 0 
)
Tcl syntax:
curve_leq value curv_name penalty_factor
Description:
This rule adds the surface condition - "the resulting surface at curve should be lower than or equal to value".
Parameters
valuesurface should be lower than or equal to this real number
curv_namecurve name
penalty_factorparameter for penalty algorithm
Math:
This command adds the condition:

\[ u_{i,j} \leq z, \]

where (i,j) - indices of the cells cross with curve, z - constant value
boolvec* surfit::curve_surf ( const char *  surf_name = "*",
const char *  curv_name = "*" 
)
Tcl syntax:
curve_surf surf_name curv_name
Description:
Using this rule the resulting surface approximates curve with other surface values.
Parameters
surf_namename of surface. The resulting surface will approximate this surface at curve.
curv_namecurve name
Math:
This command adds the following functional to the functional sequence:

\[ \Phi(u_{1,1},\ldots,u_{N,M}) = \sum_i \sum_j \left( u_{i,j} - f(x_i,y_j) \right)^2, \]

where (i,j) - indices of the cells cross with curve, f(x_i,y_j) - value for curve approximation, calculated as surface value at center of the (i,j) cell.
boolvec* surfit::curve_surf_add ( const char *  surf_name = "*",
REAL  weight = 1,
const char *  curv_name = "*" 
)
Tcl syntax:
curve_surf_add surf_name weight curv_name
Description:
This function modifies previous (modifiable) rule by adding the curve_surf rule with some weight. Using this rule, the resulting surface approximates curve with other surface "values" taking into account a previous (modifiable) rule.
Parameters
surf_namename of surface. The resulting surface will approximate this surface at curve.
weightinformational weight for this rule
curv_namecurve name
Math:
This command modifies previous functional $ \Phi_0 $ by adding $ \Phi_1 $:

\[ \Phi(u_{1,1},\ldots,u_{N,M}) = \Phi_0(u_{1,1},\ldots,u_{N,M}) + w\Phi_1(u_{1,1},\ldots,u_{N,M}), \]

where $ w $ - informational weight,

\[ \Phi_1(u_{1,1},\ldots,u_{N,M}) = \sum_i \sum_j \left( u_{i,j} - f(x_i,y_j) \right)^2, \]

where (i,j) - indices of the cells cross with curve, f(x_i,y_j) - value for curve approximation, calculated as surface value at center of the (i,j) cell.
boolvec* surfit::curve_surf_geq ( const char *  surf_name = "*",
const char *  curv_name = "*",
REAL  penalty_factor = 0 
)
Tcl syntax:
curve_surf_geq surf_name curv_name penalty_factor
Description:
This rule adds the surface condition - "the resulting surface at curve should be greater than or equal to other surface values".
Parameters
surf_namename of surface. The resulting surface should be greater than or equal to this surface values at curve.
curv_namecurve name
penalty_factorparameter for penalty algorithm
Math:
This command adds the condition:

\[ u_{i,j} \geq f(x_i,y_i), \]

where (i,j) - indices of the cells cross with curve, f(x_i,y_j) - value for curve approximation, calculated as surface value at center of the (i,j) cell.
boolvec* surfit::curve_surf_leq ( const char *  surf_name = "*",
const char *  curv_name = "*",
REAL  penalty_factor = 0 
)
Tcl syntax:
curve_surf_leq surf_name curv_name penalty_factor
Description:
This rule adds the surface condition - "the resulting surface at curve should be lower than or equal to other surface values".
Parameters
surf_namename of surface. The resulting surface should be lower than or equal to this surface values at curve.
curv_namecurve name
penalty_factorparameter for penalty algorithm
Math:
This command adds the condition:

\[ u_{i,j} \leq f(x_i,y_i), \]

where (i,j) - indices of the cells cross with curve, f(x_i,y_j) - value for curve approximation, calculated as surface value at center of the (i,j) cell.
boolvec* surfit::fault ( const char *  curv_name = "*")
Tcl syntax:
fault curv_name
Description:
This rule modifies special gridding rules by adding "fault" condition. This modification leads to special behavior of the resulting surface: the parts of resulting surface between fault curve are independent of each other. This rule is very useful in pressure field reconstruction, or structural surfaces modeling.
Parameters
curv_namecurve name
Gridding rules, modifiable with this rule:



surfit: gridding and contouring software.