esys.modellib.probe Package¶
Classes¶
- 
class esys.modellib.probe.Data¶
- Bases: - Boost.Python.instance- Represents a collection of datapoints. It is used to store the values of a function. For more details please consult the c++ class documentation. - 
__init__((object)arg1) → None¶
- __init__( (object)arg1, (object)value [, (object)p2 [, (object)p3 [, (object)p4]]]) -> None 
 - 
conjugate((Data)arg1) → Data¶
 - 
copy((Data)arg1, (Data)other) → None :¶
- Make this object a copy of - other- note: - The two objects will act independently from now on. That is, changing - otherafter this call will not change this object and vice versa.- copy( (Data)arg1) -> Data :
- note: - In the no argument form, a new object will be returned which is an independent copy of this object. 
 
 - 
copyWithMask((Data)arg1, (Data)other, (Data)mask) → None :¶
- Selectively copy values from - other- Data.Datapoints which correspond to positive values in- maskwill be copied from- other- Parameters: 
 - 
delay((Data)arg1) → Data :¶
- Convert this object into lazy representation 
 - 
dump((Data)arg1, (str)fileName) → None :¶
- Save the data as a netCDF file - Parameters: - fileName ( - string) –
 - 
expand((Data)arg1) → None :¶
- Convert the data to expanded representation if it is not expanded already. 
 - 
getDomain((Data)arg1) → Domain :¶
- Return type: - Domain
 - 
getFunctionSpace((Data)arg1) → FunctionSpace :¶
- Return type: - FunctionSpace
 - 
getNumberOfDataPoints((Data)arg1) → int :¶
- Return type: - int- Returns: - Number of datapoints in the object 
 - 
getRank((Data)arg1) → int :¶
- Returns: - the number of indices required to address a component of a datapoint - Return type: - positive - int
 - 
getShape((Data)arg1) → tuple :¶
- Returns the shape of the datapoints in this object as a python tuple. Scalar data has the shape - ()- Return type: - tuple
 - 
getTagNumber((Data)arg1, (int)dpno) → int :¶
- Return tag number for the specified datapoint - Return type: - int - Parameters: - dpno (int) – datapoint number 
 - 
getTupleForDataPoint((Data)arg1, (int)dataPointNo) → object :¶
- Returns: - Value of the specified datapoint - Return type: - tuple- Parameters: - dataPointNo ( - int) – datapoint to access
 - 
getTupleForGlobalDataPoint((Data)arg1, (int)procNo, (int)dataPointNo) → object :¶
- Get a specific datapoint from a specific process - Return type: - tuple- Parameters: - procNo (positive int) – MPI rank of the process
- dataPointNo (int) – datapoint to access
 
