esys.downunder.forwardmodels.base Package¶
Base classes for forward models
Classes¶
- 
class esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.ForwardModel¶
- Bases: - object- An abstract forward model that can be plugged into a cost function. Subclasses need to implement - getDefect(),- getGradient(), and possibly- getArguments()and ‘getCoordinateTransformation’.- 
__init__()¶
- Initialize self. See help(type(self)) for accurate signature. 
 - 
getArguments(x)¶
 - 
getCoordinateTransformation()¶
 - 
getDefect(x, *args)¶
 - 
getGradient(x, *args)¶
 
- 
- 
class esys.downunder.forwardmodels.base.ForwardModelWithPotential(domain, w, data, coordinates=None, fixPotentialAtBottom=False, tol=1e-08)¶
- Bases: - esys.downunder.forwardmodels.base.ForwardModel- Base class for a forward model using a potential such as magnetic or gravity. It defines a cost function: defect = 1/2 sum_s integrate( ( weight_i[s] * ( r_i - data_i[s] ) )**2 )- where s runs over the survey, weight_i are weighting factors, data_i are the data, and r_i are the results produced by the forward model. It is assumed that the forward model is produced through postprocessing of the solution of a potential PDE. - 
__init__(domain, w, data, coordinates=None, fixPotentialAtBottom=False, tol=1e-08)¶
- initializes a new forward model with potential. - Parameters: - domain (Domain) – domain of the model
- w (Vectoror list ofVector) – data weighting factors
- data (Vectoror list ofVector) – data
- coordinates (ReferenceSystemorSpatialCoordinateTransformation) – defines coordinate system to be used
- fixPotentialAtBottom (bool) – if true potential is fixed to zero at the bottom of the domain in addition to the top.
- tol (positive float) – tolerance of underlying PDE
 
- domain (
 - 
getArguments(x)¶
 - 
getCoordinateTransformation()¶
- returns the coordinate transformation being used - Return type: - CoordinateTransformation
 - 
getData()¶
- Returns the data - Return type: - listof- Data
 - 
getDataFunctionSpace()¶
- Returns the - FunctionSpaceof the data- Return type: - FunctionSpace
 - 
getDefect(x, *args)¶
 - 
getDefectGradient(result)¶
 - 
getDomain()¶
- Returns the domain of the forward model. - Return type: - Domain
 - 
getGradient(x, *args)¶
 - 
getMisfitWeights()¶
- Returns the weights of the misfit function - Return type: - listof- Data
 - 
getPDE()¶
- Return the underlying PDE. - Return type: - LinearPDE
 - 
getSurvey(index=None)¶
- Returns the pair (data_index, weight_index), where data_i is the data of survey i, weight_i is the weighting factor for survey i. If index is None, all surveys will be returned in a pair of lists. 
 
- 
Functions¶
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.LinearSinglePDE(domain, isComplex=False, debug=False)¶
- Defines a single linear PDE. - Parameters: - domain (Domain) – domain of the PDE
- isComplex (boolean) – if true, this coefficient is part of a complex-valued PDE and values will be converted to complex.
- debug – if True debug information is printed
 - Return type: - LinearPDE
- domain (
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.NumpyToData(array, isComplex, functionspace)¶
- Uses a numpy ndarray to create a - Dataobject- Example usage: NewDataObject = NumpyToData(ndarray, isComplex, FunctionSpace) 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.atan2(arg0, arg1)¶
- Returns inverse tangent of argument - arg0over- arg1
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.boundingBoxEdgeLengths(domain)¶
- Returns the edge lengths of the bounding box of a domain - Parameters: - domain ( - escript.Domain) – a domain- Return type: - listof- float
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.condEval(f, tval, fval)¶
- Wrapper to allow non-data objects to be used. 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.delay(arg)¶
- Returns a lazy version of arg 
- 
esys.downunder.forwardmodels.base.deviatoric(arg)¶
- Returns the deviatoric version of - arg.
- 
esys.downunder.forwardmodels.base.diameter(domain)¶
- Returns the diameter of a domain. - Parameters: - domain ( - escript.Domain) – a domain- Return type: - float
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.escript_inverse(arg)¶
- arg is a Data object! 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.getEpsilon()¶
- 
esys.downunder.forwardmodels.base.getMPIRankWorld() → int :¶
- Return the rank of this process in the MPI World. 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.getMaxFloat()¶
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.getVersion() → int :¶
- This method will only report accurate version numbers for clean checkouts. 
- 
esys.downunder.forwardmodels.base.gmshGeo2Msh(geoFile, mshFile, numDim, order=1, verbosity=0)¶
- Runs gmsh to mesh input - geoFile. Returns 0 on success.
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.grad_n(arg, n, where=None)¶
- 
esys.downunder.forwardmodels.base.hasFeature((str)name) → bool :¶
- Check if escript was compiled with a certain feature - Parameters: - name ( - string) – feature to lookup
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.interpolateTable(tab, dat, start, step, undef=1e+50, check_boundaries=False)¶
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.makeTagMap(fs)¶
- Produce an expanded Data over the function space where the value is the tag associated with the sample 
- 
esys.downunder.forwardmodels.base.makeTransformation(domain, coordinates=None)¶
- returns a - SpatialCoordinateTransformationfor the given domain- Parameters: - domain (esys.escript.AbstractDomain) – domain in the domain of the coordinate transformation
- coordinates (ReferenceSystemorSpatialCoordinateTransformation) – the reference system or spatial coordinate system.
 - Returns: - the spatial coordinate system for the given domain of the specified reference system - coordinates. If- coordinatesis already spatial coordinate system based on the riven domain- coordinatesis returned. Otherwise an appropriate spatial coordinate system is created.- Return type: - SpatialCoordinateTransformation
- domain (
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.matrixmult(arg0, arg1)¶
- See - matrix_mult.
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.negative(arg)¶
- returns the negative part of arg 
- 
esys.downunder.forwardmodels.base.nonsymmetric(arg)¶
- Deprecated alias for antisymmetric 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.phase(arg)¶
- return the “phase”/”arg”/”angle” of a number 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.positive(arg)¶
- returns the positive part of arg 
- 
esys.downunder.forwardmodels.base.printParallelThreadCounts() → None¶
- 
esys.downunder.forwardmodels.base.reorderComponents(arg, index)¶
- Resorts the components of - argaccording to index.
- 
esys.downunder.forwardmodels.base.resolve(arg)¶
- Returns the value of arg resolved. 
- 
esys.downunder.forwardmodels.base.safeDiv(arg0, arg1, rtol=None)¶
- returns arg0/arg1 but return 0 where arg1 is (almost) zero 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.showEscriptParams()¶
- Displays the parameters escript recognises with an explanation and their current value. 
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.tensormult(arg0, arg1)¶
- See - tensor_mult.
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.vol(arg)¶
- Returns the volume or area of the oject - arg- Parameters: - arg ( - escript.FunctionSpaceor- escript.Domain) – a geometrical object- Return type: - float
- 
esys.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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.downunder.forwardmodels.base.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