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

How to obtain the rotational velocity or project rotational velocity of star at the given phase using phoebe? #43

Open
AstroJLin opened this issue Dec 7, 2024 · 11 comments

Comments

@AstroJLin
Copy link

Hi,

In a binary, I want to compute the rotational velocity or project rotational velocity of a secondary at given orbital phase. What command should I use to get this information?

Thanks

@kecnry
Copy link
Member

kecnry commented Dec 9, 2024

This largely depends on how you want to define these and what assumptions you want to make. You can either compute manually or via a custom constraint using the radius, rotation period, and inclination of the star (which would pretty easily get you the equatorial rotational velocity assuming the star is near a sphere), or you can expose the per-element velocities on a mesh dataset at a specific time and compute some sort of intensity/visibility weighted average.

We had considered this as built-in functionality (see phoebe-project/phoebe2#944), but have so far left it out because of all the complicated definition issues. That said, any/all of these would make great example scripts to illustrate how to use custom constraints or the mesh to compute something like this - so if you (or anyone else) has a working example that can be simplified, we can add that to the docs.

@AstroJLin
Copy link
Author

Hi kecnry, thank you for you reply.

Here I noticed that it seems that the 'lp' (Line Profile) Datasets and Options in phoebe can give a line profile.

Can I measure line profile to obtain the rotation velocity of secondary and Vsini at a given phase in a binary.

However, I am not sure whether the broadening of the line profile given here takes into account other factors besides rotation broadening, such as temperature, gravity and macroscopic turbulence?

@kecnry
Copy link
Member

kecnry commented Dec 11, 2024

Yes, that is definitely another option which has the benefit that you can apply the same measurement technique to your data and the synthetic line profile. The returned line profile is the flux-weighted average of line-profiles computed across the surface of the star accounting for all physics within phoebe (orbital velocity as well as stellar rotation, distortion, irradiation, gravity darkening/brightening, but not macroscopic turbulence at this time). You can see the source of how the line is currently computed in System.observe(). Note also that there is no noise in the model, so you may want to introduce noise on top for a fair comparison to values measured from real data.

@AstroJLin
Copy link
Author

Hi kecnry, thank you for your patience.

How can I introduce noise on top? Can you give me an example?

In addition, if I measure the vsini of the synthetic line profile, I need to know its spectral resolution. How can I know the spectral resolution of the synthetic line profile model? .

@kecnry
Copy link
Member

kecnry commented Dec 11, 2024

How can I introduce noise on top? Can you give me an example?

You would do that outside phoebe with whatever noise model is appropriate.

In addition, if I measure the vsini of the synthetic line profile, I need to know its spectral resolution. How can I know the spectral resolution of the synthetic line profile model? .

You provide the list of wavelengths at which you want the line-profile exposed within the "dataset" in phoebe. Internally the line-profiles are sampled based on the smallest wavelength step and then interpolated onto the requested observed wavelengths after handling doppler shifting.

@AstroJLin
Copy link
Author

Hi kecnry, thank you again for your answer.

I have one last question: When I use the model to generate the synthetic line profile, we don’t know what the logg of the secondary is, but the broadening of the generated synthetic line profile also includes the broadening caused by logg.

Therefore, to what extent will this affect our measurement of vsini of the synthetic line profile?

@kecnry
Copy link
Member

kecnry commented Dec 11, 2024

That is hard to say - try varying logg with the rest of your system parameters fixed and see how it affects the results.

@AstroJLin
Copy link
Author

Hi, I tried setting different values ​​for logg, and when I set
b.set_value('logg', component='secondary', value=4.3), it didn't seem to work and threw an error.
What's the reason?

@kecnry
Copy link
Member

kecnry commented Dec 11, 2024

What does the error say?

@AstroJLin
Copy link
Author

This error:
Screenshot from 2024-12-12 03-01-52

@kecnry
Copy link
Member

kecnry commented Dec 11, 2024

That is telling you that the filter arguments you passed to set_value matched two different parameters, so you need to provide more (in this case context='component') in order to change the value. However, this also likely means that logg is constrained and so you will need to flip the constraint (see the online tutorial on constraints for more details).

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

No branches or pull requests

2 participants