- procNo (positive 
 - 
hasInf((Data)arg1) → bool :¶
- Returns return true if data contains +-Inf. [Note that for complex values, hasNaN and hasInf are not mutually exclusive.] 
 - 
hasNaN((Data)arg1) → bool :¶
- Returns return true if data contains NaN. [Note that for complex values, hasNaN and hasInf are not mutually exclusive.] 
 - 
imag((Data)arg1) → Data¶
 - 
internal_maxGlobalDataPoint((Data)arg1) → tuple :¶
- Please consider using getSupLocator() from pdetools instead. 
 - 
internal_minGlobalDataPoint((Data)arg1) → tuple :¶
- Please consider using getInfLocator() from pdetools instead. 
 - 
interpolate((Data)arg1, (FunctionSpace)functionspace) → Data :¶
- Interpolate this object’s values into a new functionspace. 
 - 
interpolateTable((Data)arg1, (object)table, (float)Amin, (float)Astep, (Data)B, (float)Bmin, (float)Bstep[, (float)undef=1e+50[, (bool)check_boundaries=False]]) → Data :¶
- Creates a new Data object by interpolating using the source data (which are
- looked up in - table)- Amust be the outer dimension on the table- param table: - two dimensional collection of values - param Amin: - The base of locations in table - type Amin: - float - param Astep: - size of gap between each item in the table - type Astep: - float - param undef: - upper bound on interpolated values - type undef: - float - param B: - Scalar representing the second coordinate to be mapped into the table - type B: - Data- param Bmin: - The base of locations in table for 2nd dimension - type Bmin: - float - param Bstep: - size of gap between each item in the table for 2nd dimension - type Bstep: - float - param check_boundaries: - if true, then values outside the boundaries will be rejected. If false, then boundary values will be used. - raise RuntimeError(DataException): - if the coordinates do not map into the table or if the interpolated value is above - undef- rtype: - Data
 - interpolateTable( (Data)arg1, (object)table, (float)Amin, (float)Astep [, (float)undef=1e+50 [, (bool)check_boundaries=False]]) -> Data 
 - 
isComplex((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datastores complex values.
 - 
isConstant((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datais an instance of- DataConstant- Note: - This does not mean the data is immutable. 
 - 
isEmpty((Data)arg1) → bool :¶
- Is this object an instance of - DataEmpty- Return type: - bool- Note: - This is not the same thing as asking if the object contains datapoints. 
 - 
isExpanded((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datais expanded.
 - 
isLazy((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datais lazy.
 - 
isProtected((Data)arg1) → bool :¶
- Can this instance be modified. :rtype: - bool
 - 
isReady((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datais not lazy.
 - 
isTagged((Data)arg1) → bool :¶
- Return type: - bool- Returns: - True if this - Datais expanded.
 - 
nonuniformInterpolate((Data)arg1, (object)in, (object)out, (bool)check_boundaries) → Data :¶
- 1D interpolation with non equally spaced points 
 - 
nonuniformSlope((Data)arg1, (object)in, (object)out, (bool)check_boundaries) → Data :¶
- 1D interpolation of slope with non equally spaced points 
 - 
phase((Data)arg1) → Data¶
 - 
promote((Data)arg1) → None¶
 - 
real((Data)arg1) → Data¶
 - 
replaceInf((Data)arg1, (object)value) → None :¶
- Replaces +-Inf values with value. [Note, for complex Data, both real and imaginary components are replaced even if only one part is Inf]. 
 - 
replaceNaN((Data)arg1, (object)value) → None :¶
- Replaces NaN values with value. [Note, for complex Data, both real and imaginary components are replaced even if only one part is NaN]. 
 - 
resolve((Data)arg1) → None :¶
- Convert the data to non-lazy representation. 
 - 
setProtection((Data)arg1) → None :¶
- Disallow modifications to this data object - Note: - This method does not allow you to undo protection. 
 - 
setTaggedValue((Data)arg1, (int)tagKey, (object)value) → None :¶
- Set the value of tagged Data. - param tagKey: - tag to update - type tagKey: - int- setTaggedValue( (Data)arg1, (str)name, (object)value) -> None :
- param name: - tag to update - type name: - string- param value: - value to set tagged data to - type value: - objectwhich acts like an array,- tupleor- list
 
 - 
setToZero((Data)arg1) → None :¶
- After this call the object will store values of the same shape as before but all components will be zero. 
 - 
setValueOfDataPoint((Data)arg1, (int)dataPointNo, (object)value) → None¶
- setValueOfDataPoint( (Data)arg1, (int)arg2, (object)arg3) -> None - setValueOfDataPoint( (Data)arg1, (int)arg2, (float)arg3) -> None : - Modify the value of a single datapoint. - param dataPointNo: - type dataPointNo: - int - param value: - type value: - floator an object which acts like an array,- tupleor- list- warning: - Use of this operation is discouraged. It prevents some optimisations from operating. 
 - 
tag((Data)arg1) → None :¶
- Convert data to tagged representation if it is not already tagged or expanded 
 - 
toListOfTuples((Data)arg1[, (bool)scalarastuple=False]) → object :¶
- Return the datapoints of this object in a list. Each datapoint is stored as a tuple. - Parameters: - scalarastuple – if True, scalar data will be wrapped as a tuple. True => [(0), (1), (2)]; False => [0, 1, 2] 
 
- 
- 
class esys.modellib.probe.EvaluateExpression(**kwargs)¶
- Bases: - esys.escriptcore.modelframe.ParameterSet- Return the evaluation of an expression at current time t and locations in the domain - Warning: - this class use python’s eval function!!!!! Please use input.InterpolateOverBox is possible!!!! - Note: - Instance variable expression - expression or list of expressions defining expression value (in) - Note: - Instance variable out - current value of the expression (callable) - 
__init__(**kwargs)¶
- Set up parameters 
 - 
checkLinkTargets(models, hash)¶
- Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history. 
 - 
declareParameter(**parameters)¶
- Declares one or more new parameters and their initial value. 
 - 
declareParameters(parameters)¶
- Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet. 
 - 
classmethod fromDom(esysxml, node)¶
 - 
getAttributeObject(name)¶
- Returns the object stored for attribute - name.
 - 
hasAttribute(name)¶
- Returns True if self has attribute - name.
 - 
out()¶
 - 
releaseParameters(name)¶
- Removes parameter name from the parameters. 
 - 
showParameters()¶
- Returns a description of the parameters. 
 - 
toDom(esysxml, node)¶
- toDommethod of Model class.
 - 
trace(msg)¶
- If debugging is on, prints the message, otherwise does nothing. 
 - 
writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)¶
- Writes the object as an XML object into an output stream. 
 
- 
- 
class esys.modellib.probe.FileWriter(fn, append=False, createLocalFiles=False)¶
- Bases: - object- Interface to write data to a file. In essence this class wrappes the standard - fileobject to write data that are global in MPI to a file. In fact, data are writen on the processor with MPI rank 0 only. It is recommended to use- FileWriterrather than- openin order to write code that is running with as well as with MPI. It is safe to use- openonder MPI to read data which are global under MPI.- Variables: - name – name of file
- mode – access mode (=’w’ or =’a’)
- closed – True to indicate closed file
- newlines – line seperator
 - 
__init__(fn, append=False, createLocalFiles=False)¶
- Opens a file of name - fnfor writing. If running under MPI only the first processor with rank==0 will open the file and write to it. If- createLocalFileseach individual processor will create a file where for any processor with rank>0 the file name is extended by its rank. This option is normally only used for debug purposes.- Parameters: - fn (str) – filename.
- append (bool) – switches on the creation of local files.
- createLocalFiles (bool) – switches on the creation of local files.
 
- fn (
 - 
close()¶
- Closes the file 
 - 
flush()¶
- Flush the internal I/O buffer. 
 - 
write(txt)¶
- Write string - txtto file.- Parameters: - txt ( - str) – string- txtto be written to file
 - 
writelines(txts)¶
- Write the list - txtof strings to the file.- Parameters: - txts (any iterable object producing strings) – sequense of strings to be written to file - Note: - Note that newlines are not added. This method is equivalent to call write() for each string. 
 
- 
class esys.modellib.probe.Model(parameters=[], **kwargs)¶
- Bases: - esys.escriptcore.modelframe.ParameterSet- A Model object represents a process marching over time until a finalizing condition is fulfilled. At each time step an iterative process can be performed and the time step size can be controlled. A Model has the following work flow: - doInitialization() while not terminateInitialIteration(): doInitialStep() doInitialPostprocessing() while not finalize(): dt=getSafeTimeStepSize(dt) doStepPreprocessing(dt) while not terminateIteration(): doStep(dt) doStepPostprocessing(dt) doFinalization() - where - doInitialization,- finalize,- getSafeTimeStepSize,- doStepPreprocessing,- terminateIteration,- doStepPostprocessing,- doFinalizationare methods of the particular instance of a Model. The default implementations of these methods have to be overwritten by the subclass implementing a Model.- 
__init__(parameters=[], **kwargs)¶
- Creates a model. - Just calls the parent constructor. 
 - 
UNDEF_DT= 1e+300¶
 - 
checkLinkTargets(models, hash)¶
- Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history. 
 - 
declareParameter(**parameters)¶
- Declares one or more new parameters and their initial value. 
 - 
declareParameters(parameters)¶
- Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet. 
 - 
doFinalization()¶
- Finalizes the time stepping. - This function may be overwritten. 
 - 
doInitialPostprocessing()¶
- Finalises the initialization iteration process. This method is not called in case of a restart. - This function may be overwritten. 
 - 
doInitialStep()¶
- Performs an iteration step in the initialization phase. This method is not called in case of a restart. - This function may be overwritten. 
 - 
doInitialization()¶
- Initializes the time stepping scheme. This method is not called in case of a restart. - This function may be overwritten. 
 - 
doStep(dt)¶
- Executes an iteration step at a time step. - dtis the currently used time step size.- This function may be overwritten. 
 - 
doStepPostprocessing(dt)¶
- Finalises the time step. - dt is the currently used time step size. - This function may be overwritten. 
 - 
doStepPreprocessing(dt)¶
- Sets up a time step of step size dt. - This function may be overwritten. 
 - 
finalize()¶
- Returns False if the time stepping is finalized. - This function may be overwritten. 
 - 
classmethod fromDom(esysxml, node)¶
 - 
getAttributeObject(name)¶
- Returns the object stored for attribute - name.
 - 
getSafeTimeStepSize(dt)¶
- Returns a time step size which can be safely used. - dtgives the previously used step size.- This function may be overwritten. 
 - 
hasAttribute(name)¶
- Returns True if self has attribute - name.
 - 
releaseParameters(name)¶
- Removes parameter name from the parameters. 
 - 
setUp()¶
- Sets up the model. - This function may be overwritten. 
 - 
showParameters()¶
- Returns a description of the parameters. 
 - 
terminateInitialIteration()¶
- Returns True if iteration at the inital phase is terminated. 
 - 
terminateIteration()¶
- Returns True if iteration on a time step is terminated. 
 - 
toDom(esysxml, node)¶
- toDommethod of Model class.
 - 
trace(msg)¶
- If debugging is on, prints the message, otherwise does nothing. 
 - 
writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)¶
- Writes the object as an XML object into an output stream. 
 
- 
- 
class esys.modellib.probe.ParameterSet(parameters=[], **kwargs)¶
- Bases: - esys.escriptcore.modelframe.LinkableObject- A class which allows to emphasize attributes to be written and read to XML. - Leaves of an ESySParameters object can be: - a real number
- an integer number
- a string
- a boolean value
- a ParameterSet object
- a Simulation object
- a Model object
- a numpy object
- a list of booleans
- any other object (not considered by writeESySXML and writeXML)
 - Example for how to create an ESySParameters object: - p11=ParameterSet(gamma1=1.,gamma2=2.,gamma3=3.) p1=ParameterSet(dim=2,tol_v=0.001,output_file="/tmp/u.%3.3d.dx",runFlag=True,parm11=p11) parm=ParameterSet(parm1=p1,parm2=ParameterSet(alpha=Link(p11,"gamma1"))) - This can be accessed as: - parm.parm1.gamma=0. parm.parm1.dim=2 parm.parm1.tol_v=0.001 parm.parm1.output_file="/tmp/u.%3.3d.dx" parm.parm1.runFlag=True parm.parm1.parm11.gamma1=1. parm.parm1.parm11.gamma2=2. parm.parm1.parm11.gamma3=3. parm.parm2.alpha=1. (value of parm.parm1.parm11.gamma1) - 
__init__(parameters=[], **kwargs)¶
- Creates a ParameterSet with given parameters. 
 - 
checkLinkTargets(models, hash)¶
- Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history. 
 - 
declareParameter(**parameters)¶
- Declares one or more new parameters and their initial value. 
 - 
declareParameters(parameters)¶
- Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet. 
 - 
classmethod fromDom(esysxml, node)¶
 - 
getAttributeObject(name)¶
- Returns the object stored for attribute - name.
 - 
hasAttribute(name)¶
- Returns True if self has attribute - name.
 - 
releaseParameters(name)¶
- Removes parameter name from the parameters. 
 - 
showParameters()¶
- Returns a description of the parameters. 
 - 
toDom(esysxml, node)¶
- toDommethod of Model class.
 - 
trace(msg)¶
- If debugging is on, prints the message, otherwise does nothing. 
 - 
writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)¶
- Writes the object as an XML object into an output stream. 
 
- 
class esys.modellib.probe.Probe(**kwargs)¶
- Bases: - esys.escriptcore.modelframe.Model- Tests values against a expression which may depend on time and spatial coordinates. - It prints out the relative error in each time step and the maximum relative error over all time steps at the end. - Warning: - this class uses python’s eval function!!!!! - Variables: - value – values to be tested (in)
- expression – expressions defining expression values to test against. If None only value is reported. (in)
- line_tag – tag to be used when printing error. (in)
- t – current time (in)
- max_error – maximum error (out)
- t_max – time of maximum error (out)
 - 
__init__(**kwargs)¶
- Set up parameters 
 - 
UNDEF_DT= 1e+300¶
 - 
checkLinkTargets(models, hash)¶
- Returns a set of tuples (“<self>(<name>)”, <target model>) if the parameter <name> is linked to model <target model> but <target model> is not in the list of models. If a parameter is linked to another parameter set which is not in the hash list the parameter set is checked for its models. hash gives the call history. 
 - 
declareParameter(**parameters)¶
- Declares one or more new parameters and their initial value. 
 - 
declareParameters(parameters)¶
- Declares a set of parameters. parameters can be a list, a dictionary or a ParameterSet. 
 - 
doFinalization()¶
- Print out the maximum error. 
 - 
doInitialPostprocessing()¶
- Finalises the initialization iteration process. This method is not called in case of a restart. - This function may be overwritten. 
 - 
doInitialStep()¶
- Performs an iteration step in the initialization phase. This method is not called in case of a restart. - This function may be overwritten. 
 - 
doInitialization()¶
- Initializes values 
 - 
doStep(dt)¶
- Executes an iteration step at a time step. - dtis the currently used time step size.- This function may be overwritten. 
 - 
doStepPostprocessing(dt)¶
- Finalises the time step. - dt is the currently used time step size. - This function may be overwritten. 
 - 
doStepPreprocessing(dt)¶
- Sets up a time step of step size dt. - This function may be overwritten. 
 - 
finalize()¶
- Returns False if the time stepping is finalized. - This function may be overwritten. 
 - 
classmethod fromDom(esysxml, node)¶
 - 
getAttributeObject(name)¶
- Returns the object stored for attribute - name.
 - 
getSafeTimeStepSize(dt)¶
- Returns a time step size which can be safely used. - dtgives the previously used step size.- This function may be overwritten. 
 - 
hasAttribute(name)¶
- Returns True if self has attribute - name.
 - 
releaseParameters(name)¶
- Removes parameter name from the parameters. 
 - 
setUp()¶
- Sets up the model. - This function may be overwritten. 
 - 
showParameters()¶
- Returns a description of the parameters. 
 - 
terminateInitialIteration()¶
- Returns True if iteration at the inital phase is terminated. 
 - 
terminateIteration()¶
- Returns True if iteration on a time step is terminated. 
 - 
toDom(esysxml, node)¶
- toDommethod of Model class.
 - 
trace(msg)¶
- If debugging is on, prints the message, otherwise does nothing. 
 - 
writeXML(ostream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)¶
- Writes the object as an XML object into an output stream. 
 
Functions¶
- 
esys.modellib.probe.Abs(arg)¶
- Returns the absolute value of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.C_GeneralTensorProduct((Data)arg0, (Data)arg1[, (int)axis_offset=0[, (int)transpose=0]]) → Data :¶
- Compute a tensor product of two Data objects. - Return type: - Parameters: - arg0 –
- arg1 –
- axis_offset (int) –
- transpose (int) – 0: transpose neither, 1: transpose arg0, 2: transpose arg1
 
- 
esys.modellib.probe.L2(arg)¶
- Returns the L2 norm of - argat- where.- Parameters: - arg ( - escript.Dataor- Symbol) – function of which the L2 norm is to be calculated- Returns: - L2 norm of - arg- Return type: - floator- Symbol- Note: - L2(arg) is equivalent to - sqrt(integrate(inner(arg,arg)))
- 
esys.modellib.probe.Lsup(arg)¶
- Returns the Lsup-norm of argument - arg. This is the maximum absolute value over all data points. This function is equivalent to- sup(abs(arg)).- Parameters: - arg ( - float,- int,- escript.Data,- numpy.ndarray) – argument- Returns: - maximum value of the absolute value of - argover all components and all data points- Return type: - float- Raises: - TypeError – if type of - argcannot be processed
- 
esys.modellib.probe.NumpyToData(array, isComplex, functionspace)¶
- Uses a numpy ndarray to create a - Dataobject- Example usage: NewDataObject = NumpyToData(ndarray, isComplex, FunctionSpace) 
- 
esys.modellib.probe.acos(arg)¶
- Returns the inverse cosine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.acosh(arg)¶
- Returns the inverse hyperbolic cosine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.antihermitian(arg)¶
- Returns the anti-hermitian part of the square matrix - arg. That is, (arg-adjoint(arg))/2.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – input matrix. Must have rank 2 or 4 and be square.- Returns: - anti-hermitian part of - arg- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.antisymmetric(arg)¶
- Returns the anti-symmetric part of the square matrix - arg. That is, (arg-transpose(arg))/2.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – input matrix. Must have rank 2 or 4 and be square.- Returns: - anti-symmetric part of - arg- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.asin(arg)¶
- Returns the inverse sine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.asinh(arg)¶
- Returns the inverse hyperbolic sine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.atan(arg)¶
- Returns inverse tangent of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.atan2(arg0, arg1)¶
- Returns inverse tangent of argument - arg0over- arg1
- 
esys.modellib.probe.atanh(arg)¶
- Returns the inverse hyperbolic tangent of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.boundingBox(domain)¶
- Returns the bounding box of a domain - Parameters: - domain ( - escript.Domain) – a domain- Returns: - bounding box of the domain - Return type: - listof pairs of- float
- 
esys.modellib.probe.boundingBoxEdgeLengths(domain)¶
- Returns the edge lengths of the bounding box of a domain - Parameters: - domain ( - escript.Domain) – a domain- Return type: - listof- float
- 
esys.modellib.probe.clip(arg, minval=None, maxval=None)¶
- Cuts the values of - argbetween- minvaland- maxval.- Parameters: - arg (numpy.ndarray,escript.Data,Symbol,intorfloat) – argument
- minval (floatorNone) – lower range. If None no lower range is applied
- maxval (floatorNone) – upper range. If None no upper range is applied
 - Returns: - an object that contains all values from - argbetween- minvaland- maxval- Return type: - numpy.ndarray,- escript.Data,- Symbol,- intor- floatdepending on the input- Raises: - ValueError – if - minval>maxval
- arg (
- 
esys.modellib.probe.commonDim(*args)¶
- Identifies, if possible, the spatial dimension across a set of objects which may or may not have a spatial dimension. - Parameters: - args – given objects - Returns: - the spatial dimension of the objects with identifiable dimension (see - pokeDim). If none of the objects has a spatial dimension- Noneis returned.- Return type: - intor- None- Raises: - ValueError – if the objects with identifiable dimension don’t have the same spatial dimension. 
- 
esys.modellib.probe.commonShape(arg0, arg1)¶
- Returns a shape to which - arg0can be extended from the right and- arg1can be extended from the left.- Parameters: - Returns: - the shape of - arg0or- arg1such that the left part equals the shape of- arg0and the right end equals the shape of- arg1- Return type: - tupleof- int- Raises: - ValueError – if no shape can be found 
- 
esys.modellib.probe.condEval(f, tval, fval)¶
- Wrapper to allow non-data objects to be used. 
- 
esys.modellib.probe.convertToNumpy(data)¶
- Writes - Dataobjects to a numpy array.- The keyword args are Data objects to save. If a scalar - Dataobject is passed with the name- mask, then only samples which correspond to positive values in- maskwill be output.- Example usage: - s=Scalar(..) v=Vector(..) t=Tensor(..) f=float() array = getNumpy(a=s, b=v, c=t, d=f) 
- 
esys.modellib.probe.cos(arg)¶
- Returns cosine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.cosh(arg)¶
- Returns the hyperbolic cosine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.delay(arg)¶
- Returns a lazy version of arg 
- 
esys.modellib.probe.deviatoric(arg)¶
- Returns the deviatoric version of - arg.
- 
esys.modellib.probe.diameter(domain)¶
- Returns the diameter of a domain. - Parameters: - domain ( - escript.Domain) – a domain- Return type: - float
- 
esys.modellib.probe.div(arg, where=None)¶
- Returns the divergence of - argat- where.- Parameters: - arg (escript.DataorSymbol) – function of which the divergence is to be calculated. Its shape has to be (d,) where d is the spatial dimension.
- where (Noneorescript.FunctionSpace) –FunctionSpacein which the divergence will be calculated. If not present orNonean appropriate default is used.
 - Returns: - divergence of - arg- Return type: - escript.Dataor- Symbol
- arg (
- 
esys.modellib.probe.eigenvalues(arg)¶
- Returns the eigenvalues of the square matrix - arg.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – square matrix. Must have rank 2 and the first and second dimension must be equal. It must also be symmetric, ie.- transpose(arg)==arg(this is not checked).- Returns: - the eigenvalues in increasing order - Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input- Note: - for - escript.Dataand- Symbolobjects the dimension is restricted to 3.
- 
esys.modellib.probe.eigenvalues_and_eigenvectors(arg)¶
- Returns the eigenvalues and eigenvectors of the square matrix - arg.- Parameters: - arg ( - escript.Data) – square matrix. Must have rank 2 and the first and second dimension must be equal. It must also be symmetric, ie.- transpose(arg)==arg(this is not checked).- Returns: - the eigenvalues and eigenvectors. The eigenvalues are ordered by increasing value. The eigenvectors are orthogonal and normalized. If V are the eigenvectors then V[:,i] is the eigenvector corresponding to the i-th eigenvalue. - Return type: - tupleof- escript.Data- Note: - The dimension is restricted to 3. 
- 
esys.modellib.probe.erf(arg)¶
- Returns the error function erf of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.escript_generalTensorProduct(arg0, arg1, axis_offset, transpose=0)¶
- arg0 and arg1 are both Data objects but not necessarily on the same function space. They could be identical!!! 
- 
esys.modellib.probe.escript_generalTensorTransposedProduct(arg0, arg1, axis_offset)¶
- arg0 and arg1 are both Data objects but not necessarily on the same function space. They could be identical!!! 
- 
esys.modellib.probe.escript_generalTransposedTensorProduct(arg0, arg1, axis_offset)¶
- arg0 and arg1 are both Data objects but not necessarily on the same function space. They could be identical!!! 
- 
esys.modellib.probe.escript_inverse(arg)¶
- arg is a Data object! 
- 
esys.modellib.probe.exp(arg)¶
- Returns e to the power of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.generalTensorProduct(arg0, arg1, axis_offset=0)¶
- Generalized tensor product. - out[s,t]=Sigma_r arg0[s,r]*arg1[r,t]- where
- s runs through arg0.Shape[:arg0.ndim-axis_offset]
- r runs through arg1.Shape[:axis_offset]
- t runs through arg1.Shape[axis_offset:]
 
- s runs through 
 - Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol,float,int) – first argument
- arg1 (numpy.ndarray,escript.Data,Symbol,float,int) – second argument
 - Returns: - the general tensor product of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.generalTensorTransposedProduct(arg0, arg1, axis_offset=0)¶
- Generalized tensor product of - arg0and transpose of- arg1.- out[s,t]=Sigma_r arg0[s,r]*arg1[t,r]- where
- s runs through arg0.Shape[:arg0.ndim-axis_offset]
- r runs through arg0.Shape[arg1.ndim-axis_offset:]
- t runs through arg1.Shape[arg1.ndim-axis_offset:]
 
- s runs through 
 - The function call - generalTensorTransposedProduct(arg0,arg1,axis_offset)is equivalent to- generalTensorProduct(arg0,transpose(arg1,arg1.ndim-axis_offset),axis_offset).- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol,float,int) – first argument
- arg1 (numpy.ndarray,escript.Data,Symbol,float,int) – second argument
 - Returns: - the general tensor product of - arg0and- transpose(arg1)at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.generalTransposedTensorProduct(arg0, arg1, axis_offset=0)¶
- Generalized tensor product of transposed of - arg0and- arg1.- out[s,t]=Sigma_r arg0[r,s]*arg1[r,t]- where
- s runs through arg0.Shape[axis_offset:]
- r runs through arg0.Shape[:axis_offset]
- t runs through arg1.Shape[axis_offset:]
 
- s runs through 
 - The function call - generalTransposedTensorProduct(arg0,arg1,axis_offset)is equivalent to- generalTensorProduct(transpose(arg0,arg0.ndim-axis_offset),arg1,axis_offset).- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol,float,int) – first argument
- arg1 (numpy.ndarray,escript.Data,Symbol,float,int) – second argument
 - Returns: - the general tensor product of - transpose(arg0)and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.getClosestValue(arg, origin=0)¶
- Returns the value in - argwhich is closest to origin.- Parameters: - arg (escript.Data) – function
- origin (floatorescript.Data) – reference value
 - Returns: - value in - argclosest to origin- Return type: - numpy.ndarray
- arg (
- 
esys.modellib.probe.getEpsilon()¶
- 
esys.modellib.probe.getMPIRankWorld() → int :¶
- Return the rank of this process in the MPI World. 
- 
esys.modellib.probe.getMPIWorldMax((int)arg1) → int :¶
- Each MPI process calls this function with a value for arg1. The maximum value is computed and returned. - Return type: - int 
- 
esys.modellib.probe.getMaxFloat()¶
- 
esys.modellib.probe.getNumpy(**data)¶
- Writes - Dataobjects to a numpy array.- The keyword args are Data objects to save. If a scalar - Dataobject is passed with the name- mask, then only samples which correspond to positive values in- maskwill be output.- Example usage: - s=Scalar(..) v=Vector(..) t=Tensor(..) f=float() array = getNumpy(a=s, b=v, c=t, d=f) 
- 
esys.modellib.probe.getRank(arg)¶
- Identifies the rank of the argument. - Parameters: - arg ( - numpy.ndarray,- escript.Data,- float,- int,- Symbol) – an object whose rank is to be returned- Returns: - the rank of the argument - Return type: - int- Raises: - TypeError – if type of - argcannot be processed
- 
esys.modellib.probe.getShape(arg)¶
- Identifies the shape of the argument. - Parameters: - arg ( - numpy.ndarray,- escript.Data,- float,- int,- Symbol) – an object whose shape is to be returned- Returns: - the shape of the argument - Return type: - tupleof- int- Raises: - TypeError – if type of - argcannot be processed
- 
esys.modellib.probe.getTagNames(domain)¶
- Returns a list of tag names used by the domain. - Parameters: - domain ( - escript.Domain) – a domain object- Returns: - a list of tag names used by the domain - Return type: - listof- str
- 
esys.modellib.probe.getVersion() → int :¶
- This method will only report accurate version numbers for clean checkouts. 
- 
esys.modellib.probe.gmshGeo2Msh(geoFile, mshFile, numDim, order=1, verbosity=0)¶
- Runs gmsh to mesh input - geoFile. Returns 0 on success.
- 
esys.modellib.probe.grad(arg, where=None)¶
- Returns the spatial gradient of - argat- where.- If - gis the returned object, then- if argis rank 0g[s]is the derivative ofargwith respect to thes-th spatial dimension
- if argis rank 1g[i,s]is the derivative ofarg[i]with respect to thes-th spatial dimension
- if argis rank 2g[i,j,s]is the derivative ofarg[i,j]with respect to thes-th spatial dimension
- if argis rank 3g[i,j,k,s]is the derivative ofarg[i,j,k]with respect to thes-th spatial dimension.
 - Parameters: - arg (escript.DataorSymbol) – function of which the gradient is to be calculated. Its rank has to be less than 3.
- where (Noneorescript.FunctionSpace) – FunctionSpace in which the gradient is calculated. If not present orNonean appropriate default is used.
 - Returns: - gradient of - arg- Return type: - escript.Dataor- Symbol
- if 
- 
esys.modellib.probe.grad_n(arg, n, where=None)¶
- 
esys.modellib.probe.hasFeature((str)name) → bool :¶
- Check if escript was compiled with a certain feature - Parameters: - name ( - string) – feature to lookup
- 
esys.modellib.probe.hermitian(arg)¶
- Returns the hermitian part of the square matrix - arg. That is, (arg+adjoint(arg))/2.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – input matrix. Must have rank 2 or 4 and be square.- Returns: - hermitian part of - arg- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.identity(shape=())¶
- Returns the - shapex- shapeidentity tensor.- Parameters: - shape ( - tupleof- int) – input shape for the identity tensor- Returns: - array whose shape is shape x shape where u[i,k]=1 for i=k and u[i,k]=0 otherwise for len(shape)=1. If len(shape)=2: u[i,j,k,l]=1 for i=k and j=l and u[i,j,k,l]=0 otherwise. - Return type: - numpy.ndarrayof rank 1, rank 2 or rank 4- Raises: - ValueError – if len(shape)>2 
- 
esys.modellib.probe.identityTensor(d=3)¶
- Returns the - dx- didentity matrix.- Parameters: - d ( - int,- escript.Domainor- escript.FunctionSpace) – dimension or an object that has the- getDimmethod defining the dimension- Returns: - the object u of rank 2 with u[i,j]=1 for i=j and u[i,j]=0 otherwise - Return type: - numpy.ndarrayor- escript.Dataof rank 2
- 
esys.modellib.probe.identityTensor4(d=3)¶
- Returns the - dx- dx- dx- didentity tensor.- Parameters: - d ( - intor any object with a- getDimmethod) – dimension or an object that has the- getDimmethod defining the dimension- Returns: - the object u of rank 4 with u[i,j,k,l]=1 for i=k and j=l and u[i,j,k,l]=0 otherwise - Return type: - numpy.ndarrayor- escript.Dataof rank 4
- 
esys.modellib.probe.inf(arg)¶
- Returns the minimum value over all data points. - Parameters: - arg ( - float,- int,- escript.Data,- numpy.ndarray) – argument- Returns: - minimum value of - argover all components and all data points- Return type: - float- Raises: - TypeError – if type of - argcannot be processed
- 
esys.modellib.probe.inner(arg0, arg1)¶
- Inner product of the two arguments. The inner product is defined as: - out=Sigma_s arg0[s]*arg1[s]- where s runs through - arg0.Shape.- arg0and- arg1must have the same shape.- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol,float,int) – first argument
- arg1 (numpy.ndarray,escript.Data,Symbol,float,int) – second argument
 - Returns: - the inner product of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symbol,- floatdepending on the input- Raises: - ValueError – if the shapes of the arguments are not identical 
- arg0 (
- 
esys.modellib.probe.insertTagNames(domain, **kwargs)¶
- Inserts tag names into the domain. - Parameters: - domain (escript.Domain) – a domain object
- <tag_name> (int) – tag key assigned to <tag_name>
 
- domain (
- 
esys.modellib.probe.insertTaggedValues(target, **kwargs)¶
- Inserts tagged values into the target using tag names. - Parameters: - target (escript.Data) – data to be filled by tagged values
- <tag_name> (floatornumpy.ndarray) – value to be used for <tag_name>
 - Returns: - target- Return type: - escript.Data
- target (
- 
esys.modellib.probe.integrate(arg, where=None)¶
- Returns the integral of the function - argover its domain. If- whereis present- argis interpolated to- wherebefore integration.- Parameters: - arg (escript.DataorSymbol) – the function which is integrated
- where (Noneorescript.FunctionSpace) – FunctionSpace in which the integral is calculated. If not present orNonean appropriate default is used.
 - Returns: - integral of - arg- Return type: - float,- numpy.ndarrayor- Symbol
- arg (
- 
esys.modellib.probe.interpolate(arg, where)¶
- Interpolates the function into the - FunctionSpace- where. If the argument- arghas the requested function space- whereno interpolation is performed and- argis returned.- Parameters: - arg (escript.DataorSymbol) – interpolant
- where (escript.FunctionSpace) –FunctionSpaceto be interpolated to
 - Returns: - interpolated argument - Return type: - escript.Dataor- Symbol
- arg (
- 
esys.modellib.probe.interpolateTable(tab, dat, start, step, undef=1e+50, check_boundaries=False)¶
- 
esys.modellib.probe.inverse(arg)¶
- Returns the inverse of the square matrix - arg.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – square matrix. Must have rank 2 and the first and second dimension must be equal.- Returns: - inverse of the argument. - matrix_mult(inverse(arg),arg)will be almost equal to- kronecker(arg.getShape()[0])- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input- Note: - for - escript.Dataobjects the dimension is restricted to 3.
- 
esys.modellib.probe.jump(arg, domain=None)¶
- Returns the jump of - argacross the continuity of the domain.- Parameters: - arg (escript.DataorSymbol) – argument
- domain (Noneorescript.Domain) – the domain where the discontinuity is located. If domain is not present or equal toNonethe domain ofargis used.
 - Returns: - jump of - arg- Return type: - escript.Dataor- Symbol
- arg (
- 
esys.modellib.probe.kronecker(d=3)¶
- Returns the kronecker delta-symbol. - Parameters: - d ( - int,- escript.Domainor- escript.FunctionSpace) – dimension or an object that has the- getDimmethod defining the dimension- Returns: - the object u of rank 2 with u[i,j]=1 for i=j and u[i,j]=0 otherwise - Return type: - numpy.ndarrayor- escript.Dataof rank 2
- 
esys.modellib.probe.length(arg)¶
- Returns the length (Euclidean norm) of argument - argat each data point.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symboldepending on the type of- arg
- 
esys.modellib.probe.listEscriptParams() → list :¶
- Returns: - A list of tuples (p,v,d) where p is the name of a parameter for escript, v is its current value, and d is a description. 
- 
esys.modellib.probe.log(arg)¶
- Returns the natural logarithm of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.log10(arg)¶
- Returns base-10 logarithm of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.longestEdge(domain)¶
- Returns the length of the longest edge of the domain - Parameters: - domain ( - escript.Domain) – a domain- Returns: - longest edge of the domain parallel to the Cartesian axis - Return type: - float
- 
esys.modellib.probe.makeTagMap(fs)¶
- Produce an expanded Data over the function space where the value is the tag associated with the sample 
- 
esys.modellib.probe.matchShape(arg0, arg1)¶
- Returns a representation of - arg0and- arg1which have the same shape.- Parameters: - arg0 (numpy.ndarray,`escript.Data`,``float``,int,Symbol) – first argument
- arg1 (numpy.ndarray,`escript.Data`,``float``,int,Symbol) – second argument
 - Returns: - arg0and- arg1where copies are returned when the shape has to be changed- Return type: - tuple
- arg0 (
- 
esys.modellib.probe.matchType(arg0=0.0, arg1=0.0)¶
- Converts - arg0and- arg1both to the same type- numpy.ndarrayor- escript.Data- Parameters: - arg0 (numpy.ndarray,`escript.Data`,``float``,int,Symbol) – first argument
- arg1 (numpy.ndarray,`escript.Data`,``float``,int,Symbol) – second argument
 - Returns: - a tuple representing - arg0and- arg1with the same type or with at least one of them being a- Symbol- Return type: - tupleof two- numpy.ndarrayor two- escript.Data- Raises: - TypeError – if type of - arg0or- arg1cannot be processed
- arg0 (
- 
esys.modellib.probe.matrix_mult(arg0, arg1)¶
- matrix-matrix or matrix-vector product of the two arguments. - out[s0]=Sigma_{r0} arg0[s0,r0]*arg1[r0]- or - out[s0,s1]=Sigma_{r0} arg0[s0,r0]*arg1[r0,s1]- The second dimension of - arg0and the first dimension of- arg1must match.- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of at least rank 1
 - Returns: - the matrix-matrix or matrix-vector product of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input- Raises: - ValueError – if the shapes of the arguments are not appropriate 
- arg0 (
- 
esys.modellib.probe.matrix_transposed_mult(arg0, arg1)¶
- matrix-transposed(matrix) product of the two arguments. - out[s0,s1]=Sigma_{r0} arg0[s0,r0]*arg1[s1,r0]- The function call - matrix_transposed_mult(arg0,arg1)is equivalent to- matrix_mult(arg0,transpose(arg1)).- The last dimensions of - arg0and- arg1must match.- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of rank 1 or 2
 - Returns: - the product of - arg0and the transposed of- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input- Raises: - ValueError – if the shapes of the arguments are not appropriate 
- arg0 (
- 
esys.modellib.probe.matrixmult(arg0, arg1)¶
- See - matrix_mult.
- 
esys.modellib.probe.maximum(*args)¶
- The maximum over arguments - args.- Parameters: - args ( - numpy.ndarray,- escript.Data,- Symbol,- intor- float) – arguments- Returns: - an object which in each entry gives the maximum of the corresponding values in - args- Return type: - numpy.ndarray,- escript.Data,- Symbol,- intor- floatdepending on the input
- 
esys.modellib.probe.maxval(arg)¶
- Returns the maximum value over all components of - argat each data point.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symboldepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.meanValue(arg)¶
- return the mean value of the argument over its domain - Parameters: - arg ( - escript.Data) – function- Returns: - mean value - Return type: - floator- numpy.ndarray
- 
esys.modellib.probe.minimum(*args)¶
- The minimum over arguments - args.- Parameters: - args ( - numpy.ndarray,- escript.Data,- Symbol,- intor- float) – arguments- Returns: - an object which gives in each entry the minimum of the corresponding values in - args- Return type: - numpy.ndarray,- escript.Data,- Symbol,- intor- floatdepending on the input
- 
esys.modellib.probe.minval(arg)¶
- Returns the minimum value over all components of - argat each data point.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symboldepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.mkDir(*pathname)¶
- creates a directory of name - pathnameif the directory does not exist.- Parameters: - pathname ( - stror- sequence of strings) – valid path name- Note: - The method is MPI safe. 
- 
esys.modellib.probe.mult(arg0, arg1)¶
- Product of - arg0and- arg1.- Parameters: - arg0 (Symbol,float,int,escript.Dataornumpy.ndarray) – first term
- arg1 (Symbol,float,int,escript.Dataornumpy.ndarray) – second term
 - Returns: - the product of - arg0and- arg1- Return type: - Symbol,- float,- int,- escript.Dataor- numpy.ndarray- Note: - The shape of both arguments is matched according to the rules used in - matchShape.
- arg0 (
- 
esys.modellib.probe.negative(arg)¶
- returns the negative part of arg 
- 
esys.modellib.probe.nonsymmetric(arg)¶
- Deprecated alias for antisymmetric 
- 
esys.modellib.probe.normalize(arg, zerolength=0)¶
- Returns the normalized version of - arg(=``arg/length(arg)``).- Parameters: - arg (escript.DataorSymbol) – function
- zerolength (float) – relative tolerance for arg == 0
 - Returns: - normalized - argwhere- argis non-zero, and zero elsewhere- Return type: - escript.Dataor- Symbol
- arg (
- 
esys.modellib.probe.outer(arg0, arg1)¶
- The outer product of the two arguments. The outer product is defined as: - out[t,s]=arg0[t]*arg1[s]- where
- s runs through arg0.Shape
- t runs through arg1.Shape
 
- s runs through 
 - Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol,float,int) – first argument
- arg1 (numpy.ndarray,escript.Data,Symbol,float,int) – second argument
 - Returns: - the outer product of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.phase(arg)¶
- return the “phase”/”arg”/”angle” of a number 
- 
esys.modellib.probe.pokeDim(arg)¶
- Identifies the spatial dimension of the argument. - Parameters: - arg (any) – an object whose spatial dimension is to be returned - Returns: - the spatial dimension of the argument, if available, or - None- Return type: - intor- None
- 
esys.modellib.probe.polarToCart(r, phase)¶
- conversion from cartesian to polar coordinates - Parameters: - r (any float type object) – length
- phase (any float type object) – the phase angle in rad
 - Returns: - cartesian representation as complex number - Return type: - appropriate complex 
- 
esys.modellib.probe.positive(arg)¶
- returns the positive part of arg 
- 
esys.modellib.probe.printParallelThreadCounts() → None¶
- 
esys.modellib.probe.reorderComponents(arg, index)¶
- Resorts the components of - argaccording to index.
- 
esys.modellib.probe.resolve(arg)¶
- Returns the value of arg resolved. 
- 
esys.modellib.probe.safeDiv(arg0, arg1, rtol=None)¶
- returns arg0/arg1 but return 0 where arg1 is (almost) zero 
- 
esys.modellib.probe.saveDataCSV(filename, append=False, refid=False, sep=', ', csep='_', **data)¶
- Writes - Dataobjects to a CSV file. These objects must have compatible FunctionSpaces, i.e. it must be possible to interpolate all data to one- FunctionSpace. Note, that with more than one MPI rank this function will fail for some function spaces on some domains.- Parameters: - filename (string) – file to save data to.
- append (bool) – IfTrue, then open file at end rather than beginning
- refid (bool) – IfTrue, then a list of reference ids will be printed in the first column
- sep (string) – separator between fields
- csep – separator for components of rank 2 and above (e.g. ‘_’ -> c0_1)
 - The keyword args are Data objects to save. If a scalar - Dataobject is passed with the name- mask, then only samples which correspond to positive values in- maskwill be output. Example:- s=Scalar(..) v=Vector(..) t=Tensor(..) f=float() saveDataCSV("f.csv", a=s, b=v, c=t, d=f) - Will result in a file - a, b0, b1, c0_0, c0_1, .., c1_1, d 1.0, 1.5, 2.7, 3.1, 3.4, .., 0.89, 0.0 0.9, 8.7, 1.9, 3.4, 7.8, .., 1.21, 0.0 - The first line is a header, the remaining lines give the values. 
- filename (
- 
esys.modellib.probe.saveESD(datasetName, dataDir='.', domain=None, timeStep=0, deltaT=1, dynamicMesh=0, timeStepFormat='%04d', **data)¶
- Saves - Dataobjects to files and creates an- escript dataset(ESD) file for convenient processing/visualisation.- Single timestep example: - tmp = Scalar(..) v = Vector(..) saveESD("solution", "data", temperature=tmp, velocity=v) - Time series example: - while t < t_end: tmp = Scalar(..) v = Vector(..) # save every 10 timesteps if t % 10 == 0: saveESD("solution", "data", timeStep=t, deltaT=10, temperature=tmp, velocity=v) t = t + 1 - tmp, v and the domain are saved in native format in the “data” directory and the file “solution.esd” is created that refers to tmp by the name “temperature” and to v by the name “velocity”. - Parameters: - datasetName (str) – name of the dataset, used to name the ESD file
- dataDir (str) – optional directory where the data files should be saved
- domain (escript.Domain) – domain of theDataobject(s). If not specified, the domain of the givenDataobjects is used.
- timeStep (int) – current timestep or sequence number - first one must be 0
- deltaT (int) – timestep or sequence increment, see example above
- dynamicMesh (int) – by default the mesh is assumed to be static and thus only saved once at timestep 0 to save disk space. Setting this to 1 changes the behaviour and the mesh is saved at each timestep.
- timeStepFormat (str) – timestep format string (defaults to “%04d”)
- <name> (Dataobject) – writes the assigned value to the file using <name> as identifier
 - Note: - The ESD concept is experimental and the file format likely to change so use this function with caution. - Note: - The data objects have to be defined on the same domain (but not necessarily on the same - FunctionSpace).- Note: - When saving a time series the first timestep must be 0 and it is assumed that data from all timesteps share the domain. The dataset file is updated in each iteration. 
- datasetName (
- 
esys.modellib.probe.showEscriptParams()¶
- Displays the parameters escript recognises with an explanation and their current value. 
- 
esys.modellib.probe.sign(arg)¶
- Returns the sign of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.sin(arg)¶
- Returns sine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.sinh(arg)¶
- Returns the hyperbolic sine of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.sqrt(arg)¶
- Returns the square root of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.sup(arg)¶
- Returns the maximum value over all data points. - Parameters: - arg ( - float,- int,- escript.Data,- numpy.ndarray) – argument- Returns: - maximum value of - argover all components and all data points- Return type: - float- Raises: - TypeError – if type of - argcannot be processed
- 
esys.modellib.probe.swap_axes(arg, axis0=0, axis1=1)¶
- Returns the swap of - argby swapping the components- axis0and- axis1.- Parameters: - arg (escript.Data,Symbol,numpy.ndarray) – argument
- axis0 (int) – first axis.axis0must be non-negative and less than the rank ofarg.
- axis1 (int) – second axis.axis1must be non-negative and less than the rank ofarg.
 - Returns: - argwith swapped components- Return type: - escript.Data,- Symbolor- numpy.ndarraydepending on the type of- arg
- arg (
- 
esys.modellib.probe.symmetric(arg)¶
- Returns the symmetric part of the square matrix - arg. That is, (arg+transpose(arg))/2.- Parameters: - arg ( - numpy.ndarray,- escript.Data,- Symbol) – input matrix. Must have rank 2 or 4 and be square.- Returns: - symmetric part of - arg- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- 
esys.modellib.probe.tan(arg)¶
- Returns tangent of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.tanh(arg)¶
- Returns the hyperbolic tangent of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.tensor_mult(arg0, arg1)¶
- The tensor product of the two arguments. - For - arg0of rank 2 this is- out[s0]=Sigma_{r0} arg0[s0,r0]*arg1[r0]- or - out[s0,s1]=Sigma_{r0} arg0[s0,r0]*arg1[r0,s1]- and for - arg0of rank 4 this is- out[s0,s1,s2,s3]=Sigma_{r0,r1} arg0[s0,s1,r0,r1]*arg1[r0,r1,s2,s3]- or - out[s0,s1,s2]=Sigma_{r0,r1} arg0[s0,s1,r0,r1]*arg1[r0,r1,s2]- or - out[s0,s1]=Sigma_{r0,r1} arg0[s0,s1,r0,r1]*arg1[r0,r1]- In the first case the second dimension of - arg0and the last dimension of- arg1must match and in the second case the two last dimensions of- arg0must match the two first dimensions of- arg1.- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2 or 4
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of shape greater than 1 or 2 depending on the rank ofarg0
 - Returns: - the tensor product of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- arg0 (
- 
esys.modellib.probe.tensor_transposed_mult(arg0, arg1)¶
- The tensor product of the first and the transpose of the second argument. - For - arg0of rank 2 this is- out[s0,s1]=Sigma_{r0} arg0[s0,r0]*arg1[s1,r0]- and for - arg0of rank 4 this is- out[s0,s1,s2,s3]=Sigma_{r0,r1} arg0[s0,s1,r0,r1]*arg1[s2,s3,r0,r1]- or - out[s0,s1,s2]=Sigma_{r0,r1} arg0[s0,s1,r0,r1]*arg1[s2,r0,r1]- In the first case the second dimension of - arg0and- arg1must match and in the second case the two last dimensions of- arg0must match the two last dimensions of- arg1.- The function call - tensor_transpose_mult(arg0,arg1)is equivalent to- tensor_mult(arg0,transpose(arg1)).- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2 or 4
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of shape greater of 1 or 2 depending on rank ofarg0
 - Returns: - the tensor product of the transposed of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- arg0 (
- 
esys.modellib.probe.tensormult(arg0, arg1)¶
- See - tensor_mult.
- 
esys.modellib.probe.testForZero(arg)¶
- Tests if the argument is identical to zero. - Parameters: - arg (typically - numpy.ndarray,- escript.Data,- float,- int) – the object to test for zero- Returns: - True if the argument is identical to zero, False otherwise - Return type: - bool
- 
esys.modellib.probe.trace(arg, axis_offset=0)¶
- Returns the trace of - argwhich is the sum of- arg[k,k]over k.- Parameters: - arg (escript.Data,Symbol,numpy.ndarray) – argument
- axis_offset (int) –axis_offsetto components to sum over.axis_offsetmust be non-negative and less than the rank ofarg+1. The dimensions of componentaxis_offsetand axis_offset+1 must be equal.
 - Returns: - trace of arg. The rank of the returned object is rank of - argminus 2.- Return type: - escript.Data,- Symbolor- numpy.ndarraydepending on the type of- arg
- arg (
- 
esys.modellib.probe.transpose(arg, axis_offset=None)¶
- Returns the transpose of - argby swapping the first- axis_offsetand the last- rank-axis_offsetcomponents.- Parameters: - arg (escript.Data,Symbol,numpy.ndarray,float,int) – argument
- axis_offset (int) – the firstaxis_offsetcomponents are swapped with the rest.axis_offsetmust be non-negative and less or equal to the rank ofarg. Ifaxis_offsetis not presentint(r/2)where r is the rank ofargis used.
 - Returns: - transpose of - arg- Return type: - escript.Data,- Symbol,- numpy.ndarray,- float,- intdepending on the type of- arg
- arg (
- 
esys.modellib.probe.transposed_matrix_mult(arg0, arg1)¶
- transposed(matrix)-matrix or transposed(matrix)-vector product of the two arguments. - out[s0]=Sigma_{r0} arg0[r0,s0]*arg1[r0]- or - out[s0,s1]=Sigma_{r0} arg0[r0,s0]*arg1[r0,s1]- The function call - transposed_matrix_mult(arg0,arg1)is equivalent to- matrix_mult(transpose(arg0),arg1).- The first dimension of - arg0and- arg1must match.- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of at least rank 1
 - Returns: - the product of the transpose of - arg0and- arg1at each data point- Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input- Raises: - ValueError – if the shapes of the arguments are not appropriate 
- arg0 (
- 
esys.modellib.probe.transposed_tensor_mult(arg0, arg1)¶
- The tensor product of the transpose of the first and the second argument. - For - arg0of rank 2 this is- out[s0]=Sigma_{r0} arg0[r0,s0]*arg1[r0]- or - out[s0,s1]=Sigma_{r0} arg0[r0,s0]*arg1[r0,s1]- and for - arg0of rank 4 this is- out[s0,s1,s2,s3]=Sigma_{r0,r1} arg0[r0,r1,s0,s1]*arg1[r0,r1,s2,s3]- or - out[s0,s1,s2]=Sigma_{r0,r1} arg0[r0,r1,s0,s1]*arg1[r0,r1,s2]- or - out[s0,s1]=Sigma_{r0,r1} arg0[r0,r1,s0,s1]*arg1[r0,r1]- In the first case the first dimension of - arg0and the first dimension of- arg1must match and in the second case the two first dimensions of- arg0must match the two first dimensions of- arg1.- The function call - transposed_tensor_mult(arg0,arg1)is equivalent to- tensor_mult(transpose(arg0),arg1).- Parameters: - arg0 (numpy.ndarray,escript.Data,Symbol) – first argument of rank 2 or 4
- arg1 (numpy.ndarray,escript.Data,Symbol) – second argument of shape greater of 1 or 2 depending on the rank ofarg0
 - Returns: - the tensor product of transpose of arg0 and arg1 at each data point - Return type: - numpy.ndarray,- escript.Data,- Symboldepending on the input
- arg0 (
- 
esys.modellib.probe.unitVector(i=0, d=3)¶
- Returns a unit vector u of dimension d whose non-zero element is at index i. - Parameters: - i (int) – index for non-zero element
- d (int,escript.Domainorescript.FunctionSpace) – dimension or an object that has thegetDimmethod defining the dimension
 - Returns: - the object u of rank 1 with u[j]=1 for j=index and u[j]=0 otherwise - Return type: - numpy.ndarrayor- escript.Dataof rank 1
- i (
- 
esys.modellib.probe.vol(arg)¶
- Returns the volume or area of the oject - arg- Parameters: - arg ( - escript.FunctionSpaceor- escript.Domain) – a geometrical object- Return type: - float
- 
esys.modellib.probe.whereNegative(arg)¶
- Returns mask of negative values of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.whereNonNegative(arg)¶
- Returns mask of non-negative values of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.whereNonPositive(arg)¶
- Returns mask of non-positive values of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.whereNonZero(arg, tol=0.0)¶
- Returns mask of values different from zero of argument - arg.- Parameters: - arg (float,escript.Data,Symbol,numpy.ndarray) – argument
- tol (float) – absolute tolerance. Values with absolute value less than tol are accepted as zero. Iftolis not presentrtol``*```Lsup` (arg)is used.
 - Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - ValueError – if rtolis non-negative.
- TypeError – if the type of the argument is not expected
 
- arg (
- 
esys.modellib.probe.wherePositive(arg)¶
- Returns mask of positive values of argument - arg.- Parameters: - arg ( - float,- escript.Data,- Symbol,- numpy.ndarray.) – argument- Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - TypeError – if the type of the argument is not expected 
- 
esys.modellib.probe.whereZero(arg, tol=None, rtol=1.4901161193847656e-08)¶
- Returns mask of zero entries of argument - arg.- Parameters: - arg (float,escript.Data,Symbol,numpy.ndarray) – argument
- tol (float) – absolute tolerance. Values with absolute value less than tol are accepted as zero. Iftolis not presentrtol``*```Lsup` (arg)is used.
- rtol (non-negative float) – relative tolerance used to define the absolute tolerance iftolis not present.
 - Return type: - float,- escript.Data,- Symbol,- numpy.ndarraydepending on the type of- arg- Raises: - ValueError – if rtolis non-negative.
- TypeError – if the type of the argument is not expected
 
- arg (
- 
esys.modellib.probe.zeros(shape=())¶
- Returns the - shapezero tensor.- Parameters: - shape ( - tupleof- int) – input shape for the identity tensor- Returns: - array of shape filled with zeros - Return type: - numpy.ndarray
Others¶
- DBLE_MAX
- EPSILON