doesn't work when rotation larger than 0.5 cycle per day
doesn't work when rotation larger than 0.5 cycle per day
Hi GYRE staff,
In my work I'm interested in the fast rotation. However, gyre can not give the frequencies results when inputing a large rotation rate. The error is
Building frequency scan
added scan interval : 0.1193E+00 -> 0.1193E+01 (500 points, INVERSE)
ASSERT 'ALL(omega_c > 0._WP) .OR. ALL(omega_c < 0._WP)' failed at line 222 <gyre_r_search:check_scan>:
Critical layer encountered
The profile is generated by MESA with mass = 1.9 solar masses and Z=0.02
Is this calculation prohibited?
Cheers
Li Gang
In my work I'm interested in the fast rotation. However, gyre can not give the frequencies results when inputing a large rotation rate. The error is
Building frequency scan
added scan interval : 0.1193E+00 -> 0.1193E+01 (500 points, INVERSE)
ASSERT 'ALL(omega_c > 0._WP) .OR. ALL(omega_c < 0._WP)' failed at line 222 <gyre_r_search:check_scan>:
Critical layer encountered
The profile is generated by MESA with mass = 1.9 solar masses and Z=0.02
Is this calculation prohibited?
Cheers
Li Gang
- Attachments
-
- profile8.data.GYRE
- (420.39 KiB) Downloaded 256 times
-
- gyre.in
- (1.8 KiB) Downloaded 224 times
- rhtownsend
- Site Admin
- Posts: 397
- Joined: Sun Mar 31, 2013 4:22 pm
Re: doesn't work when rotation larger than 0.5 cycle per day
Hi Li --gali8292 wrote:Hi GYRE staff,
In my work I'm interested in the fast rotation. However, gyre can not give the frequencies results when inputing a large rotation rate. The error is
Building frequency scan
added scan interval : 0.1193E+00 -> 0.1193E+01 (500 points, INVERSE)
ASSERT 'ALL(omega_c > 0._WP) .OR. ALL(omega_c < 0._WP)' failed at line 222 <gyre_r_search:check_scan>:
Critical layer encountered
The profile is generated by MESA with mass = 1.9 solar masses and Z=0.02
Is this calculation prohibited?
Cheers
Li Gang
This is happening because not all of the co-rotating frame frequencies in the scan grid have the same sign. This means that there are one or more points in the star where the co-rotating frequency
omega_c(r) = omega - m Omega(r)
...passes through zero. At such "critical layers", the local radial wavelength of waves approaches zero, and the adiabatic pulsation equations become ill conditioned.
To avoid critical layers, you must adjust freq_min and freq_max until there is no point in the star where omega_c(r) passes through zero. But to know what adjustments to make, you'll need to inspect the behavior of the rotation angular frequency Omega(r).
cheers,
Rich
- rhtownsend
- Site Admin
- Posts: 397
- Joined: Sun Mar 31, 2013 4:22 pm
Re: doesn't work when rotation larger than 0.5 cycle per day
As an addendum: since you are considering uniform rotation, the task of choosing appropriate freq_min and freq_max should be more straightforward. In particular, it's possible to specify these frequencies in the co-rotating frame of reference (set freq_min_frame = 'COROT_I', and likewise for freq_max_frame), and if they both have the same sign then critical layers should not arise.
cheers,
Rich
cheers,
Rich
Re: doesn't work when rotation larger than 0.5 cycle per day
Hi Rich,rhtownsend wrote:As an addendum: since you are considering uniform rotation, the task of choosing appropriate freq_min and freq_max should be more straightforward. In particular, it's possible to specify these frequencies in the co-rotating frame of reference (set freq_min_frame = 'COROT_I', and likewise for freq_max_frame), and if they both have the same sign then critical layers should not arise.
cheers,
Rich
The code told me
Fortran runtime error: cannot match namelist object name freq_min_frame
What's wrong?
Cheers
Li Gang
- rhtownsend
- Site Admin
- Posts: 397
- Joined: Sun Mar 31, 2013 4:22 pm
Re: doesn't work when rotation larger than 0.5 cycle per day
Hi Li --gali8292 wrote:Hi Rich,rhtownsend wrote:As an addendum: since you are considering uniform rotation, the task of choosing appropriate freq_min and freq_max should be more straightforward. In particular, it's possible to specify these frequencies in the co-rotating frame of reference (set freq_min_frame = 'COROT_I', and likewise for freq_max_frame), and if they both have the same sign then critical layers should not arise.
cheers,
Rich
The code told me
Fortran runtime error: cannot match namelist object name freq_min_frame
What's wrong?
Cheers
Li Gang
What version of GYRE are you using? And which namelist group did you add the freq_min_frame parameter to?
cheers,
Rich
Re: doesn't work when rotation larger than 0.5 cycle per day
Hi Richrhtownsend wrote:Hi Li --gali8292 wrote:Hi Rich,rhtownsend wrote:As an addendum: since you are considering uniform rotation, the task of choosing appropriate freq_min and freq_max should be more straightforward. In particular, it's possible to specify these frequencies in the co-rotating frame of reference (set freq_min_frame = 'COROT_I', and likewise for freq_max_frame), and if they both have the same sign then critical layers should not arise.
cheers,
Rich
The code told me
Fortran runtime error: cannot match namelist object name freq_min_frame
What's wrong?
Cheers
Li Gang
What version of GYRE are you using? And which namelist group did you add the freq_min_frame parameter to?
cheers,
Rich
I use GYRE 5.1. I added it to scan namelist.
Cheers
Li
Re: doesn't work when rotation larger than 0.5 cycle per day
HI Richrhtownsend wrote:Hi Li --gali8292 wrote:Hi Rich,rhtownsend wrote:As an addendum: since you are considering uniform rotation, the task of choosing appropriate freq_min and freq_max should be more straightforward. In particular, it's possible to specify these frequencies in the co-rotating frame of reference (set freq_min_frame = 'COROT_I', and likewise for freq_max_frame), and if they both have the same sign then critical layers should not arise.
cheers,
Rich
The code told me
Fortran runtime error: cannot match namelist object name freq_min_frame
What's wrong?
Cheers
Li Gang
What version of GYRE are you using? And which namelist group did you add the freq_min_frame parameter to?
cheers,
Rich
Another question. I find that this problem doesn't happen if I calculate l=1 and m=0 modes. I assume that it is because m=0 modes don't split. Can I calculate m=0 modes frequencies, and transform them using f_{m=1}=f_{m=0}+(1-C)*rotation, in which C is the Ledoux constant? I make a comparison, the results look like similar.
Many thanks
Li
- rhtownsend
- Site Admin
- Posts: 397
- Joined: Sun Mar 31, 2013 4:22 pm
Re: doesn't work when rotation larger than 0.5 cycle per day
Well, something has clearly gone amiss when you added it to the scan namelist. Can you post your new input file?gali8292 wrote:Hi Richrhtownsend wrote:Hi Li --gali8292 wrote:
Hi Rich,
The code told me
Fortran runtime error: cannot match namelist object name freq_min_frame
What's wrong?
Cheers
Li Gang
What version of GYRE are you using? And which namelist group did you add the freq_min_frame parameter to?
cheers,
Rich
I use GYRE 5.1. I added it to scan namelist.
Cheers
Li
cheers,
Rich
- rhtownsend
- Site Admin
- Posts: 397
- Joined: Sun Mar 31, 2013 4:22 pm
Re: doesn't work when rotation larger than 0.5 cycle per day
That's understandable, given that the co-rotating frame and inertial-frame frequencies are identical when m=0.gali8292 wrote: HI Rich
Another question. I find that this problem doesn't happen if I calculate l=1 and m=0 modes. I assume that it is because m=0 modes don't split. Can I calculate m=0 modes frequencies, and transform them using f_{m=1}=f_{m=0}+(1-C)*rotation, in which C is the Ledoux constant? I make a comparison, the results look like similar.
Many thanks
Li
Using the Ledoux approximation will work, but it won't give reliable results for modes whose co-rotating frequencies are small. This is because the Ledoux expression is correct only to first order in Omega_rot/omega_c, and for small omega_c it doesn't work well at all (in fact, it diverges).
I've already told you the correct approach: to specify a frequency scan in the co-rotating frame. So, let's focus on getting that working.
cheers,
Rich
Re: doesn't work when rotation larger than 0.5 cycle per day
Hi Rich,rhtownsend wrote:Well, something has clearly gone amiss when you added it to the scan namelist. Can you post your new input file?gali8292 wrote:Hi Richrhtownsend wrote:
Hi Li --
What version of GYRE are you using? And which namelist group did you add the freq_min_frame parameter to?
cheers,
Rich
I use GYRE 5.1. I added it to scan namelist.
Cheers
Li
cheers,
Rich
I tried. It should be 'freq_frame', not 'freq_min_frame' even in the last GYRE version 5.1 . Can you check it?
Cheers
Li
- Attachments
-
- gyre_summary_l=1_m=1_from_profile964.data.GYRE.txt
- (18 KiB) Downloaded 241 times
-
- gyre.in
- (1.71 KiB) Downloaded 207 times