Skip to content
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

Create functionality for calculating transport coefficients #35

Closed
namurphy opened this issue May 22, 2017 · 13 comments
Closed

Create functionality for calculating transport coefficients #35

namurphy opened this issue May 22, 2017 · 13 comments
Assignees
Labels
effort: medium Requiring perhaps ∼1–3 days needs subject matter expert Requires expertise from a plasma science domain expert priority: high Issues & PRs with significant urgency and importance that should be addressed soon transport Related to plasma transport phenomena
Projects
Milestone

Comments

@namurphy
Copy link
Member

At some point we'll need to write the functionality for calculating transport coefficients, including resistivities, viscosities, Braginskii everything (and then some), etc. This is one of the next steps after pull request #34 to calculate plasma parameters. My hope is to have docstrings that describe the meanings of each of these coefficients in terms that are understandable to undergraduates but useful to experienced plasma physicists (which is what I'm trying to do for the plasma parameter functions). The equations would need to be put in SI units for consistency with the rest of the code, but should allow temperature to be in eV and so on. These will also need unit tests. (We'll eventually need a full separate documentation page to introduce/discuss the different plasma parameters, transport coefficients, dimensionless numbers, and so on but this can be a separate issue a few months from now once the API stabilizes a bit.)

Resources include:

I'll assign myself to this for the time being. It will probably take me a couple of weeks to get to this, so someone else could take the lead on this if you'd like!

@namurphy namurphy added Analytic effort: medium Requiring perhaps ∼1–3 days labels May 22, 2017
@namurphy namurphy self-assigned this May 22, 2017
@namurphy namurphy modified the milestone: v0.0.1 May 24, 2017
@namurphy
Copy link
Member Author

namurphy commented Jul 5, 2017

Here is a brainstorm of a few functions to include in transport.py:

def Coulomb_logarithm():
def Spitzer_resistivity():
def Bohm_diffusion_coefficient():
def collision_time():
def collision_frequency():
def collision_cross_section():
def collision_rate():

The Coulomb logarithm will need a function de_Broglie_wavelength since that sometimes sets the lower limit on the impact parameter. For the Coulomb logarithm, I am thinking that it would be best to include actual formulae rather than approximations since this would produce the most readable/maintainable code. (For approximations, I often find myself wondering where the numerical coefficients came from, like maybe from the Star Trek mirror universe perhaps.) The Coulomb logarithm also depends on what the test particle is and what the particles are that the test particle is colliding with, so the most general expressions for the inner radius/impact parameter would be helpful.

I am not sure yet about how to structure the functions for the Braginskii coefficients so that they are as intuitive and understandable as possible. Any thoughts on other things to include would be appreciated!

@namurphy namurphy added priority: high Issues & PRs with significant urgency and importance that should be addressed soon and removed priority: high Issues & PRs with significant urgency and importance that should be addressed soon labels Jul 18, 2017
@namurphy namurphy removed the Math label Sep 12, 2017
@namurphy namurphy added this to Stalled (help needed) in Plasma parameters Sep 14, 2017
@namurphy namurphy moved this from Stalled (help needed) to In Progress in Plasma parameters Sep 14, 2017
@lemmatum
Copy link
Contributor

There are a few different ways to calculate the Coulomb logarithm in addition to the ones already listed. Gericke and Murillo's PRE (2002) list 6 different ways to obtain this value for dense plasmas. Might be handy to include these

@namurphy
Copy link
Member Author

Thank you! I was just talking with someone at the APS DPP meeting last week about how to generalize the Coulomb logarithm, so I think it would be great if we could add more flexibility for people who study strongly coupled plasmas.

The full reference is: Dense plasma temperature equilibration in the binary collision approximation by Gericke, D. O., Murillo, M. S., and Schlanges, M., Phys. Rev. E, 65, 3, 036418 (2002), doi: 10.1103/PhysRevE.65.036418

@lemmatum
Copy link
Contributor

lemmatum commented Oct 31, 2017

No problem! I definitely have a vested interest in seeing this happen as I've worked with warm dense plasmas where classical Coulomb logarithm becomes negative and explodes! 🤣

@namurphy
Copy link
Member Author

namurphy commented Nov 17, 2017

To follow up on the discussion in #166, I was thinking that it would probably be really important to get experts in plasma transport to provide advice on the best ways to calculate different transport quantities. I personally have been finding it hard to figure out which are the most general and/or reliable ways to calculate all of these things since I'm only somewhat familiar with transport theory.

I'm also wondering about the best way to organize the calculations for transport quantities. Should we create a class instead of having separate functions to calculate everything?

@samurai688
Copy link
Contributor

I agree getting as much input as possible from the community would be great!

For my 2 cents, I think Spitzer and Braginskii are as fundamental as we have and make a great starting point. There is a 1986 Epperlein-Haines paper that fixed errors in a couple of the original Braginskii coefficients, and one in 2013 by Ji and Held that may even be another improvement, also some interesting consideration of Ti > Te cases.

The Bohm diffusion coefficient I think is a similar sort of landmark that helps you figure out where you are when throwing the bones of the plasma transport.

It would be good to ask a collisionless magnetic person what their mainstay theories are. I know they are always talking about neoclassical microturbulence gyrokinetic gyroBohm something-or-other. I haven't learned those yet. :) Other areas all probably have their own favorites theories too, I know in inertial fusion plasmas they often use Braginskii or similar but include a 'flux limiter' factor to account for nonlocal effects.

In terms of organizing, it's a lot to keep track of. You could certainly have a bunch of functions that do the actual computations, which I guess seems unavoidable. A class might help organization, but you are already organized somewhat into the transport module. I think you could be okay with just functions. If you can do things like, eta_s = trans.conductivity('Spitzer', T_e, n_e, ion='p') or similar, I think it's pretty sweet.

@StanczakDominik
Copy link
Member

StanczakDominik commented Dec 12, 2017

We decided at the telecon today that we'll be pushing this angle for the 0.1 prerelease. @namurphy said he wanted to assemble an ELITE TRANSPORT TASK FORCE (I'm not kidding, 75% of this is what he said) to make sure this is getting done on time and soon.

