NcmCSQ1D

NcmCSQ1D — Abstract class for Harmonic Oscillator calculation through complex structure quantization.

Functions

NcmCSQ1DState * ncm_csq1d_state_new ()
NcmCSQ1DState * ncm_csq1d_state_copy ()
void ncm_csq1d_state_free ()
void ncm_csq1d_state_set_ag ()
void ncm_csq1d_state_set_up ()
void ncm_csq1d_state_set_um ()
gdouble ncm_csq1d_state_get_time ()
NcmCSQ1DFrame ncm_csq1d_state_get_frame ()
void ncm_csq1d_state_get_ag ()
void ncm_csq1d_state_get_up ()
void ncm_csq1d_state_get_um ()
void ncm_csq1d_state_get_J ()
void ncm_csq1d_state_get_phi_Pphi ()
void ncm_csq1d_state_get_poincare_half_plane ()
void ncm_csq1d_state_get_poincare_disc ()
void ncm_csq1d_state_get_minkowski ()
void ncm_csq1d_state_get_circle ()
gdouble ncm_csq1d_state_compute_distance ()
NcmCSQ1D * ncm_csq1d_ref ()
void ncm_csq1d_free ()
void ncm_csq1d_clear ()
void ncm_csq1d_set_reltol ()
void ncm_csq1d_set_abstol ()
void ncm_csq1d_set_ti ()
void ncm_csq1d_set_tf ()
void ncm_csq1d_set_adiab_threshold ()
void ncm_csq1d_set_prop_threshold ()
void ncm_csq1d_set_save_evol ()
void ncm_csq1d_set_init_cond ()
void ncm_csq1d_set_init_cond_adiab ()
void ncm_csq1d_set_initial_condition_type ()
void ncm_csq1d_set_vacuum_reltol ()
void ncm_csq1d_set_vacuum_max_time ()
gdouble ncm_csq1d_get_reltol ()
gdouble ncm_csq1d_get_abstol ()
gdouble ncm_csq1d_get_ti ()
gdouble ncm_csq1d_get_tf ()
gdouble ncm_csq1d_get_adiab_threshold ()
gdouble ncm_csq1d_get_prop_threshold ()
gboolean ncm_csq1d_get_save_evol ()
NcmCSQ1DInitialStateType ncm_csq1d_get_initial_condition_type ()
gdouble ncm_csq1d_get_vacuum_reltol ()
gdouble ncm_csq1d_get_vacuum_max_time ()
gdouble ncm_csq1d_eval_xi ()
gdouble ncm_csq1d_eval_nu ()
gdouble ncm_csq1d_eval_nu2 ()
gdouble ncm_csq1d_eval_m ()
gdouble ncm_csq1d_eval_int_1_m ()
gdouble ncm_csq1d_eval_int_mnu2 ()
gdouble ncm_csq1d_eval_int_qmnu2 ()
gdouble ncm_csq1d_eval_int_q2mnu2 ()
gdouble ncm_csq1d_eval_F1 ()
gdouble ncm_csq1d_eval_F2 ()
void ncm_csq1d_prepare ()
GArray * ncm_csq1d_get_time_array ()
gboolean ncm_csq1d_find_adiab_time_limit ()
gdouble ncm_csq1d_find_adiab_max ()
NcmCSQ1DState * ncm_csq1d_compute_adiab ()
NcmCSQ1DState * ncm_csq1d_compute_adiab_frame ()
NcmCSQ1DState * ncm_csq1d_compute_nonadiab ()
NcmCSQ1DState * ncm_csq1d_compute_H ()
NcmCSQ1DState * ncm_csq1d_eval_at ()
NcmCSQ1DState * ncm_csq1d_eval_at_frame ()
NcmCSQ1DState * ncm_csq1d_change_frame ()
void ncm_csq1d_prepare_prop ()
gdouble ncm_csq1d_get_tf_prop ()
NcmCSQ1DState * ncm_csq1d_compute_prop_vector ()
NcmCSQ1DState * ncm_csq1d_evolve_prop_vector ()

Properties

double abstol Read / Write / Construct
double adiab-threshold 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
double vacuum-max-time Read / Write / Construct
double vacuum-reltol Read / Write / Construct
NcmCSQ1DInitialStateType vacuum-type Read / Write / Construct

Types and Values

