**z7p#

Description#

This parameter type is specified as a z7p external script.

Note#

If the z7p function only depends on time, you may also use the **table syntax.

Syntax#

**z7p param-name \(~\,\) *z7p external.z7p \(~\,\) *tables table-names [ *node | *ip ] [ *time_independent ]

param-name

a character name for the parameter. This name will be used to reference the parameter values elsewhere in the problem.

external.z7p

a z7p script file where a function double compute(x,y,z,t)

table-names

is defined a (list of) table name referring to the ***table section. If more than one name is given, the first valid one is used (this validity being decided at each increment).

*node or *ip

specifies whether this parameter is based at nodes (the default) or at integration points.

*time_independent

this switch declares the parameter as time independent. The parameter is thus only computed once at the beginning of the computation. This can be necessary when random numbers are used in the function.

The parameter’s value will be computed as the product between function and table.

Example#

The following is an example of a temperature gradient along \(x\):

***parameter
 **z7p temperature
  *z7p external.z7p;  % external script
  *node
  *tables plateau              % time dependence is given here

***output                      % adding this command will let you
 **save_parameter              % check the parameter's value in Zmaster

The associated z7p script is as follow :

double compute(double x, double y, double z, double t){
   double ret;
   if( x < 0.5 ){
      ret = 300. + 600. * x;
   }
   else{
      ret = 300. - 600. * x;
   }
   return ret;
}