I'll help out as time allows. @samurai688, @lemmatum?

@samurai688
Copy link
Contributor

👍 I feel like I've always wanted to be part of an ELITE TRANSPORT TASK FORCE but never knew the words to explain.

@lemmatum
Copy link
Contributor

transport-spokesperson

Spokesperson for ELITE TRANSPORT TASK FORCE

And yes, I can help out, particularly with Coulomb logarithm for dense plasmas.
i.e., 🐈 QUANTUM SUBDIVISION 🐈 of the 🦅 ELITE TRANSPORT TASK FORCE 🦅

@StanczakDominik
Copy link
Member

That Borat picture is pure gold, and I'm now angry that I missed the opportunity to call this an ELITE ALPHA/NEUTRAL TRANSPORT TASK FORCE.

@namurphy namurphy added the needs subject matter expert Requires expertise from a plasma science domain expert label Dec 13, 2017
@lemmatum lemmatum added the transport Related to plasma transport phenomena label Dec 14, 2017
@samurai688
Copy link
Contributor

Cool, well I can start in on the Braginskii coefficients!

If anyone has any time we will need tau_e and tau_i as well. What we will want are the "average momentum relaxation rate" electron-ion and ion-ion collision times in the form given on page 37 of the 2016 NRL formulary. The only issue with the equations given in the formulary is that they are assuming singly charged ions. A form that includes the effects of ion charge state is given in the original 1965 Braginskii paper, equations (2.5e) and (2.5i), and is also in Callen's online textbook Chapter 2 as inverse of equation 2.17 and inverse of equation 2.36.

@lemmatum
Copy link
Contributor

I've got some functions written up based on Chen and some papers on Langmuir probes in collisional plasmas. Shall I include these?

@lemmatum lemmatum self-assigned this Dec 14, 2017
@lemmatum lemmatum assigned namurphy and lemmatum and unassigned namurphy and lemmatum Dec 14, 2017
@samurai688
Copy link
Contributor

Nice! These may prove very useful. I'm thinking we may wind up with many different forms for coulomb logs and mean free paths and so on, which could be healthy in development so that we can figure out all the differences and be prepared to fully document whatever we end up with.

@lemmatum lemmatum mentioned this issue Dec 15, 2017
@samurai688 samurai688 mentioned this issue Dec 17, 2017
Plasma parameters automation moved this from In Progress to Done Feb 16, 2018
@lemmatum lemmatum added this to To do in Transport via automation Mar 13, 2018
@lemmatum lemmatum removed this from Done in Plasma parameters Mar 13, 2018
@lemmatum lemmatum moved this from To do to Done in Transport Mar 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: medium Requiring perhaps ∼1–3 days needs subject matter expert Requires expertise from a plasma science domain expert priority: high Issues & PRs with significant urgency and importance that should be addressed soon transport Related to plasma transport phenomena
Projects
No open projects
Transport
  
Done
Development

No branches or pull requests

4 participants