Object Hierarchy

    GEnum
    ├── NcmCSQ1DEvolState
    ├── NcmCSQ1DFrame
    ╰── NcmCSQ1DInitialStateType
    GObject
    ╰── NcmCSQ1D
        ├── NcDECont
        ├── NcHIPertAdiab
        ├── NcHIPertEM
        ╰── NcHIPertGW

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_state_new ()

NcmCSQ1DState *
ncm_csq1d_state_new (void);

Creates a new and uninitialized NcmCSQ1DState.

Returns

a new NcmCSQ1DState.

[transfer full]


ncm_csq1d_state_copy ()

NcmCSQ1DState *
ncm_csq1d_state_copy (NcmCSQ1DState *state);

Creates a copy of state .

Parameters

state

a NcmCSQ1DState

 

Returns

a new NcmCSQ1DState with the same contents as state .

[transfer full]


ncm_csq1d_state_free ()

void
ncm_csq1d_state_free (NcmCSQ1DState *state);

Frees state .

Parameters

state

a NcmCSQ1DState

 

ncm_csq1d_state_set_ag ()

void
ncm_csq1d_state_set_ag (NcmCSQ1DState *state,
                        const NcmCSQ1DFrame frame,
                        const gdouble t,
                        const gdouble alpha,
                        const gdouble gamma);

Sets the state using the $(\alpha, \gamma)$ parametrization.

Parameters

state

a NcmCSQ1DState

 

frame

the frame of state

 

t

the time of state

 

alpha

the alpha of state

 

gamma

the gamma of state

 

ncm_csq1d_state_set_up ()

void
ncm_csq1d_state_set_up (NcmCSQ1DState *state,
                        const NcmCSQ1DFrame frame,
                        const gdouble t,
                        const gdouble chi,
                        const gdouble Up);

Sets the state using the $(\chi, U_+)$ parametrization.

Parameters

state

a NcmCSQ1DState

 

frame

the frame of state

 

t

the time of state

 

chi

the chi of state

 

Up

the Up of state

 

ncm_csq1d_state_set_um ()

void
ncm_csq1d_state_set_um (NcmCSQ1DState *state,
                        const NcmCSQ1DFrame frame,
                        const gdouble t,
                        const gdouble chi,
                        const gdouble Um);

Sets the state using the $(\chi, U_-)$ parametrization.

Parameters

state

a NcmCSQ1DState

 

frame

the frame of state

 

t

the time of state

 

chi

the chi of state

 

Um

the Um of state

 

ncm_csq1d_state_get_time ()

gdouble
ncm_csq1d_state_get_time (NcmCSQ1DState *state);

Parameters

state

a NcmCSQ1DState

 

Returns

the time of state .


ncm_csq1d_state_get_frame ()

NcmCSQ1DFrame
ncm_csq1d_state_get_frame (NcmCSQ1DState *state);

Parameters

state

a NcmCSQ1DState

 

Returns

the frame of state .


ncm_csq1d_state_get_ag ()

void
ncm_csq1d_state_get_ag (NcmCSQ1DState *state,
                        gdouble *alpha,
                        gdouble *gamma);

Computes the $(\alpha, \gamma)$ parametrization of state .

Parameters

state

a NcmCSQ1DState

 

alpha

the alpha of state .

[out]

gamma

the gamma of state .

[out]

ncm_csq1d_state_get_up ()

void
ncm_csq1d_state_get_up (NcmCSQ1DState *state,
                        gdouble *chi,
                        gdouble *Up);

Computes the $(\chi, U_+)$ parametrization of state .

Parameters

state

a NcmCSQ1DState

 

chi

the chi of state .

[out]

Up

the Up of state .

[out]

ncm_csq1d_state_get_um ()

void
ncm_csq1d_state_get_um (NcmCSQ1DState *state,
                        gdouble *chi,
                        gdouble *Um);

Computes the $(\chi, U_-)$ parametrization of state .

Parameters

state

a NcmCSQ1DState

 

chi

the chi of state .

[out]

Um

the Um of state .

[out]

ncm_csq1d_state_get_J ()

void
ncm_csq1d_state_get_J (NcmCSQ1DState *state,
                       gdouble *J11,
                       gdouble *J12,
                       gdouble *J22);

Computes the covariant metric of state .

Parameters

state

a NcmCSQ1DState

 

J11

the J11 of state .

[out]

J12

the J12 of state .

[out]

J22

the J22 of state .

[out]

ncm_csq1d_state_get_phi_Pphi ()

