esys.downunder.forwardmodels.dcresistivity Package¶
Forward model for DC Resistivity
Classes¶
- 
class esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.DcRes(domain, locator, delphiIn, sampleTags, phiPrimary, sigmaPrimary, w=1.0, coordinates=None, tol=1e-08, saveMemory=True, b=None)¶
- Bases: - esys.downunder.forwardmodels.base.ForwardModel- Forward Model for DC resistivity, with a given source pair. The cost function is defined as: - Math: - defect = 1/2 (sum_s sum_pq w_pqs * ((phi_sp-phi_sq)-v_pqs)**2 - 
__init__(domain, locator, delphiIn, sampleTags, phiPrimary, sigmaPrimary, w=1.0, coordinates=None, tol=1e-08, saveMemory=True, b=None)¶
- setup new forward model - Parameters: - domain – the domain of the model
- locator – contains locator to the measurement pairs
- sampleTags (list of tuples) – tags of measurement points from which potential differences will be calculated.
- phiPrimary (Scalar) – primary potential.
 - Type: - escript domain - Type: - listof- Locator- Param: - delphiIn: this is v_pq, the potential difference for the current source and a set of measurement pairs. A list of measured potential differences is expected. Note this should be the secondary potential only. 
 - 
getArguments(sigma)¶
- Returns precomputed values shared by - getDefect()and- getGradient().- Parameters: - sigma ( - Dataof shape (1,)) – conductivity- Returns: - phi - Return type: - Dataof shape (1,)
 - 
getCoordinateTransformation()¶
- returns the coordinate transformation being used - Return type: - CoordinateTransformation
 - 
getDefect(sigma, phi, loc_phi)¶
- Returns the defect value. - Parameters: - sigma (Dataof shape (1,)) – a suggestion for conductivity
- phi (Dataof shape (1,)) – potential field
 - Return type: - float
- sigma (
 - 
getDomain()¶
- Returns the domain of the forward model. - Return type: - Domain
 - 
getGradient(sigma, phi, loc_phi)¶
- Returns the gradient of the defect with respect to density. - Parameters: - sigma (Dataof shape (1,)) – a suggestison for conductivity
- phi (Dataof shape (1,)) – potential field
 
- sigma (
 
- 
- 
class esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.LinearPDE(domain, numEquations=None, numSolutions=None, isComplex=False, debug=False)¶
- Bases: - esys.escriptcore.linearPDEs.LinearProblem- This class is used to define a general linear, steady, second order PDE for an unknown function u on a given domain defined through a - Domainobject.- For a single PDE having a solution with a single component the linear PDE is defined in the following form: - -(grad(A[j,l]+A_reduced[j,l])*grad(u)[l]+(B[j]+B_reduced[j])u)[j]+(C[l]+C_reduced[l])*grad(u)[l]+(D+D_reduced)=-grad(X+X_reduced)[j,j]+(Y+Y_reduced) - where grad(F) denotes the spatial derivative of F. Einstein’s summation convention, ie. summation over indexes appearing twice in a term of a sum performed, is used. The coefficients A, B, C, D, X and Y have to be specified through - Dataobjects in- Functionand the coefficients A_reduced, B_reduced, C_reduced, D_reduced, X_reduced and Y_reduced have to be specified through- Dataobjects in- ReducedFunction. It is also allowed to use objects that can be converted into such- Dataobjects. A and A_reduced are rank two, B, C, X, B_reduced, C_reduced and X_reduced are rank one and D, D_reduced, Y and Y_reduced are scalar.- The following natural boundary conditions are considered: - n[j]*((A[i,j]+A_reduced[i,j])*grad(u)[l]+(B+B_reduced)[j]*u)+(d+d_reduced)*u=n[j]*(X[j]+X_reduced[j])+y - where n is the outer normal field. Notice that the coefficients A, A_reduced, B, B_reduced, X and X_reduced are defined in the PDE. The coefficients d and y are each a scalar in - FunctionOnBoundaryand the coefficients d_reduced and y_reduced are each a scalar in- ReducedFunctionOnBoundary.- Constraints for the solution prescribe the value of the solution at certain locations in the domain. They have the form - u=r where q>0 - r and q are each scalar where q is the characteristic function defining where the constraint is applied. The constraints override any other condition set by the PDE or the boundary condition. - The PDE is symmetrical if - A[i,j]=A[j,i] and B[j]=C[j] and A_reduced[i,j]=A_reduced[j,i] and B_reduced[j]=C_reduced[j] - For a system of PDEs and a solution with several components the PDE has the form - -grad((A[i,j,k,l]+A_reduced[i,j,k,l])*grad(u[k])[l]+(B[i,j,k]+B_reduced[i,j,k])*u[k])[j]+(C[i,k,l]+C_reduced[i,k,l])*grad(u[k])[l]+(D[i,k]+D_reduced[i,k]*u[k] =-grad(X[i,j]+X_reduced[i,j])[j]+Y[i]+Y_reduced[i] - A and A_reduced are of rank four, B, B_reduced, C and C_reduced are each of rank three, D, D_reduced, X_reduced and X are each of rank two and Y and Y_reduced are of rank one. The natural boundary conditions take the form: - n[j]*((A[i,j,k,l]+A_reduced[i,j,k,l])*grad(u[k])[l]+(B[i,j,k]+B_reduced[i,j,k])*u[k])+(d[i,k]+d_reduced[i,k])*u[k]=n[j]*(X[i,j]+X_reduced[i,j])+y[i]+y_reduced[i] - The coefficient d is of rank two and y is of rank one both in - FunctionOnBoundary. The coefficients d_reduced is of rank two and y_reduced is of rank one both in- ReducedFunctionOnBoundary.- Constraints take the form - u[i]=r[i] where q[i]>0 - r and q are each rank one. Notice that at some locations not necessarily all components must have a constraint. - The system of PDEs is symmetrical if - A[i,j,k,l]=A[k,l,i,j]
- A_reduced[i,j,k,l]=A_reduced[k,l,i,j]
- B[i,j,k]=C[k,i,j]
- B_reduced[i,j,k]=C_reduced[k,i,j]
- D[i,k]=D[i,k]
- D_reduced[i,k]=D_reduced[i,k]
- d[i,k]=d[k,i]
- d_reduced[i,k]=d_reduced[k,i]
 - LinearPDEalso supports solution discontinuities over a contact region in the domain. To specify the conditions across the discontinuity we are using the generalised flux J which, in the case of a system of PDEs and several components of the solution, is defined as- J[i,j]=(A[i,j,k,l]+A_reduced[[i,j,k,l])*grad(u[k])[l]+(B[i,j,k]+B_reduced[i,j,k])*u[k]-X[i,j]-X_reduced[i,j] - For the case of single solution component and single PDE J is defined as - J[j]=(A[i,j]+A_reduced[i,j])*grad(u)[j]+(B[i]+B_reduced[i])*u-X[i]-X_reduced[i] - In the context of discontinuities n denotes the normal on the discontinuity pointing from side 0 towards side 1 calculated from - FunctionSpace.getNormalof- FunctionOnContactZero. For a system of PDEs the contact condition takes the form- n[j]*J0[i,j]=n[j]*J1[i,j]=(y_contact[i]+y_contact_reduced[i])- (d_contact[i,k]+d_contact_reduced[i,k])*jump(u)[k] - where J0 and J1 are the fluxes on side 0 and side 1 of the discontinuity, respectively. jump(u), which is the difference of the solution at side 1 and at side 0, denotes the jump of u across discontinuity along the normal calculated by - jump. The coefficient d_contact is of rank two and y_contact is of rank one both in- FunctionOnContactZeroor- FunctionOnContactOne. The coefficient d_contact_reduced is of rank two and y_contact_reduced is of rank one both in- ReducedFunctionOnContactZeroor- ReducedFunctionOnContactOne. In case of a single PDE and a single component solution the contact condition takes the form- n[j]*J0_{j}=n[j]*J1_{j}=(y_contact+y_contact_reduced)-(d_contact+y_contact_reduced)*jump(u) - In this case the coefficient d_contact and y_contact are each scalar both in - FunctionOnContactZeroor- FunctionOnContactOneand the coefficient d_contact_reduced and y_contact_reduced are each scalar both in- ReducedFunctionOnContactZeroor- ReducedFunctionOnContactOne.- Typical usage: - p = LinearPDE(dom) p.setValue(A=kronecker(dom), D=1, Y=0.5) u = p.getSolution() - 
__init__(domain, numEquations=None, numSolutions=None, isComplex=False, debug=False)¶
- Initializes a new linear PDE. - Parameters: - domain (Domain) – domain of the PDE
- numEquations – number of equations. If Nonethe number of equations is extracted from the PDE coefficients.
- numSolutions – number of solution components. If Nonethe number of solution components is extracted from the PDE coefficients.
- debug – if True debug information is printed
 
- domain (
 - 
addPDEToLumpedSystem(operator, a, b, c, hrz_lumping)¶
- adds a PDE to the lumped system, results depend on domain - Parameters: 
 - 
addPDEToRHS(righthandside, X, Y, y, y_contact, y_dirac)¶
- adds a PDE to the right hand side, results depend on domain - Parameters: 
 - 
addPDEToSystem(operator, righthandside, A, B, C, D, X, Y, d, y, d_contact, y_contact, d_dirac, y_dirac)¶
- adds a PDE to the system, results depend on domain - Parameters: 
 - 
addToRHS(rhs, data)¶
- adds a PDE to the right hand side, results depend on domain - Parameters: - mat (OperatorAdapter) –
- righthandside (Data) –
- data (list) –
 
- mat (
 - 
addToSystem(op, rhs, data)¶
- adds a PDE to the system, results depend on domain - Parameters: - mat (OperatorAdapter) –
- rhs (Data) –
- data (list) –
 
- mat (
 - 
alteredCoefficient(name)¶
- Announces that coefficient - namehas been changed.- Parameters: - name ( - string) – name of the coefficient affected- Raises: - IllegalCoefficient – if - nameis not a coefficient of the PDE- Note: - if - nameis q or r, the method will not trigger a rebuild of the system as constraints are applied to the solved system.
 - 
checkReciprocalSymmetry(name0, name1, verbose=True)¶
- Tests two coefficients for reciprocal symmetry. - Parameters: - name0 (str) – name of the first coefficient
- name1 (str) – name of the second coefficient
- verbose (bool) – if set to True or not present a report on coefficients which break the symmetry is printed
 - Returns: - True if coefficients - name0and- name1are reciprocally symmetric.- Return type: - bool
- name0 (
 - 
checkSymmetricTensor(name, verbose=True)¶
- Tests a coefficient for symmetry. - Parameters: - name (str) – name of the coefficient
- verbose (bool) – if set to True or not present a report on coefficients which break the symmetry is printed.
 - Returns: - True if coefficient - nameis symmetric- Return type: - bool
- name (
 - 
checkSymmetry(verbose=True)¶
- Tests the PDE for symmetry. - Parameters: - verbose ( - bool) – if set to True or not present a report on coefficients which break the symmetry is printed.- Returns: - True if the PDE is symmetric - Return type: - bool- Note: - This is a very expensive operation. It should be used for degugging only! The symmetry flag is not altered. 
 - 
createCoefficient(name)¶
- Creates a - Dataobject corresponding to coefficient- name.- Returns: - the coefficient - nameinitialized to 0- Return type: - Data- Raises: - IllegalCoefficient – if - nameis not a coefficient of the PDE
 - 
createOperator()¶
- Returns an instance of a new operator. 
 - 
createRightHandSide()¶
- Returns an instance of a new right hand side. 
 - 
createSolution()¶
- Returns an instance of a new solution. 
 - 
getCoefficient(name)¶
- Returns the value of the coefficient - name.- Parameters: - name ( - string) – name of the coefficient requested- Returns: - the value of the coefficient - Return type: - Data- Raises: - IllegalCoefficient – if - nameis not a coefficient of the PDE
 - 
getCurrentOperator()¶
- Returns the operator in its current state. 
 - 
getCurrentRightHandSide()¶
- Returns the right hand side in its current state. 
 - 
getCurrentSolution()¶
- Returns the solution in its current state. 
 - 
getDim()¶
- Returns the spatial dimension of the PDE. - Returns: - the spatial dimension of the PDE domain - Return type: - int
 - 
getDomain()¶
- Returns the domain of the PDE. - Returns: - the domain of the PDE - Return type: - Domain
 - 
getDomainStatus()¶
- Return the status indicator of the domain 
 - 
getFlux(u=None)¶
- Returns the flux J for a given u. - J[i,j]=(A[i,j,k,l]+A_reduced[A[i,j,k,l]]*grad(u[k])[l]+(B[i,j,k]+B_reduced[i,j,k])u[k]-X[i,j]-X_reduced[i,j] - or - J[j]=(A[i,j]+A_reduced[i,j])*grad(u)[l]+(B[j]+B_reduced[j])u-X[j]-X_reduced[j] - Parameters: - u ( - Dataor None) – argument in the flux. If u is not present or equals- Nonethe current solution is used.- Returns: - flux - Return type: - Data
 - 
getFunctionSpaceForCoefficient(name)¶
- Returns the - FunctionSpaceto be used for coefficient- name.- Parameters: - name ( - string) – name of the coefficient enquired- Returns: - the function space to be used for coefficient - name- Return type: - FunctionSpace- Raises: - IllegalCoefficient – if - nameis not a coefficient of the PDE
 - 
getFunctionSpaceForEquation()¶
- Returns the - FunctionSpaceused to discretize the equation.- Returns: - representation space of equation - Return type: - FunctionSpace
 - 
getFunctionSpaceForSolution()¶
- Returns the - FunctionSpaceused to represent the solution.- Returns: - representation space of solution - Return type: - FunctionSpace
 - 
getNumEquations()¶
- Returns the number of equations. - Returns: - the number of equations - Return type: - int- Raises: - UndefinedPDEError – if the number of equations is not specified yet 
 - 
getNumSolutions()¶
- Returns the number of unknowns. - Returns: - the number of unknowns - Return type: - int- Raises: - UndefinedPDEError – if the number of unknowns is not specified yet 
 - 
getOperator()¶
- Returns the operator of the linear problem. - Returns: - the operator of the problem 
 - 
getOperatorType()¶
- Returns the current system type. 
 - 
getRequiredOperatorType()¶
- Returns the system type which needs to be used by the current set up. 
 - 
getResidual(u=None)¶
- Returns the residual of u or the current solution if u is not present. - Parameters: - u ( - Dataor None) – argument in the residual calculation. It must be representable in- self.getFunctionSpaceForSolution(). If u is not present or equals- Nonethe current solution is used.- Returns: - residual of u - Return type: - Data
 - 
getRightHandSide()¶
- Returns the right hand side of the linear problem. - Returns: - the right hand side of the problem - Return type: - Data
 - 
getShapeOfCoefficient(name)¶
- Returns the shape of the coefficient - name.- Parameters: - name ( - string) – name of the coefficient enquired- Returns: - the shape of the coefficient - name- Return type: - tupleof- int- Raises: - IllegalCoefficient – if - nameis not a coefficient of the PDE
 - 
getSolverOptions()¶
- Returns the solver options - Return type: - SolverOptions
 - 
getSystem()¶
- Returns the operator and right hand side of the PDE. - Returns: - the discrete version of the PDE - Return type: - tupleof- Operatorand- Data
 - 
getSystemStatus()¶
- Return the domain status used to build the current system 
 - 
hasCoefficient(name)¶
- Returns True if - nameis the name of a coefficient.- Parameters: - name ( - string) – name of the coefficient enquired- Returns: - True if - nameis the name of a coefficient of the general PDE, False otherwise- Return type: - bool
 - 
initializeSystem()¶
- Resets the system clearing the operator, right hand side and solution. 
 - 
insertConstraint(rhs_only=False)¶
- Applies the constraints defined by q and r to the PDE. - Parameters: - rhs_only ( - bool) – if True only the right hand side is altered by the constraint
 - 
introduceCoefficients(**coeff)¶
- Introduces new coefficients into the problem. - Use: - p.introduceCoefficients(A=PDECoef(…), B=PDECoef(…)) - to introduce the coefficients A and B. 
 - 
invalidateOperator()¶
- Indicates the operator has to be rebuilt next time it is used. 
 - 
invalidateRightHandSide()¶
- Indicates the right hand side has to be rebuilt next time it is used. 
 - 
invalidateSolution()¶
- Indicates the PDE has to be resolved if the solution is requested. 
 - 
invalidateSystem()¶
- Announces that everything has to be rebuilt. 
 - 
isComplex()¶
- Returns true if this is a complex-valued LinearProblem, false if real-valued. - Return type: - bool
 - 
isHermitian()¶
- Checks if the pde is indicated to be Hermitian. - Returns: - True if a Hermitian PDE is indicated, False otherwise - Return type: - bool- Note: - the method is equivalent to use getSolverOptions().isHermitian() 
 - 
isOperatorValid()¶
- Returns True if the operator is still valid. 
 - 
isRightHandSideValid()¶
- Returns True if the operator is still valid. 
 - 
isSolutionValid()¶
- Returns True if the solution is still valid. 
 - 
isSymmetric()¶
- Checks if symmetry is indicated. - Returns: - True if a symmetric PDE is indicated, False otherwise - Return type: - bool- Note: - the method is equivalent to use getSolverOptions().isSymmetric() 
 - 
isSystemValid()¶
- Returns True if the system (including solution) is still vaild. 
 - 
isUsingLumping()¶
- Checks if matrix lumping is the current solver method. - Returns: - True if the current solver method is lumping - Return type: - bool
 - 
preservePreconditioner(preserve=True)¶
- Notifies the PDE that the preconditioner should not be reset when making changes to the operator. - Building the preconditioner data can be quite expensive (e.g. for multigrid methods) so if it is known that changes to the operator are going to be minor calling this method can speed up successive PDE solves. - Note: - Not all operator types support this. - Parameters: - preserve ( - bool) – if True, preconditioner will be preserved, otherwise it will be reset when making changes to the operator, which is the default behaviour.
 - 
reduceEquationOrder()¶
- Returns the status of order reduction for the equation. - Returns: - True if reduced interpolation order is used for the representation of the equation, False otherwise - Return type: - bool
 - 
reduceSolutionOrder()¶
- Returns the status of order reduction for the solution. - Returns: - True if reduced interpolation order is used for the representation of the solution, False otherwise - Return type: - bool
 - 
resetAllCoefficients()¶
- Resets all coefficients to their default values. 
 - 
resetOperator()¶
- Makes sure that the operator is instantiated and returns it initialized with zeros. 
 - 
resetRightHandSide()¶
- Sets the right hand side to zero. 
 - 
resetRightHandSideCoefficients()¶
- Resets all coefficients defining the right hand side 
 - 
resetSolution()¶
- Sets the solution to zero. 
 - 
setDebug(flag)¶
- Switches debug output on if - flagis True otherwise it is switched off.- Parameters: - flag ( - bool) – desired debug status
 - 
setDebugOff()¶
- Switches debug output off. 
 - 
setDebugOn()¶
- Switches debug output on. 
 - 
setHermitian(flag=False)¶
- Sets the Hermitian flag to - flag.- Parameters: - flag ( - bool) – If True, the Hermitian flag is set otherwise reset.- Note: - The method overwrites the Hermitian flag set by the solver options 
 - 
setHermitianOff()¶
- Clears the Hermitian flag. :note: The method overwrites the Hermitian flag set by the solver options 
 - 
setHermitianOn()¶
- Sets the Hermitian flag. :note: The method overwrites the Hermitian flag set by the solver options 
 - 
setReducedOrderForEquationOff()¶
- Switches reduced order off for equation representation. - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderForEquationOn()¶
- Switches reduced order on for equation representation. - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderForEquationTo(flag=False)¶
- Sets order reduction state for equation representation according to flag. - Parameters: - flag ( - bool) – if flag is True, the order reduction is switched on for equation representation, otherwise or if flag is not present order reduction is switched off- Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderForSolutionOff()¶
- Switches reduced order off for solution representation - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set. 
 - 
setReducedOrderForSolutionOn()¶
- Switches reduced order on for solution representation. - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderForSolutionTo(flag=False)¶
- Sets order reduction state for solution representation according to flag. - Parameters: - flag ( - bool) – if flag is True, the order reduction is switched on for solution representation, otherwise or if flag is not present order reduction is switched off- Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderOff()¶
- Switches reduced order off for solution and equation representation - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderOn()¶
- Switches reduced order on for solution and equation representation. - Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setReducedOrderTo(flag=False)¶
- Sets order reduction state for both solution and equation representation according to flag. - Parameters: - flag ( - bool) – if True, the order reduction is switched on for both solution and equation representation, otherwise or if flag is not present order reduction is switched off- Raises: - RuntimeError – if order reduction is altered after a coefficient has been set 
 - 
setSolution(u, validate=True)¶
- Sets the solution assuming that makes the system valid with the tolrance defined by the solver options 
 - 
setSolverOptions(options=None)¶
- Sets the solver options. - Parameters: - options ( - SolverOptionsor- None) – the new solver options. If equal- None, the solver options are set to the default.- Note: - The symmetry flag of options is overwritten by the symmetry flag of the - LinearProblem.
 - 
setSymmetry(flag=False)¶
- Sets the symmetry flag to - flag.- Parameters: - flag ( - bool) – If True, the symmetry flag is set otherwise reset.- Note: - The method overwrites the symmetry flag set by the solver options 
 - 
setSymmetryOff()¶
- Clears the symmetry flag. :note: The method overwrites the symmetry flag set by the solver options 
 - 
setSymmetryOn()¶
- Sets the symmetry flag. :note: The method overwrites the symmetry flag set by the solver options 
 - 
setSystemStatus(status=None)¶
- Sets the system status to - statusif- statusis not present the current status of the domain is used.
 - 
setValue(**coefficients)¶
- Sets new values to coefficients. - Parameters: - coefficients – new values assigned to coefficients
- A (any type that can be cast to a Dataobject onFunction) – value for coefficientA
- A_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientA_reduced
- B (any type that can be cast to a Dataobject onFunction) – value for coefficientB
- B_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientB_reduced
- C (any type that can be cast to a Dataobject onFunction) – value for coefficientC
- C_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientC_reduced
- D (any type that can be cast to a Dataobject onFunction) – value for coefficientD
- D_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientD_reduced
- X (any type that can be cast to a Dataobject onFunction) – value for coefficientX
- X_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientX_reduced
- Y (any type that can be cast to a Dataobject onFunction) – value for coefficientY
- Y_reduced (any type that can be cast to a Dataobject onReducedFunction) – value for coefficientY_reduced
- d (any type that can be cast to a Dataobject onFunctionOnBoundary) – value for coefficientd
- d_reduced (any type that can be cast to a Dataobject onReducedFunctionOnBoundary) – value for coefficientd_reduced
- y (any type that can be cast to a Dataobject onFunctionOnBoundary) – value for coefficienty
- d_contact (any type that can be cast to a Dataobject onFunctionOnContactOneorFunctionOnContactZero) – value for coefficientd_contact
- d_contact_reduced (any type that can be cast to a Dataobject onReducedFunctionOnContactOneorReducedFunctionOnContactZero) – value for coefficientd_contact_reduced
- y_contact (any type that can be cast to a Dataobject onFunctionOnContactOneorFunctionOnContactZero) – value for coefficienty_contact
- y_contact_reduced (any type that can be cast to a Dataobject onReducedFunctionOnContactOneorReducedFunctionOnContactZero) – value for coefficienty_contact_reduced
- d_dirac (any type that can be cast to a Dataobject onDiracDeltaFunctions) – value for coefficientd_dirac
- y_dirac (any type that can be cast to a Dataobject onDiracDeltaFunctions) – value for coefficienty_dirac
- r (any type that can be cast to a Dataobject onSolutionorReducedSolutiondepending on whether reduced order is used for the solution) – values prescribed to the solution at the locations of constraints
- q (any type that can be cast to a Dataobject onSolutionorReducedSolutiondepending on whether reduced order is used for the representation of the equation) – mask for location of constraints
 - Raises: - IllegalCoefficient – if an unknown coefficient keyword is used 
 - 
shouldPreservePreconditioner()¶
- Returns true if the preconditioner / factorisation should be kept even when resetting the operator. - Return type: - bool
 - 
trace(text)¶
- Prints the text message if debug mode is switched on. - Parameters: - text ( - string) – message to be printed
 - 
validOperator()¶
- Marks the operator as valid. 
 - 
validRightHandSide()¶
- Marks the right hand side as valid. 
 - 
validSolution()¶
- Marks the solution as valid. 
 
- 
class esys.downunder.forwardmodels.dcresistivity.Locator(where, x=array([0., 0., 0.]))¶
- Bases: - object- Locator provides access to the values of data objects at a given spatial coordinate x. - In fact, a Locator object finds the sample in the set of samples of a given function space or domain which is closest to the given point x. - 
__init__(where, x=array([0., 0., 0.]))¶
- Initializes a Locator to access values in Data objects on the Doamin or FunctionSpace for the sample point which is closest to the given point x. - Parameters: - where (escript.FunctionSpace) – function space
- x (numpy.ndarrayorlistofnumpy.ndarray) – location(s) of the Locator
 
- where (
 - 
getFunctionSpace()¶
- Returns the function space of the Locator. 
 - 
getId(item=None)¶
- Returns the identifier of the location. 
 - 
getValue(data)¶
- Returns the value of - dataat the Locator if- datais a- Dataobject otherwise the object is returned.
 - 
getX()¶
- Returns the exact coordinates of the Locator. 
 - 
setValue(data, v)¶
- Sets the value of the - dataat the Locator.
 
- 
Functions¶
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.DiracDeltaFunctions((Domain)domain) → FunctionSpace :¶
- Return type: - FunctionSpace
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.NumpyToData(array, isComplex, functionspace)¶
- Uses a numpy ndarray to create a - Dataobject- Example usage: NewDataObject = NumpyToData(ndarray, isComplex, FunctionSpace) 
- 
esys.downunder.forwardmodels.dcresistivity.Scalar([(object)value=0.0[, (FunctionSpace)what=<esys.escriptcore.escriptcpp.FunctionSpace object at 0x7fa05352ad50>[, (bool)expanded=False]]]) → Data :¶
- Construct a Data object containing scalar data-points. - Parameters: - value (float) – scalar value for all points
- what (FunctionSpace) – FunctionSpace for Data
- expanded (bool) – If True, a value is stored for each point. If False, more efficient representations may be used
 - Return type: 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.atan2(arg0, arg1)¶
- Returns inverse tangent of argument - arg0over- arg1
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.condEval(f, tval, fval)¶
- Wrapper to allow non-data objects to be used. 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.delay(arg)¶
- Returns a lazy version of arg 
- 
esys.downunder.forwardmodels.dcresistivity.deviatoric(arg)¶
- Returns the deviatoric version of - arg.
- 
esys.downunder.forwardmodels.dcresistivity.diameter(domain)¶
- Returns the diameter of a domain. - Parameters: - domain ( - escript.Domain) – a domain- Return type: - float
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.escript_inverse(arg)¶
- arg is a Data object! 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.getEpsilon()¶
- 
esys.downunder.forwardmodels.dcresistivity.getMPIRankWorld() → int :¶
- Return the rank of this process in the MPI World. 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.getMaxFloat()¶
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.getVersion() → int :¶
- This method will only report accurate version numbers for clean checkouts. 
- 
esys.downunder.forwardmodels.dcresistivity.gmshGeo2Msh(geoFile, mshFile, numDim, order=1, verbosity=0)¶
- Runs gmsh to mesh input - geoFile. Returns 0 on success.
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.grad_n(arg, n, where=None)¶
- 
esys.downunder.forwardmodels.dcresistivity.hasFeature((str)name) → bool :¶
- Check if escript was compiled with a certain feature - Parameters: - name ( - string) – feature to lookup
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.interpolateTable(tab, dat, start, step, undef=1e+50, check_boundaries=False)¶
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.makeTagMap(fs)¶
- Produce an expanded Data over the function space where the value is the tag associated with the sample 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.matrixmult(arg0, arg1)¶
- See - matrix_mult.
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.negative(arg)¶
- returns the negative part of arg 
- 
esys.downunder.forwardmodels.dcresistivity.nonsymmetric(arg)¶
- Deprecated alias for antisymmetric 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.phase(arg)¶
- return the “phase”/”arg”/”angle” of a number 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.positive(arg)¶
- returns the positive part of arg 
- 
esys.downunder.forwardmodels.dcresistivity.printParallelThreadCounts() → None¶
- 
esys.downunder.forwardmodels.dcresistivity.reorderComponents(arg, index)¶
- Resorts the components of - argaccording to index.
- 
esys.downunder.forwardmodels.dcresistivity.resolve(arg)¶
- Returns the value of arg resolved. 
- 
esys.downunder.forwardmodels.dcresistivity.safeDiv(arg0, arg1, rtol=None)¶
- returns arg0/arg1 but return 0 where arg1 is (almost) zero 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.showEscriptParams()¶
- Displays the parameters escript recognises with an explanation and their current value. 
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.tensormult(arg0, arg1)¶
- See - tensor_mult.
- 
esys.downunder.forwardmodels.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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.dcresistivity.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