Top |
NcmCSQ1DNcmCSQ1D — Abstract class for Harmonic Oscillator calculation through complex structure quantization. |
double | abstol | Read / Write / Construct |
double | adiab-threshold | Read / Write / Construct |
double | k | Read / Write / Construct |
gboolean | max-order-2 | Read / Write / Construct |
double | prop-threshold | Read / Write / Construct |
double | reltol | Read / Write / Construct |
gboolean | save-evol | Read / Write / Construct |
double | tf | Read / Write / Construct |
double | ti | Read / Write / Construct |
#define | NCM_TYPE_CSQ1D |
struct | NcmCSQ1DClass |
enum | NcmCSQ1DEvolState |
NcmCSQ1D | |
NcmCSQ1DSingFitUm | |
NcmCSQ1DSingFitUp |
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}
NcmCSQ1D *
ncm_csq1d_ref (NcmCSQ1D *csq1d
);
Increases the reference count of csq1d
.
void
ncm_csq1d_clear (NcmCSQ1D **csq1d
);
Decreases the reference count of *csq1d
and sets the pointer *csq1d
to NULL.
void ncm_csq1d_set_reltol (NcmCSQ1D *csq1d
,const gdouble reltol
);
Sets the relative tolerance to reltol
.
void ncm_csq1d_set_abstol (NcmCSQ1D *csq1d
,const gdouble abstol
);
Sets the absolute tolerance to abstol
.
void ncm_csq1d_set_k (NcmCSQ1D *csq1d
,const gdouble k
);
Sets the mode $k$ to k
.
void ncm_csq1d_set_ti (NcmCSQ1D *csq1d
,const gdouble ti
);
Sets the initial time $t_i$ to ti
.
void ncm_csq1d_set_tf (NcmCSQ1D *csq1d
,const gdouble tf
);
Sets the initial time $t_f$ to tf
.
void ncm_csq1d_set_adiab_threshold (NcmCSQ1D *csq1d
,const gdouble adiab_threshold
);
Sets the adiabatic threshold $A_t$.
void ncm_csq1d_set_prop_threshold (NcmCSQ1D *csq1d
,const gdouble prop_threshold
);
Sets the propagator threshold $P_t$.
void ncm_csq1d_set_save_evol (NcmCSQ1D *csq1d
,const gboolean save
);
If true saves all evolution to be evaluted later through
ncm_csq1d_eval_at()
and related methods.
void ncm_csq1d_set_max_order_2 (NcmCSQ1D *csq1d
,const gboolean truncate
);
If true truncates the adiabatic series at order 2.
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$.
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 |
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$.
gdouble ncm_csq1d_eval_xi (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_xi]
gdouble ncm_csq1d_eval_dxi (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_dxi]
gdouble ncm_csq1d_eval_nu (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_nu]
gdouble ncm_csq1d_eval_nu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_nu2]
gdouble ncm_csq1d_eval_m (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_m]
gdouble ncm_csq1d_eval_int_1_m (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_1_m]
gdouble ncm_csq1d_eval_int_mnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_mnu2]
gdouble ncm_csq1d_eval_int_qmnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_qmnu2]
gdouble ncm_csq1d_eval_int_q2mnu2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_int_q2mnu2]
gdouble ncm_csq1d_eval_dm (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_dm]
gdouble ncm_csq1d_eval_F1 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_F1]
gdouble ncm_csq1d_eval_F2 (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,const gdouble k
);
[virtual eval_F2]
gdouble ncm_csq1d_eval_FN (NcmCSQ1D *csq1d
,NcmModel *model
,const gint n
,const gdouble t
,const gdouble k
);
[virtual eval_FN]
gdouble ncm_csq1d_eval_powspec_factor (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble k
);
[virtual eval_powspec_factor]
void ncm_csq1d_prepare (NcmCSQ1D *csq1d
,NcmModel *model
);
Prepares the object using model
.
[virtual prepare]
GArray * ncm_csq1d_get_time_array (NcmCSQ1D *csq1d
,gdouble *smallest_t
);
csq1d |
a NcmCSQ1D |
|
smallest_t |
the smallest absolute value of $t$ in the array. |
[out][allow-none] |
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
.
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)$.
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$.
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
.
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$.
csq1d |
a NcmCSQ1D |
|
t |
time $t$ |
|
alpha |
value of $\alpha(t)$. |
[out] |
dgamma |
value of $\Delta\gamma(t)$. |
[out] |
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$.
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] |
void ncm_csq1d_get_J_at (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *J11
,gdouble *J12
,gdouble *J22
);
Computes the complex structure matrix.
void ncm_csq1d_get_H_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
void ncm_csq1d_get_Hadiab_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
void ncm_csq1d_get_poincare_hp (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
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.
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.
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.
void ncm_csq1d_get_H_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
void ncm_csq1d_get_Hadiab_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
void ncm_csq1d_get_poincare_disc (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *x
,gdouble *lny
);
Computes the complex structure matrix.
void ncm_csq1d_prepare_prop (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble ti
,const gdouble tii
,const gdouble tf
);
Computes the complex structure matrix.
void ncm_csq1d_get_prop_vector_chi_Up (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble t
,gdouble *chi
,gdouble *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
);
void ncm_csq1d_alpha_gamma_circle (NcmCSQ1D *csq1d
,NcmModel *model
,const gdouble alpha
,const gdouble gamma
,const gdouble r
,const gdouble theta
,gdouble *alphap
,gdouble *gammap
);
Computes the complex structure matrix parameters for a circle around the point $(\alpha, \gamma)$ with radius $r$ and angle $\theta$.
“abstol”
property “abstol” double
Absolute tolerance tolerance.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 0
“adiab-threshold”
property “adiab-threshold” double
The adiabatic threshold.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 0.1
“k”
property “k” double
Mode k.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: >= 0
Default value: 1
“max-order-2”
property“max-order-2” gboolean
Whether to always truncate at order 2.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: FALSE
“prop-threshold”
property “prop-threshold” double
The propagator threshold.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: [0,1]
Default value: 0.1
“reltol”
property “reltol” double
Relative tolerance.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Allowed values: [0,1]
Default value: 1e-07
“save-evol”
property“save-evol” gboolean
Save the system evolution.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: TRUE
“tf”
property “tf” double
The final time t_f.
Owner: NcmCSQ1D
Flags: Read / Write / Construct
Default value: 1