mirror of
https://github.com/wassname/simpeg.git
synced 2026-07-08 18:41:06 +08:00
- bug fix in parametrized block when active cells are used - need a shape
- add a pole receiver for DC
This commit is contained in:
@@ -43,7 +43,14 @@ class BaseRx(SimPEG.Survey.BaseRx):
|
||||
elif adjoint:
|
||||
return P.T*v
|
||||
|
||||
# DC.Rx.Dipole(locs)
|
||||
# DC.Rx.Pole(locs)
|
||||
class Pole(BaseRx):
|
||||
|
||||
def __init__(self, locs, rxType = 'phi', **kwargs):
|
||||
BaseRx.__init__(self, locs, rxType)
|
||||
|
||||
|
||||
# DC.Rx.Dipole(locsM, locsN)
|
||||
class Dipole(BaseRx):
|
||||
|
||||
def __init__(self, locsM, locsN, rxType = 'phi', **kwargs):
|
||||
|
||||
+9
-3
@@ -1145,13 +1145,13 @@ class ParametrizedBlockInLayer(IdentityMap):
|
||||
if self.slope is None:
|
||||
self.slope = self.slope_fact / np.hstack(self.mesh.h).min()
|
||||
|
||||
self.x = [self.mesh.gridCC[:,0] if self.indActive is None else self.mesh.gridCC[indActive,0]][0]
|
||||
self.x = [self.mesh.gridCC[:,0] if self.indActive is None else self.mesh.gridCC[self.indActive,0]][0]
|
||||
|
||||
if self.mesh.dim > 1:
|
||||
self.y = [self.mesh.gridCC[:,1] if self.indActive is None else self.mesh.gridCC[indActive,1]][0]
|
||||
self.y = [self.mesh.gridCC[:,1] if self.indActive is None else self.mesh.gridCC[self.indActive,1]][0]
|
||||
|
||||
if self.mesh.dim > 2:
|
||||
self.z = [self.mesh.gridCC[:,2] if self.indActive is None else self.mesh.gridCC[indActive,2]][0]
|
||||
self.z = [self.mesh.gridCC[:,2] if self.indActive is None else self.mesh.gridCC[self.indActive,2]][0]
|
||||
|
||||
@property
|
||||
def nP(self):
|
||||
@@ -1160,6 +1160,12 @@ class ParametrizedBlockInLayer(IdentityMap):
|
||||
elif self.mesh.dim == 3:
|
||||
return 9
|
||||
|
||||
@property
|
||||
def shape(self):
|
||||
if self.indActive is not None:
|
||||
return (sum(self.indActive), self.nP)
|
||||
return (self.nC, self.nP)
|
||||
|
||||
def _validate_m(self, m):
|
||||
# TODO: more sanity checks here
|
||||
if self.mesh.dim == 2:
|
||||
|
||||
Reference in New Issue
Block a user