void
ncm_csq1d_state_get_phi_Pphi (NcmCSQ1DState *state,
                              gdouble *phi,
                              gdouble *Pphi);

Computes the $(\phi, P_\phi)$ parametrization of state .

Parameters

state

a NcmCSQ1DState

 

phi

the $\phi$ of state .

[out caller-allocates][array fixed-size=2]

Pphi

the $P_\phi$ of state .

[out caller-allocates][array fixed-size=2]

ncm_csq1d_state_get_poincare_half_plane ()

void
ncm_csq1d_state_get_poincare_half_plane
                               (NcmCSQ1DState *state,
                                gdouble *x,
                                gdouble *lny);

Computes the Poincaré half-plane parametrization of state .

Parameters

state

a NcmCSQ1DState

 

x

the $x$ of state .

[out]

lny

the $\ln y$ of state .

[out]

ncm_csq1d_state_get_poincare_disc ()

void
ncm_csq1d_state_get_poincare_disc (NcmCSQ1DState *state,
                                   gdouble *x,
                                   gdouble *y);

Computes the Poincaré disc parametrization of state .

Parameters

state

a NcmCSQ1DState

 

x

the $x$ of state .

[out]

y

the $y$ of state .

[out]

ncm_csq1d_state_get_minkowski ()

void
ncm_csq1d_state_get_minkowski (NcmCSQ1DState *state,
                               gdouble *x1,
                               gdouble *x2);

Computes the Minkowski parametrization of state .

Parameters

state

a NcmCSQ1DState

 

x1

the $x_1$ of state .

[out]

x2

the $x_2$ of state .

[out]

ncm_csq1d_state_get_circle ()

void
ncm_csq1d_state_get_circle (NcmCSQ1DState *state,
                            const gdouble r,
                            const gdouble theta,
                            NcmCSQ1DState *cstate);

Computes the complex structure matrix parameters for a circle around the point state with radius $r$ and angle $\theta$ and stores the result in cstate .

Parameters

state

a NcmCSQ1DState

 

r

radius

 

theta

angle

 

cstate

the new state.

[out caller-allocates]

ncm_csq1d_state_compute_distance ()

gdouble
ncm_csq1d_state_compute_distance (NcmCSQ1DState *state,
                                  NcmCSQ1DState *state1);

Computes the distance between state and state1 .

Parameters

state

a NcmCSQ1DState

 

state1

a NcmCSQ1DState

 

Returns

the distance between state and state1 .


ncm_csq1d_ref ()

NcmCSQ1D *
ncm_csq1d_ref (NcmCSQ1D *csq1d);

Increases the reference count of csq1d .

Parameters

csq1d

a NcmCSQ1D

 

Returns

csq1d .

[transfer full]


ncm_csq1d_free ()

void
ncm_csq1d_free (NcmCSQ1D *csq1d);

Decreases the reference count of csq1d .

Parameters

csq1d

a NcmCSQ1D

 

ncm_csq1d_clear ()

void
ncm_csq1d_clear (NcmCSQ1D **csq1d);

Decreases the reference count of *csq1d and sets the pointer *csq1d to NULL.

Parameters

csq1d

a NcmCSQ1D

 

ncm_csq1d_set_reltol ()

void
ncm_csq1d_set_reltol (NcmCSQ1D *csq1d,
                      const gdouble reltol);

Sets the relative tolerance to reltol .

Parameters

csq1d

a NcmCSQ1D

 

reltol

relative tolerance

 

ncm_csq1d_set_abstol ()

void
ncm_csq1d_set_abstol (NcmCSQ1D *csq1d,
                      const gdouble abstol);

Sets the absolute tolerance to abstol .

Parameters

csq1d

a NcmCSQ1D

 

abstol

absolute tolerance

 

ncm_csq1d_set_ti ()

void
ncm_csq1d_set_ti (NcmCSQ1D *csq1d,
                  const gdouble ti);

Sets the initial time $t_i$ to ti .

Parameters

csq1d

a NcmCSQ1D

 

ti

mode $t_i$

 

ncm_csq1d_set_tf ()

void
ncm_csq1d_set_tf (NcmCSQ1D *csq1d,
                  const gdouble tf);

Sets the initial time $t_f$ to tf .

Parameters

csq1d

a NcmCSQ1D

 

tf

mode $t_f$

 

ncm_csq1d_set_adiab_threshold ()

