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

Implement microclumping #108

Closed
kslong opened this issue Sep 5, 2014 · 5 comments
Closed

Implement microclumping #108

kslong opened this issue Sep 5, 2014 · 5 comments
Assignees

Comments

@kslong
Copy link
Collaborator

kslong commented Sep 5, 2014

We would like to implement micro clumping into Python.

In micro-clumping one assumes clumps are optically thin at all wavelengths, which means that one does not need to resolve the clumps in your grid, since the radiation field is not altered by clumping. It is used in O-star winds, despite the fact that the physical assumptions associated with microclumping are not met in these winds, any more than they would be in the cases we want to use.

To implement, micro clumping, I am:

  1. Adding a new parameter for clumping. geo.fill. Thus for now, we assume there is a uniform filling factor for the wind.
  2. Changing the meaning of the values in the Plasma structure to be the values in the filled portion of the wind. Basically what this means is that once the smooth wind density is established, we simply increase this by 1/filling_factor. At the same time, we multiply the volume that is in the Plasma array to be
  3. In resonate.c, multiplying the opacities, both for lines and continuum by the factor f.

As long as all functions like luminosity are calculated with the volume that is in the Plasma structure, the heating and cooling ought to work out. Note that resonant scattering if it occurs, occurs in the "clumped" gas, so we should not need to modify anything having to do with escape probabilities etc.

@kslong kslong self-assigned this Sep 5, 2014
@kslong
Copy link
Collaborator Author

kslong commented Sep 12, 2014

Micro-clumping does seem to work as anticipated in Python. It affects both the continuuum and the lines in CV wind models

@kslong kslong closed this as completed Sep 12, 2014
@kslong
Copy link
Collaborator Author

kslong commented Sep 12, 2014

Here is an example of the effect of micro clumping on a CV model. The clumping factor for these simulations was 10.

Unclumped
sv spec_tot
Clumped
sv_clump spec_tot
Unclumped
sv_macro
Clumped
sv_macro_clump

@kslong kslong reopened this Oct 15, 2014
@jhmatthews
Copy link
Collaborator

Currently we multiply tau_sobolev by the filling factor in calculate_ds (i.e. in the absorption part of the code) but we don't do the same when calculating, for example, p_escape. This should be done along with a review of any place where sobolev optical depths (e.g. line luminosities from the wind, anisotropic scattering) are used to make sure we understand where the filling factor should come in, and why.

@jhmatthews
Copy link
Collaborator

There are a number of places where we use the sobolev optical depth for various calculations.

  • The routines which increment the estimators for macro-atoms are passed the tau_sobolev which is calculated in calculate_ds, and thus they have the correct tau*fill_factor.
  • P_escape doesn't currently have the fill_factor in it, and I believe the taus should be multiplied by it
  • The other thing I am unsure about is what happens within the scattering fraction routines which are used to calculate line heating need any additional factors of geo.fill in there...I think they don't, and it just comes in through P_escape, but we should thing carefully about this.
  • For the anisotropic scattering routine, nothing really needs to be done because one only cares about relative

@jhmatthews
Copy link
Collaborator

This is now implemented. Understanding the effect on models and physical conditions is the next step, but it's closed as an issue for the moment.

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

No branches or pull requests

2 participants