Top | ![]() |
![]() |
![]() |
![]() |
NcmCSQ1DNcmCSQ1D — Abstract class for Harmonic Oscillator calculation through complex structure quantization. |
Functions
Properties
double | abstol | Read / Write / Construct |
double | adiab-threshold | Read / Write / Construct |
double | k | Read / Write / Construct |
double | prop-threshold | Read / Write / Construct |
double | reltol | Read / Write / Construct |
gboolean | save-evol | Read / Write / Construct |
gboolean | sing-detect | Read / Write / Construct |
double | tf | Read / Write / Construct |
double | ti | Read / Write / Construct |
Types and Values
#define | NCM_TYPE_CSQ1D |
struct | NcmCSQ1DClass |
enum | NcmCSQ1DEvolState |
struct | NcmCSQ1DSingFitUp |
NcmCSQ1D | |
NcmCSQ1DSingFitUm |
Object Hierarchy
GBoxed ╰── NcmCSQ1DSingFitUp GEnum ╰── NcmCSQ1DEvolState GObject ╰── NcmCSQ1D ╰── NcDECont
Description
The system: \begin{align} q^\prime &= \frac{\Pi_q}{m}, \Pi_q^\prime &= m\nu^2q. \end{align}
\begin{equation} \xi = \ln (m\nu) \end{equation}
\begin{equation} F^n = \left(\frac{1}{2\nu}\frac{\partial}{\partial t}\right)^n \xi. \end{equation}
Functions
ncm_csq1d_sing_fit_up_new ()
NcmCSQ1DSingFitUp * ncm_csq1d_sing_fit_up_new (const gint chi_dim
,const gint Up_dim
);
New singular model for fitting $\chi$ and $\Upsilon_+$ across a singularity.
ncm_csq1d_sing_fit_up_dup ()
NcmCSQ1DSingFitUp *
ncm_csq1d_sing_fit_up_dup (NcmCSQ1DSingFitUp *sing_up
);
Duplicates sing_up
, without duplicating the contents.
ncm_csq1d_sing_fit_up_free ()
void
ncm_csq1d_sing_fit_up_free (NcmCSQ1DSingFitUp *sing_up
);
Frees sing_up
.
ncm_csq1d_sing_fit_up_fit ()
void ncm_csq1d_sing_fit_up_fit (NcmCSQ1DSingFitUp *sing_up
,NcmCSQ1D *csq1d
,NcmModel *model
,NcmVector *t
,NcmVector *chim_t
,NcmVector *exp_Up
);
Fits the models using the data in t
, chim
and exp_Up
.
ncm_csq1d_sing_fit_up_eval_chi ()
gdouble ncm_csq1d_sing_fit_up_eval_chi (NcmCSQ1DSingFitUp *sing_up
,NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
);
Evaluates the model for $\chi$ at $t$.
ncm_csq1d_sing_fit_up_eval_exp_Up ()
gdouble ncm_csq1d_sing_fit_up_eval_exp_Up (NcmCSQ1DSingFitUp *sing_up
,NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
);
Evaluates the model for $\exp(\Upsilon_+)$ at $t$.
ncm_csq1d_sing_fit_up_eval_dchi ()
gdouble ncm_csq1d_sing_fit_up_eval_dchi (NcmCSQ1DSingFitUp *sing_up
,NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
);
Evaluates the model for $\chi^\prime$ at $t$.
ncm_csq1d_sing_fit_up_eval_dexp_Up ()
gdouble ncm_csq1d_sing_fit_up_eval_dexp_Up (NcmCSQ1DSingFitUp *sing_up
,NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
);
Evaluates the model for $\exp(\Upsilon_+)^\prime$ at $t$.
ncm_csq1d_ref ()
NcmCSQ1D *
ncm_csq1d_ref (NcmCSQ1D *csq1d
);
Increases the reference count of csq1d
.
ncm_csq1d_clear ()
void
ncm_csq1d_clear (NcmCSQ1D **csq1d
);
Decreases the reference count of *csq1d
and sets the pointer *csq1d
to NULL.
ncm_csq1d_set_reltol ()
void ncm_csq1d_set_reltol (NcmCSQ1D *csq1d
,const gdouble reltol
);
Sets the relative tolerance to reltol
.
ncm_csq1d_set_abstol ()
void ncm_csq1d_set_abstol (NcmCSQ1D *csq1d
,const gdouble abstol
);
Sets the absolute tolerance to abstol
.
ncm_csq1d_set_k ()
void ncm_csq1d_set_k (NcmCSQ1D *csq1d
,const gdouble k
);
Sets the mode $k$ to k
.
ncm_csq1d_set_ti ()
void ncm_csq1d_set_ti (NcmCSQ1D *csq1d
,const gdouble ti
);
Sets the initial time $t_i$ to ti
.
ncm_csq1d_set_tf ()
void ncm_csq1d_set_tf (NcmCSQ1D *csq1d
,const gdouble tf
);
Sets the initial time $t_f$ to tf
.
ncm_csq1d_set_adiab_threshold ()
void ncm_csq1d_set_adiab_threshold (NcmCSQ1D *csq1d
,const gdouble adiab_threshold
);
Sets the adiabatic threshold $A_t$.
ncm_csq1d_set_prop_threshold ()
void ncm_csq1d_set_prop_threshold (NcmCSQ1D *csq1d
,const gdouble prop_threshold
);
Sets the propagator threshold $P_t$.
ncm_csq1d_set_save_evol ()
void ncm_csq1d_set_save_evol (NcmCSQ1D *csq1d
,const gboolean save
);
If true saves all evolution to be evaluted later through FIXME
ncm_csq1d_set_sing_detect ()
void ncm_csq1d_set_sing_detect (NcmCSQ1D *csq1d
,const gboolean enable
);
If true it tries to detect all singularities caused by the mass crossing $0$ or diverging to $\pm\infty$.
ncm_csq1d_set_init_cond ()
void ncm_csq1d_set_init_cond (NcmCSQ1D *csq1d
,NcmCSQ1DEvolState state
,const gdouble ti
,const gdouble x
,const gdouble y
);
Sets the values of the initial conditions at $t_i$. This method also updates the value of $t_i$.
Parameters
csq1d |
a NcmCSQ1D |
|
state |
||
ti |
initial time $t_i$ |
|
x |
$\alpha$ or $\chi$ depending on the |
|
y |
$\delta\gamma$, $U_+$ or $U_-$ depending on the |
ncm_csq1d_set_init_cond_adiab ()
void ncm_csq1d_set_init_cond_adiab (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble ti
);
Sets the values of the initial conditions at $t_i$. This method also updates the value of $t_i$.
ncm_csq1d_eval_xi ()
gdouble ncm_csq1d_eval_xi (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_xi]
ncm_csq1d_eval_dxi ()
gdouble ncm_csq1d_eval_dxi (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_dxi]
ncm_csq1d_eval_nu ()
gdouble ncm_csq1d_eval_nu (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_nu]
ncm_csq1d_eval_nu2 ()
gdouble ncm_csq1d_eval_nu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_nu2]
ncm_csq1d_eval_m ()
gdouble ncm_csq1d_eval_m (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_m]
ncm_csq1d_eval_int_1_m ()
gdouble ncm_csq1d_eval_int_1_m (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_1_m]
ncm_csq1d_eval_int_mnu2 ()
gdouble ncm_csq1d_eval_int_mnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_mnu2]
ncm_csq1d_eval_int_qmnu2 ()
gdouble ncm_csq1d_eval_int_qmnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_qmnu2]
ncm_csq1d_eval_int_q2mnu2 ()
gdouble ncm_csq1d_eval_int_q2mnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_q2mnu2]
ncm_csq1d_eval_dm ()
gdouble ncm_csq1d_eval_dm (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_dm]
ncm_csq1d_eval_F1 ()
gdouble ncm_csq1d_eval_F1 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_F1]
ncm_csq1d_eval_F2 ()
gdouble ncm_csq1d_eval_F2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_F2]
ncm_csq1d_eval_FN ()
gdouble ncm_csq1d_eval_FN (NcmCSQ1D *csq1d
,NcmModel *model
,const gint n
,const gdouble t
,const gdouble k
);
[virtual eval_FN]
ncm_csq1d_eval_powspec_factor ()
gdouble ncm_csq1d_eval_powspec_factor (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble k
);
[virtual eval_powspec_factor]
ncm_csq1d_prepare ()
void ncm_csq1d_prepare (NcmCSQ1D *csq1d
,NcmModel *model
);
Prepares the object using model
.
[virtual prepare]
ncm_csq1d_get_time_array ()
GArray * ncm_csq1d_get_time_array (NcmCSQ1D *csq1d
,gdouble *smallest_t
);
Parameters
csq1d |
a NcmCSQ1D |
|
smallest_t |
the smallest absolute value of $t$ in the array. |
[out][allow-none] |
ncm_csq1d_find_adiab_time_limit ()
gboolean ncm_csq1d_find_adiab_time_limit (NcmCSQ1D *csq1d
,NcmModel *model
,gdouble t0
,gdouble t1
,const gdouble reltol
,gdouble *ti
);
Computes the time upper limit $t_i \in [t_0, t_1]$ where the adiabatic
approximation is satisfied up to reltol
.
ncm_csq1d_find_adiab_max ()
gdouble ncm_csq1d_find_adiab_max (NcmCSQ1D *csq1d
,NcmModel *model
,gdouble t0
,gdouble t1
,const gdouble border_eps
,gdouble *F1_min
,gdouble *t_Bl
,gdouble *t_Bu
);
Computes the time $t_\mathrm{min}$ that minimizes $F_1(t)$.
ncm_csq1d_eval_adiab_at ()
void ncm_csq1d_eval_adiab_at (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *alpha
,gdouble *dgamma
,gdouble *alpha_reltol
,gdouble *dgamma_reltol
);
Computes the value of the adiabatic approximation of the variables $\alpha$ and $\Delta\gamma$ at $t$.
ncm_csq1d_eval_nonadiab_at ()
void ncm_csq1d_eval_nonadiab_at (NcmCSQ1D *csq1d
,NcmModel *model
,guint nonadiab_frame
,const gdouble t
,gdouble *chi
,gdouble *Up
);
Computes the value of the non-adiabatic VDC order order two
in the variables $\chi$ and $U$ at $t$. The VDC can be computed
at different frames by choosing nonadiab_frame
.
ncm_csq1d_eval_at ()
void ncm_csq1d_eval_at (NcmCSQ1D *csq1d
,const gdouble t
,gdouble *alpha
,gdouble *dgamma
);
Computes the value of the variables $\alpha$ and $\Delta\gamma$ at $t$.
Parameters
csq1d |
a NcmCSQ1D |
|
t |
time $t$ |
|
alpha |
value of $\alpha(t)$. |
[out] |
dgamma |
value of $\Delta\gamma(t)$. |
[out] |
ncm_csq1d_alpha_dgamma_to_phi_Pphi ()
void ncm_csq1d_alpha_dgamma_to_phi_Pphi (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble alpha
,const gdouble dgamma
,gdouble *phi
,gdouble *Pphi
);
Computes the value of the variables $\alpha$ and $\Delta\gamma$ at $t$.
Parameters
csq1d |
a NcmCSQ1D |
|
model |
a NcmModel. |
[allow-none] |
t |
time $t$ |
|
alpha |
value of $\alpha(t)$ |
|
dgamma |
value of $\Delta\gamma(t)$ |
|
phi |
real and imaginary parts of $\phi$, i.e., $[\mathrm{Re}(\phi), \mathrm{Im}(\phi)]$. |
[out caller-allocates][array fixed-size=2] |
Pphi |
real and imaginary parts of $\Pi_\phi$, i.e., $[\mathrm{Re}(\Pi_\phi), \mathrm{Im}(\Pi_\phi)]$. |
[out caller-allocates][array fixed-size=2] |
ncm_csq1d_get_J_at ()
void ncm_csq1d_get_J_at (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *J11
,gdouble *J12
,gdouble *J22
);
Computes the complex structure matrix.
ncm_csq1d_get_H_poincare_hp ()
void ncm_csq1d_get_H_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_get_Hadiab_poincare_hp ()
void ncm_csq1d_get_Hadiab_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_get_poincare_hp ()
void ncm_csq1d_get_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_get_poincare_hp_frame ()
void ncm_csq1d_get_poincare_hp_frame (NcmCSQ1D *csq1d
,NcmModel *model
,guint adiab_frame
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_alpha_dgamma_to_minkowski_frame ()
void ncm_csq1d_alpha_dgamma_to_minkowski_frame (NcmCSQ1D *csq1d
,NcmModel *model
,guint adiab_frame
,const gdouble t
,const gdouble alpha
,const gdouble dgamma
,gdouble *x1
,gdouble *x2
);
Computes the complex structure matrix.
ncm_csq1d_get_minkowski_frame ()
void ncm_csq1d_get_minkowski_frame (NcmCSQ1D *csq1d
,NcmModel *model
,guint adiab_frame
,const gdouble t
,gdouble *x1
,gdouble *x2
);
Computes the complex structure matrix.
ncm_csq1d_get_H_poincare_disc ()
void ncm_csq1d_get_H_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_get_Hadiab_poincare_disc ()
void ncm_csq1d_get_Hadiab_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_get_poincare_disc ()
void ncm_csq1d_get_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
ncm_csq1d_prepare_prop ()
void ncm_csq1d_prepare_prop (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble ti
,const gdouble tii
,const gdouble tf
);
Computes the complex structure matrix.
ncm_csq1d_get_prop_vector_chi_Up ()
void ncm_csq1d_get_prop_vector_chi_Up (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *chi
,gdouble *Up
);
ncm_csq1d_evolve_prop_vector_chi_Up ()
void ncm_csq1d_evolve_prop_vector_chi_Up (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const guint nonadiab_frame
,gdouble chi_i
,gdouble Up_i
,gdouble *chi
,gdouble *Up
);
Types and Values
struct NcmCSQ1DSingFitUp
struct NcmCSQ1DSingFitUp { };
Struct containing the $\Upsilon_+$ fitting model.
Property Details
The “abstol”
property
“abstol” double
Absolute tolerance tolerance.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 0
The “adiab-threshold”
property
“adiab-threshold” double
The adiabatic threshold.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 0.1
The “k”
property
“k” double
Mode k.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 1
The “prop-threshold”
property
“prop-threshold” double
The propagator threshold.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: [0,1]
Default value: 0.1
The “reltol”
property
“reltol” double
Relative tolerance.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: [0,1]
Default value: 1e-07
The “save-evol”
property
“save-evol” gboolean
Save the system evolution.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: TRUE
The “sing-detect”
property
“sing-detect” gboolean
Singularity detection.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: TRUE
The “tf”
property
“tf” double
The final time t_f.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: 1