void
ncm_csq1d_set_adiab_threshold (NcmCSQ1D *csq1d,
                               const gdouble adiab_threshold);

Sets the adiabatic threshold $A_t$.

Parameters

csq1d

a NcmCSQ1D

 

adiab_threshold

mode $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$.

Parameters

csq1d

a NcmCSQ1D

 

prop_threshold

mode $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 ncm_csq1d_eval_at() and related methods.

Parameters

csq1d

a NcmCSQ1D

 

save

whether to save all evolution

 

ncm_csq1d_set_init_cond ()

void
ncm_csq1d_set_init_cond (NcmCSQ1D *csq1d,
                         NcmModel *model,
                         NcmCSQ1DEvolState evol_state,
                         NcmCSQ1DState *initial_state);

Sets the values of the initial conditions to initial_state . Depending on the value of evol_state , the initial conditions are set in the adiabatic frame 1 if evol_state is NCM_CSQ1D_EVOL_STATE_ADIABATIC, or in the original frame when using the $U_+$ or $U_-$ parametrization.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

evol_state

a NcmCSQ1DEvolState

 

initial_state

a NcmCSQ1DState

 

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$.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

ti

initial time $t_i$

 

ncm_csq1d_set_initial_condition_type ()

void
ncm_csq1d_set_initial_condition_type (NcmCSQ1D *csq1d,
                                      const NcmCSQ1DInitialStateType initial_condition_type);

Sets the initial condition type to initial_condition_type . The initial condition type is used to determine the initial state state when preparing the object using ncm_csq1d_prepare().

Parameters

csq1d

a NcmCSQ1D

 

initial_condition_type

the vacuum type

 

ncm_csq1d_set_vacuum_reltol ()

void
ncm_csq1d_set_vacuum_reltol (NcmCSQ1D *csq1d,
                             const gdouble vacuum_reltol);

Sets the relative tolerance for the vacuum definition. This tolerance is used to determine the vacuum state when preparing the object using ncm_csq1d_prepare().

Parameters

csq1d

a NcmCSQ1D

 

vacuum_reltol

relative tolerance

 

ncm_csq1d_set_vacuum_max_time ()

void
ncm_csq1d_set_vacuum_max_time (NcmCSQ1D *csq1d,
                               const gdouble vacuum_max_time);

Sets the maximum time for the vacuum search. This time is used to determine the vacuum state when preparing the object using ncm_csq1d_prepare().

Parameters

csq1d

a NcmCSQ1D

 

vacuum_max_time

maximum time

 

ncm_csq1d_get_reltol ()

