Hi,
When i use GYRE to search frequency, i want to search frequency range of 0.001-0.003Hz. So i want the freq_units = 'HZ'. But when i write this namelist object in gyre.in file, it runs with below error:
ubuntu64@ubuntu64-virtual-machine:~/software/gyre/work$ ../bin/gyre gyre.in
gyre [5.2]
----------
Compiler : GCC version 8.3.0
Compiler options : -I /usr/include/x86_64-linux-gnu -I /home/ubuntu64/software/mesasdk/include -mtune=generic -march=x86-64 -ggdb -Wall -Wno-unused-dummy-argument -Wno-maybe-uninitialized -std=f2008 -ffpe-summary=none -finit-real=snan -fbacktrace -fmax-errors=25 -ffpe-trap=invalid,overflow,zero -fcheck=all -finline-limit=0 -fopenmp
OpenMP Threads : 2
Input filename : gyre.in
At line 112 of file gyre_scan_par.f90
Fortran runtime error: Cannot match namelist object name freq_units
Error termination. Backtrace:
#0 0x7f04105d7a07 in finalize_transfer
at /root/sdk2/build/gcc/libgfortran/io/transfer.c:3948
#1 0x4e55fb in __gyre_scan_par_MOD_read_scan_par
at /home/ubuntu64/software/gyre/src/build/gyre_scan_par.f90:112
#2 0x4059a3 in gyre
at /home/ubuntu64/software/gyre/src/build/gyre.f90:312
#3 0x40adaf in main
at /home/ubuntu64/software/gyre/src/build/gyre.f90:54
I go to the source code gyre_scan_par.fpp and find that it do not have freq_units in this file. But in the document of GYRE, it should be list in scan segment. What's wrong with my program?
Hope to hear from you soon and thank you for any help in advance.
Best Regards
Chen
Why gyre.in could not input freq_units fields ?
Re: Why gyre.in could not input freq_units fields ?
The control is freq_min_units, not freq_units. You can set freq_max_units to be something different, otherwise I think the default is to use the same units as freq_min_units.
Cheers,
Warrick
Cheers,
Warrick
Re: Why gyre.in could not input freq_units fields ?
Hi Warrick,
Thank you for your reply. I tried freq_min_units = 'UHZ' (freq_min = 1000, freq_max = 3000), but it seems that the code do not use this unit since in the result summary.txt, the freq_units is still NONE. And if i use freq_min_units = 'HZ' (freq_min = 0.001, freq_max = 0.003), the code do not search out any frequency. So i think maybe freq_min_units do not equal to freq_units. Anyway, thank you for your reply.
Best Regards
Chen
Thank you for your reply. I tried freq_min_units = 'UHZ' (freq_min = 1000, freq_max = 3000), but it seems that the code do not use this unit since in the result summary.txt, the freq_units is still NONE. And if i use freq_min_units = 'HZ' (freq_min = 0.001, freq_max = 0.003), the code do not search out any frequency. So i think maybe freq_min_units do not equal to freq_units. Anyway, thank you for your reply.
Best Regards
Chen
- rhtownsend
- Site Admin
- Posts: 398
- Joined: Sun Mar 31, 2013 4:22 pm
Re: Why gyre.in could not input freq_units fields ?
Hi Chen --cdd wrote: ↑Sat Jan 11, 2020 9:25 amHi Warrick,
Thank you for your reply. I tried freq_min_units = 'UHZ' (freq_min = 1000, freq_max = 3000), but it seems that the code do not use this unit since in the result summary.txt, the freq_units is still NONE. And if i use freq_min_units = 'HZ' (freq_min = 0.001, freq_max = 0.003), the code do not search out any frequency. So i think maybe freq_min_units do not equal to freq_units. Anyway, thank you for your reply.
Best Regards
Chen
To get the output frequencies (written as the 'freq' item) in microhertz, you must set the 'freq_units' parameter of the &output namelist group to 'UHZ'.
Note that all of GYRE's internal calculations are done using dimensionless frequencies (i.e., normalized by the inverse of the dynamical timescale). Parameters like 'freq_min_units' and 'freq_units' only affect the units of input and output quantities.
cheers,
Rich
Re: Why gyre.in could not input freq_units fields ?
Hi Rich,
Thank you for you reply. I tried using freq_units='UHZ' in the ad_output namelist and they give me some result. But as you said that the "Note that all of GYRE's internal calculations are done using dimensionless frequencies (i.e., normalized by the inverse of the dynamical timescale). Parameters like 'freq_min_units' and 'freq_units' only affect the units of input and output quantities.", the dynamical timesacle is tau=sqrt(R^3/GM) (from your paper Townsend 2013). In my calculations, M_star=0.2387040000000000E+035g, R_star=0.6244106112781844E+012cm, so tau=1.2362e+04s.
below is the segment of summary.txt:
1 2 3 4 5 6 7 8 9
l m n_pg n_p n_g Re(omega) Im(omega) Re(freq) Im(freq)
0 0 1004 1004 0 0.1262603464153258E+004 0.0000000000000000E+000 0.1625600242161147E+005 0.0000000000000000E+000
0 0 1245 1245 0 0.1565692910624517E+004 0.0000000000000000E+000 0.2015827492100294E+005 0.0000000000000000E+000
0 0 1502 1502 0 0.1888930874682275E+004 0.0000000000000000E+000 0.2431995931017381E+005 0.0000000000000000E+000
0 0 1759 1759 0 0.2212191790500210E+004 0.0000000000000000E+000 0.2848193920294466E+005 0.0000000000000000E+000
0 0 2064 2064 0 0.2595895973947243E+004 0.0000000000000000E+000 0.3342212534403091E+005 0.0000000000000000E+000
0 0 2343 2343 0 0.2946998088401004E+004 0.0000000000000000E+000 0.3794256029042234E+005 0.0000000000000000E+000
from the document of output file,
omega : dimensionless eigenfrequencies
freq : dimensioned eigenfrequencies
should the freq is the scaling eigenfrequencies of omega? But Re(freq)/Re(omega) <> tau. I don't know whether my scaling is right or not (In my understand that omega=freq/tau^-1=freq*tau), but that's obviously inconsistent with the result.
And also i find that if i want to search the frequency from 0.001Hz-0.003Hz, the result is omega that fall between this range instead of freq field. So i need to scale them in advance to get the freq fall into this range, right?
Could you give me any help? Attached files are gyre.in, the star model from mesa and the result summary.txt.
Best Regrads
Chen
Thank you for you reply. I tried using freq_units='UHZ' in the ad_output namelist and they give me some result. But as you said that the "Note that all of GYRE's internal calculations are done using dimensionless frequencies (i.e., normalized by the inverse of the dynamical timescale). Parameters like 'freq_min_units' and 'freq_units' only affect the units of input and output quantities.", the dynamical timesacle is tau=sqrt(R^3/GM) (from your paper Townsend 2013). In my calculations, M_star=0.2387040000000000E+035g, R_star=0.6244106112781844E+012cm, so tau=1.2362e+04s.
below is the segment of summary.txt:
1 2 3 4 5 6 7 8 9
l m n_pg n_p n_g Re(omega) Im(omega) Re(freq) Im(freq)
0 0 1004 1004 0 0.1262603464153258E+004 0.0000000000000000E+000 0.1625600242161147E+005 0.0000000000000000E+000
0 0 1245 1245 0 0.1565692910624517E+004 0.0000000000000000E+000 0.2015827492100294E+005 0.0000000000000000E+000
0 0 1502 1502 0 0.1888930874682275E+004 0.0000000000000000E+000 0.2431995931017381E+005 0.0000000000000000E+000
0 0 1759 1759 0 0.2212191790500210E+004 0.0000000000000000E+000 0.2848193920294466E+005 0.0000000000000000E+000
0 0 2064 2064 0 0.2595895973947243E+004 0.0000000000000000E+000 0.3342212534403091E+005 0.0000000000000000E+000
0 0 2343 2343 0 0.2946998088401004E+004 0.0000000000000000E+000 0.3794256029042234E+005 0.0000000000000000E+000
from the document of output file,
omega : dimensionless eigenfrequencies
freq : dimensioned eigenfrequencies
should the freq is the scaling eigenfrequencies of omega? But Re(freq)/Re(omega) <> tau. I don't know whether my scaling is right or not (In my understand that omega=freq/tau^-1=freq*tau), but that's obviously inconsistent with the result.
And also i find that if i want to search the frequency from 0.001Hz-0.003Hz, the result is omega that fall between this range instead of freq field. So i need to scale them in advance to get the freq fall into this range, right?
Could you give me any help? Attached files are gyre.in, the star model from mesa and the result summary.txt.
Best Regrads
Chen
- Attachments
-
- summary5.txt
- (13.98 KiB) Downloaded 349 times
-
- profile5.data.GYRE
- (489.24 KiB) Downloaded 347 times
-
- gyre.in
- (643 Bytes) Downloaded 316 times
Re: Why gyre.in could not input freq_units fields ?
Your calculation of the dynamical timescale τ is basically correct but subtly depends on whether its defined as an angular or cyclic frequency, from which we get a factor of 2π. You've also missed out that the frequencies are being reported in μHz. So to get from 'Re(omega)' to 'Re(freq)' you need to multiply by 10⁶/(2π τ).
As for your inlist, the one you've attached doesn't set the minimum and maximum units in the scan. You want that block to look like
where I've added the lines with 'UHZ'. The rest of the input looks correct.
Cheers,
Warrick
As for your inlist, the one you've attached doesn't set the minimum and maximum units in the scan. You want that block to look like
Code: Select all
&scan
grid_type = 'LINEAR'
freq_min = 1000
freq_max = 3000
n_freq = 100
freq_min_units = 'UHZ'
freq_max_units = 'UHZ'
/
Cheers,
Warrick
Re: Why gyre.in could not input freq_units fields ?
Hi Warrick,
Thank you so much for your explanation, now i see the relationship of these parameters. Thank you!
Cheers
Chen
Thank you so much for your explanation, now i see the relationship of these parameters. Thank you!
Cheers
Chen