Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

dccowan
Copy link
Member

@dccowan dccowan commented Feb 3, 2024

This pull request is to add functionality that was deemed useful after the AgroGeo24 workshop. In this pull request, we aim to add linear anisotropy to 2.5D DC/IP simulation classes. This includes the forward problem and derivatives that can be used to develop and inversion framework.

@dccowan dccowan self-assigned this Feb 3, 2024
@dccowan dccowan marked this pull request as draft February 3, 2024 10:59
@jcapriot
Copy link
Member

jcapriot commented Feb 3, 2024

I would recommend leaving the number of wave numbers in the perpendicular horizontal component as nky as is. I think nkz might cause people to assume that it is doing some sort of vertical integral.

@jcapriot
Copy link
Member

jcapriot commented Feb 3, 2024

Also, if you don’t mind, please split the two suggestion’s up into two separate PR’s.

)
else:
raise NotImplementedError(
"Only isotropic and linear isotropic conductivities implemented."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This formulation should actually be able to handle all anisotropic conductivities (as we don’t need to invert the matrix). Let me double check what the tensor reduces to.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This whole thing started because the current formulation does not naturally handle any form of anisotropy. E.g. the sig_1 and sig_2 for linear anisotropy are used to form the mass matrix within the div-grad term. And the sig_3 is used for the term associated with the wave domain. Although we could likely add full tensor properties, I don't anticipate anyone using it in practice.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I just meant in the future it can support more than just axial anisotropy, compared to the cell centered one that would only support axial.

@dccowan
Copy link
Member Author

dccowan commented Feb 5, 2024

I would recommend leaving the number of wave numbers in the perpendicular horizontal component as nky as is. I think nkz might cause people to assume that it is doing some sort of vertical integral.

Then perhaps we need to consider a third option. When we generate meshes for the 2.5D problem, and when we ask for things like cell center locations, the coordinates are x (along-line) and y (elevation). This is also the case when defining 2.5D DC/IP surveys. So 'nky' is not the number along the y-direction. Could we have a property like 'n_wave_coefficients'?

@dccowan
Copy link
Member Author

dccowan commented Feb 5, 2024

@jcapriot what do you think about defining new properties like 'MeSigma2D' and 'MnSigma2D' as opposed to overriding 'MeSigma' and 'MnSigma'? If we add the new properties, I will need to ensure they are cleared upon a model update.

@jcapriot
Copy link
Member

jcapriot commented Feb 5, 2024

I would recommend leaving the number of wave numbers in the perpendicular horizontal component as nky as is. I think nkz might cause people to assume that it is doing some sort of vertical integral.

Then perhaps we need to consider a third option. When we generate meshes for the 2.5D problem, and when we ask for things like cell center locations, the coordinates are x (along-line) and y (elevation). This is also the case when defining 2.5D DC/IP surveys. So 'nky' is not the number along the y-direction. Could we have a property like 'n_wave_coefficients'?

We create meshes with x1 and x2 dimensions that correspond to x and z. The only properties of meshes that specifically refer to dimensions are on a TensorMesh. (cell_centers_x, _y, etc. and nodes_x, _y). Most other properties don’t make reference to a name for that dimension anymore.

Also, making it the way you’ve suggested would mean that for 2.5D the anisotropy tensor would be ordered: along-line, elevation, cross-line, and for 3D it would be along-line, cross-line, elevation. So simply for consistencies sake we should continue referring to the cross line dimension as y.

@jcapriot
Copy link
Member

jcapriot commented Feb 5, 2024

@jcapriot what do you think about defining new properties like 'MeSigma2D' and 'MnSigma2D' as opposed to overriding 'MeSigma' and 'MnSigma'? If we add the new properties, I will need to ensure they are cleared upon a model update.

Leave the properties named the same, in fact I would just call the super methods when we don’t have anisotropy there.

Copy link

codecov bot commented Feb 27, 2024

Codecov Report

Attention: Patch coverage is 85.81560% with 20 lines in your changes are missing coverage. Please review.

Project coverage is 82.36%. Comparing base (20886cc) to head (02cd3f2).

Files Patch % Lines
...ectromagnetics/static/resistivity/simulation_2d.py 87.05% 18 Missing ⚠️
...ics/static/spectral_induced_polarization/survey.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1347      +/-   ##
==========================================
+ Coverage   82.33%   82.36%   +0.03%     
==========================================
  Files         165      165              
  Lines       25249    25385     +136     
==========================================
+ Hits        20788    20908     +120     
- Misses       4461     4477      +16     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.