gdouble
ncm_csq1d_get_reltol (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the relative tolerance.


ncm_csq1d_get_abstol ()

gdouble
ncm_csq1d_get_abstol (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the absolute tolerance to abstol .


ncm_csq1d_get_ti ()

gdouble
ncm_csq1d_get_ti (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the initial time $t_i$.


ncm_csq1d_get_tf ()

gdouble
ncm_csq1d_get_tf (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the initial time $t_f$.


ncm_csq1d_get_adiab_threshold ()

gdouble
ncm_csq1d_get_adiab_threshold (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the adiabatic threshold $A_t$.


ncm_csq1d_get_prop_threshold ()

gdouble
ncm_csq1d_get_prop_threshold (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the propagator threshold $P_t$.


ncm_csq1d_get_save_evol ()

gboolean
ncm_csq1d_get_save_evol (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

whether the evolution will be saved.


ncm_csq1d_get_initial_condition_type ()

NcmCSQ1DInitialStateType
ncm_csq1d_get_initial_condition_type (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the initial condition type.


ncm_csq1d_get_vacuum_reltol ()

gdouble
ncm_csq1d_get_vacuum_reltol (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the relative tolerance for the vacuum definition.


ncm_csq1d_get_vacuum_max_time ()

gdouble
ncm_csq1d_get_vacuum_max_time (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

the maximum time for the vacuum search.


ncm_csq1d_eval_xi ()

gdouble
ncm_csq1d_eval_xi (NcmCSQ1D *csq1d,
                   NcmModel *model,
                   const gdouble t);

[virtual eval_xi]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\xi$


ncm_csq1d_eval_nu ()

gdouble
ncm_csq1d_eval_nu (NcmCSQ1D *csq1d,
                   NcmModel *model,
                   const gdouble t);

[virtual eval_nu]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\nu$


ncm_csq1d_eval_nu2 ()

gdouble
ncm_csq1d_eval_nu2 (NcmCSQ1D *csq1d,
                    NcmModel *model,
                    const gdouble t);

[virtual eval_nu2]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\nu^2$


ncm_csq1d_eval_m ()

gdouble
ncm_csq1d_eval_m (NcmCSQ1D *csq1d,
                  NcmModel *model,
                  const gdouble t);

[virtual eval_m]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$m$


ncm_csq1d_eval_int_1_m ()

gdouble
ncm_csq1d_eval_int_1_m (NcmCSQ1D *csq1d,
                        NcmModel *model,
                        const gdouble t);

[virtual eval_int_1_m]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\int 1/m \mathrm{d}t$.


ncm_csq1d_eval_int_mnu2 ()

gdouble
ncm_csq1d_eval_int_mnu2 (NcmCSQ1D *csq1d,
                         NcmModel *model,
                         const gdouble t);

[virtual eval_int_mnu2]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\int m\nu^2 \mathrm{d}t$.


ncm_csq1d_eval_int_qmnu2 ()

gdouble
ncm_csq1d_eval_int_qmnu2 (NcmCSQ1D *csq1d,
                          NcmModel *model,
                          const gdouble t);

[virtual eval_int_qmnu2]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\int \left(\int 1/m \mathrm{d}t\right) m\nu^2 \mathrm{d}t$.


ncm_csq1d_eval_int_q2mnu2 ()

gdouble
ncm_csq1d_eval_int_q2mnu2 (NcmCSQ1D *csq1d,
                           NcmModel *model,
                           const gdouble t);

[virtual eval_int_q2mnu2]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$\int \left(\int 1/m \mathrm{d}t\right)^2 m\nu^2 \mathrm{d}t$.


ncm_csq1d_eval_F1 ()

gdouble
ncm_csq1d_eval_F1 (NcmCSQ1D *csq1d,
                   NcmModel *model,
                   const gdouble t);

[virtual eval_F1]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$F_1$


ncm_csq1d_eval_F2 ()

gdouble
ncm_csq1d_eval_F2 (NcmCSQ1D *csq1d,
                   NcmModel *model,
                   const gdouble t);

[virtual eval_F2]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

Returns

$F_2$


ncm_csq1d_prepare ()

void
ncm_csq1d_prepare (NcmCSQ1D *csq1d,
                   NcmModel *model);

Prepares the object using model . It integrates the system from the initial time to the final time. If the NcmCSQ1DInitialStateType is set to NCM_CSQ1D_INITIAL_CONDITION_TYPE_AD_HOC, the initial conditions must be set using ncm_csq1d_set_init_cond(). Otherwise, the initial conditions are automatically set using the chosen method. See ncm_csq1d_set_initial_condition_type().

The initial conditions based on the vacuum are controlled by the parameters ncm_csq1d_set_vacuum_reltol() and ncm_csq1d_set_vacuum_max_time().

[virtual prepare]

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

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]

Returns

the time array of the computed steps.

[transfer full][element-type gdouble]


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 . If both times are adiabatic, the time closer to the adiabatic limit is chosen. If both times are non-adiabatic, the function returns FALSE.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t0

time lower bound $t_0$

 

t1

time upper bound $t_1$

 

reltol

relative tolerance

 

ti

adiabatic time limit $t_i$.

[out]

Returns

whether the time limit was found.


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)$.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t0

time lower bound $t_0$

 

t1

time upper bound $t_1$

 

border_eps

border epsilon $\epsilon$

 

F1_min

the value of $F_1(t_\mathrm{min})$.

[out]

t_Bl

the value of $t_{B,\mathrm{lower}}$.

[out]

t_Bu

the value of $t_{B,\mathrm{upper}}$.

[out]

Returns

the time $t_\mathrm{min}$.


ncm_csq1d_compute_adiab ()

NcmCSQ1DState *
ncm_csq1d_compute_adiab (NcmCSQ1D *csq1d,
                         NcmModel *model,
                         const gdouble t,
                         NcmCSQ1DState *state,
                         gdouble *alpha_reltol,
                         gdouble *dgamma_reltol);

Computes the value of the adiabatic approximation of the variables $\alpha$ and $\Delta\gamma$ at $t$. This method computes the adiabatic approximation using the adiabatic series up to the order 2 or 4, depending on the value of the property max-order-2. The result is stored in the state object in the frame NCM_CSQ1D_FRAME_ADIAB1. Use ncm_csq1d_change_frame() to change the frame.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

alpha_reltol

estimated error on $\alpha(t)$.

[out][allow-none]

dgamma_reltol

estimated error on $\Delta\gamma(t)$.

[out][allow-none]

Returns

the state object with the result.

[transfer none]


ncm_csq1d_compute_adiab_frame ()

NcmCSQ1DState *
ncm_csq1d_compute_adiab_frame (NcmCSQ1D *csq1d,
                               NcmModel *model,
                               const NcmCSQ1DFrame frame,
                               const gdouble t,
                               NcmCSQ1DState *state,
                               gdouble *alpha_reltol,
                               gdouble *dgamma_reltol);

As ncm_csq1d_compute_adiab(), but changes the frame of the result to frame .

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

frame

the frame to change

 

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

alpha_reltol

estimated error on $\alpha(t)$.

[out][allow-none]

dgamma_reltol

estimated error on $\Delta\gamma(t)$.

[out][allow-none]

Returns

the state object with the result.

[transfer none]


ncm_csq1d_compute_nonadiab ()

NcmCSQ1DState *
ncm_csq1d_compute_nonadiab (NcmCSQ1D *csq1d,
                            NcmModel *model,
                            const gdouble t,
                            NcmCSQ1DState *state);

Computes the value of the non-adiabatic VDC order two in the variables $\chi$ and $U$ at $t$. The result is stored in the state object in the frame NCM_CSQ1D_FRAME_NONADIAB1. Use ncm_csq1d_change_frame() to change the frame.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

Returns

the state object with the result.

[transfer none]


ncm_csq1d_compute_H ()

NcmCSQ1DState *
ncm_csq1d_compute_H (NcmCSQ1D *csq1d,
                     NcmModel *model,
                     const gdouble t,
                     NcmCSQ1DState *state);

Computes the Hamiltonian vector state of the original frame at $t$. The result is stored in the state object in the frame NCM_CSQ1D_FRAME_ORIG. Use ncm_csq1d_change_frame() to change the frame.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

Returns

the state object with the result.

[transfer none]


ncm_csq1d_eval_at ()

NcmCSQ1DState *
ncm_csq1d_eval_at (NcmCSQ1D *csq1d,
                   NcmModel *model,
                   const gdouble t,
                   NcmCSQ1DState *state);

Computes the system state at $t$, the result is stored in the state object in the frame NCM_CSQ1D_FRAME_ORIG. Use ncm_csq1d_change_frame() to change the frame.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

Returns

the state object with the result.

[transfer none]


ncm_csq1d_eval_at_frame ()

NcmCSQ1DState *
ncm_csq1d_eval_at_frame (NcmCSQ1D *csq1d,
                         NcmModel *model,
                         const NcmCSQ1DFrame frame,
                         const gdouble t,
                         NcmCSQ1DState *state);

Computes the system state at $t$, the result is stored in the state object in the frame frame .

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

frame

a NcmCSQ1DFrame

 

t

time $t$

 

state

a NcmCSQ1DState to store the result

 

Returns

the state object with the result.

[transfer none]


ncm_csq1d_change_frame ()

NcmCSQ1DState *
ncm_csq1d_change_frame (NcmCSQ1D *csq1d,
                        NcmModel *model,
                        NcmCSQ1DState *state,
                        NcmCSQ1DFrame frame);

Changes the frame of the state object to the given frame . The state object must be a valid state object, it cannot be NULL. The state object is updated in place.

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

state

a NcmCSQ1DState

 

frame

which frame to use

 

Returns

the state object in the new frame.

[transfer none]


ncm_csq1d_prepare_prop ()

void
ncm_csq1d_prepare_prop (NcmCSQ1D *csq1d,
                        NcmModel *model,
                        const gdouble ti,
                        const gdouble tii,
                        const gdouble tf);

Computes the propagator for the given csq1d and model from ti to tf . The propagator is computed using the integral approximation time tii . The propagator is stored in the csq1d object and can be used to compute the propagator a state from ti to any time between tii and tf .

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

ti

initial time $t_i$

 

tii

integral approximation time $t_{\mathrm{i}i}$

 

tf

max time $t_f$

 

ncm_csq1d_get_tf_prop ()

gdouble
ncm_csq1d_get_tf_prop (NcmCSQ1D *csq1d);

Parameters

csq1d

a NcmCSQ1D

 

Returns

current final time $t_f$ for the propagator.


ncm_csq1d_compute_prop_vector ()

NcmCSQ1DState *
ncm_csq1d_compute_prop_vector (NcmCSQ1D *csq1d,
                               NcmModel *model,
                               const gdouble t,
                               NcmCSQ1DState *state);

ncm_csq1d_evolve_prop_vector ()

NcmCSQ1DState *
ncm_csq1d_evolve_prop_vector (NcmCSQ1D *csq1d,
                              NcmModel *model,
                              NcmCSQ1DState *initial_state,
                              const NcmCSQ1DFrame frame,
                              const gdouble t,
                              NcmCSQ1DState *state);

Uses the propagator to evolve the state vector initial_state to time $t$ and at frame frame .

Parameters

csq1d

a NcmCSQ1D

 

model

a NcmModel.

[allow-none]

initial_state

initial state

 

frame

frame

 

t

time $t$

 

Returns

the state vector.

[transfer none]

Types and Values

NCM_TYPE_CSQ1D

#define NCM_TYPE_CSQ1D (ncm_csq1d_get_type ())

struct NcmCSQ1DClass

struct NcmCSQ1DClass {
};

enum NcmCSQ1DEvolState

Variables describing the system evolution state. The state NCM_CSQ1D_EVOL_STATE_ADIABATIC is used to describe the adiabatic evolution of the system, this state use the frame NCM_CSQ1D_FRAME_ADIAB1 with the variables $(\alpha,\, \delta\gamma)$ to compute the evolution. The state NCM_CSQ1D_EVOL_STATE_UP and NCM_CSQ1D_EVOL_STATE_UM are used to describe the non-adiabatic evolution of the system, these states use the frame NCM_CSQ1D_FRAME_ORIG with the variables $(\chi,\, U_+)$ and $(\chi,\, U_-)$ to compute the evolution, respectively.

Members

NCM_CSQ1D_EVOL_STATE_INVALID

Invalid state

 

NCM_CSQ1D_EVOL_STATE_ADIABATIC

Adiabatic state variables $(\alpha,\, \delta\gamma)$

 

NCM_CSQ1D_EVOL_STATE_UP

$(\chi,\, U_+)$ state variables

 

NCM_CSQ1D_EVOL_STATE_UM

$(\chi,\, U_-)$ state variables

 

enum NcmCSQ1DInitialStateType

Members

NCM_CSQ1D_INITIAL_CONDITION_TYPE_AD_HOC

   

NCM_CSQ1D_INITIAL_CONDITION_TYPE_ADIABATIC2

   

NCM_CSQ1D_INITIAL_CONDITION_TYPE_ADIABATIC4

   

NCM_CSQ1D_INITIAL_CONDITION_TYPE_NONADIABATIC2

   

enum NcmCSQ1DFrame

Frames for the system.

Members

NCM_CSQ1D_FRAME_ORIG

Original frame

 

NCM_CSQ1D_FRAME_ADIAB1

Adiabatic frame 1

 

NCM_CSQ1D_FRAME_ADIAB2

Adiabatic frame 2

 

NCM_CSQ1D_FRAME_NONADIAB1

Non-adiabatic frame 1

 

NCM_CSQ1D_FRAME_NONADIAB2

Non-adiabatic frame 2

 

NcmCSQ1D

typedef struct _NcmCSQ1D NcmCSQ1D;

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: 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 “tf” property

  “tf”                       double

The final time t_f.

Owner: NcmCSQ1D

Flags: Read / Write / Construct

Default value: 1


The “ti” property

  “ti”                       double

The initial time t_i.

Owner: NcmCSQ1D

Flags: Read / Write / Construct

Default value: 0


The “vacuum-max-time” property

  “vacuum-max-time”          double

The vacuum maximum time.

Owner: NcmCSQ1D

Flags: Read / Write / Construct

Default value: 1


The “vacuum-reltol” property

  “vacuum-reltol”            double

The vacuum relative tolerance.

Owner: NcmCSQ1D

Flags: Read / Write / Construct

Allowed values: [2.22045e-16,1]

Default value: 1e-05


The “vacuum-type” property

  “vacuum-type”              NcmCSQ1DInitialStateType

The vacuum type.

Owner: NcmCSQ1D

Flags: Read / Write / Construct

Default value: NCM_CSQ1D_INITIAL_CONDITION_TYPE_AD_HOC