New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dcip/dev #650
Conversation
…ompatible. Changed the ”3D” “General” case so that it flips the sign on the z-component of Tx and Rx locs for the DCoctree code. Flipping sign was overwriting locs in original survey object so added some .copy() statements to safeguard this.
Clean up Rx and Src for DC Test SurveyDesign Class for DC
`from SimPEG import IP`
(This only works for ProblemCC)
… setting mixed BC - SurveyDesign.py: visualize currents, fields, charges, and potentials
Codecov Report
@@ Coverage Diff @@
## master #650 +/- ##
==========================================
+ Coverage 71.03% 73.96% +2.93%
==========================================
Files 104 99 -5
Lines 14429 14637 +208
==========================================
+ Hits 10249 10826 +577
+ Misses 4180 3811 -369
Continue to review full report at Codecov.
|
Not sure why there are solver issues ... |
hi @lheagy i went through your comments and modified. Will be great to be merged. |
hey @sgkang , most tests fails because of this missing package. Is it needed? |
SimPEG/EM/Static/DC/ProblemDC.py
Outdated
@@ -11,6 +11,7 @@ | |||
import scipy as sp | |||
from SimPEG.Utils import Zero | |||
from .BoundaryUtils import getxBCyBC_CC | |||
from profilehooks import profile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sgkang: can we remove this for now? I am not sure we want profilehooks to be something we require for SimPEG
Thanks @sgkang, this is looking good. If you don't mind, could you remove the profilehooks for now - I know it is useful for developing / diagnosing code efficiency issues, but I think we want to use it internally only and not distribute SimPEG code that relies on it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all of your work on this everyone @sgkang, @thast, @fourndo, @micmitch!! There are lots of improvements here. I will post an issue related to the densifying of the projection matrices - we should be able to stay with sparse, but for now I think that can be addressed elsewhere.
I will give @rowanc1 a chance to take a look if you like and we can get this in 🎉
@sgkang: would you mind generating some release notes that highlight the major changes here? You can write them in the comment box on this pr and I will generate the release from there. @thast, @fourndo: I will also ask you to also take a look and contribute a few bullet points of things that you have done! |
Release note for dcip/dev branchThis release is motivated by enhancing DC/IP packages in SimPEG, and several contributors have sweated on this release for the past several months. There are four main categories that developments have been carried out:
Highlights of each development is summarized below. PhysicsHandling Pole-Pole data
Easy import for DC and IP problems
from SimPEG import DC, IP Storing Sensitivity
problem = DC.Problem3D_CC(mesh, storeJ=True, ...)
J = problem.getJ(m) Working DC octree inversion (thanks to @fourndo and @micmitch)
Utilities for DC and IP problems (thanks to @thast )Updated StaticUtils
Survey and I/O
# Initiate I/O class for DC
IO = DC.IO()
endl = np.array([[xmin, ymin, zmin], [xmax, ymax, zmax]])
# Generate DC survey object
survey = DC.Utils.gen_DCIPsurvey(endl, survey_type=survey_type, dim=2,
a=10, b=10, n=10)
# Obtain ABMN locations
survey.getABMN_locations()
# Obtain 2D TensorMesh
mesh, actind = IO.set_mesh()
# Generate Topography
topo, mesh1D = DC.Utils.genTopography(mesh, -10, 0, its=100)
# Generate active cells
actind = Utils.surface2ind_topo(mesh, np.c_[mesh1D.vectorCCx, topo])
# Drape electrode locations to topography
survey.drapeTopo(mesh, actind, option="top") Inversion Directives (thanks to @fourndo!)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks awesome.
@fourndo Dom, I think that I remember you saying you had a fix for the problem we were having with Directives.SaveOutputEveryIteration(). I would be great if we could get that in as well! |
@micmitch thanks for the reminder, Looks good on my side. |
@thast contribution:
Major updates to StaticUtils:
electrode_separations
orgeometric_factor
@fourndo contribution: