Skip to content
This repository has been archived by the owner on Dec 22, 2021. It is now read-only.

Prolate spheroid model with self-demag #258

Open
drandykass opened this issue Feb 3, 2016 · 10 comments
Open

Prolate spheroid model with self-demag #258

drandykass opened this issue Feb 3, 2016 · 10 comments

Comments

@drandykass
Copy link
Contributor

Is there any interest in having a prolate spheroid analytic mag solution which incorporates self-demagnetization? I need to write one up to compare some results, and could do it 'fatiando-ish' if desired.

@drandykass
Copy link
Contributor Author

You know, that could really go well with the 'seeded' inversion that you and Valeria published a while ago. I forget what you called it.

@leouieda
Copy link
Member

leouieda commented Feb 3, 2016

@drandykass yes please! Any new forward modeling is always welcome.

How so? Do you mean using the spheroids to build the model?

@drandykass
Copy link
Contributor Author

Indeed. Instead of using spheres, you use spheroids. You could then build in anisotropy or self-demag into the solution. Forgive me--it's been ages since I read that paper so I could be way off.

@leouieda
Copy link
Member

leouieda commented Feb 3, 2016

No problem! In that case it wouldn't work probably because there would be a lot of empty spaces when trying to aggregate spheroids.

@drandykass
Copy link
Contributor Author

Ah, I didn't realize that it was trying to fill the space. I'll have to go back and reread it.

@drandykass
Copy link
Contributor Author

I was looking through to see if there was already a ticket for an issue I was having and found this very old comment. Guess I need to get on that...

I have the code written, I just need to make it Fatiando-ish!

@leouieda
Copy link
Member

leouieda commented Sep 2, 2017

No hurry. I've been neglecting Fatiando for past few months.

I've been experimenting with stripping away some of the parts that aren't necessarily "geophysics", like the inversion package and mesher. These would become separate libraries and Fatiando would only have the geophysics code.

I started with mesher and made fatiando/geometric. I've been rethinking the way that the physical properties should be represented. The props dict is a bad idea and doesn't support validation of properties. For example, if given density, the class should know how to calculate volume and mass. Or given a mass, it should automatically fill out the density. From conversations with the Simpeg team, it seems that traitlets are a good fit.

This would also help us share code with their discretize package.

@drandykass
Copy link
Contributor Author

drandykass commented Sep 8, 2017 via email

@leouieda
Copy link
Member

leouieda commented Sep 8, 2017

You can add it to mesher for now and we'll move it over to the new package once that is on its way.

So this is a horizontal cylinder that is infinitely long? Can you control the orientation of the cylinder? Is it truly 3D (e.g., can the magnetization be in any direction)?

@drandykass
Copy link
Contributor Author

Understood.

Yes, this is horizontal cylinder of arbitrary radius, angled with whatever declination. The magnetisation can be in any direction (of course B is zero if aligned with axis), but must be constant throughout. So the physical parameters in geometry are declination, depth to centre of cylinder, radius, and magnetisation, both magnitude and direction. It makes more sense physically to cast the magnetisation as a dipole moment per unit length, but we can leave it as a magnetisation per unit volume.

The salient math comes from Blakely. I had struggled with solving the surface integral from the vector potential formulation (such as from Griffiths), but Blakely rather simply and elegantly uses Poisson's relation to convert from the expression of the gravity potential of a horizontal cylinder.

I also dug up my prolate spheroid code, so I can add that in too (separate branch of course).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants