![]() |
COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
|
this class provides the controller_mv features to COMPASS More...
#include <sutra_controller_mv.h>
Public Member Functions | |
sutra_controller_mv (CarmaContext *context, long nvalid, long nslope, long nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro) | |
sutra_controller_mv (const sutra_controller_mv &controller) | |
~sutra_controller_mv () | |
string | get_type () |
int | svdec_imat () |
int | build_cmat (const char *dmtype, char *method) |
int | build_cmat (Tcomp cond) |
int | frame_delay () |
int | comp_com () |
!!! YOU MUST set d_centroids before calling it!!!! More... | |
int | set_modal_gains (Tcomp *mgain) |
int | set_cmat (Tcomp *cmat) |
int | set_imat (Tcomp *imat) |
int | load_noisemat (Tcomp *noise) |
int | do_covmat (SutraDm *ydm, char *method, int *indx_pup, long dim, Tcomp *xpos, Tcomp *ypos, long Nkl, Tcomp norm, Tcomp ampli) |
int | do_geomat (CarmaObj< Tcomp > *d_geocov, CarmaObj< Tcomp > *d_IF, long n_pts, Tcomp ampli) |
int | piston_filt (CarmaObj< Tcomp > *d_statcov) |
int | piston_filt_cphim (CarmaObj< Tcomp > *d_cphim, Tcomp *F) |
int | filter_cphim (Tcomp *F, Tcomp *Nact) |
int | filter_cmat (Tcomp cond) |
int | invgen (CarmaObj< Tcomp > *d_mat, Tcomp cond, int job) |
int | invgen (CarmaObj< Tcomp > *d_mat, CarmaHostObj< Tcomp > *h_eigen, Tcomp cond) |
int | invgen_cpu (CarmaObj< Tcomp > *d_mat, CarmaHostObj< Tcomp > *h_eigen, Tcomp cond) |
int | DDiago (CarmaObj< Tcomp > *d_statcov, CarmaObj< Tcomp > *d_geocov) |
int | load_covmat (Tcomp *covmat) |
int | load_klbasis (Tcomp *klbasis) |
int | compute_Cmm (SutraAtmos *atmos, SutraSensors *sensors, double *L0, double *cn2, double *alphaX, double *alphaY, double diamTel, double cobs) |
int | compute_Cphim (SutraAtmos *atmos, SutraSensors *sensors, SutraDms *dms, double *L0, double *cn2, double *alphaX, double *alphaY, double *X, double *Y, double *xactu, double *yactu, double diamTel, double *k2, long *NlayerDm, long *indLayerDm, double FoV, double *pitch, double *alt_dm) |
![]() | |
SutraController (CarmaContext *context, int nvalid, int nslope, int nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro) | |
virtual | ~SutraController () |
int | nactu () |
int | nslope () |
cublasHandle_t | cublas_handle () |
void | init_voltage () |
int | set_centroids_ref (Tcomp *centroids_ref) |
int | add_perturb_voltage (string name, float *perturb, int N) |
int | set_perturb_voltage (string name, float *perturb, int N) |
int | remove_perturb_voltage (string name) |
int | reset_perturb_voltage () |
int | enable_perturb_voltage (string name) |
int | disable_perturb_voltage (string name) |
int | set_com (float *com, int nElem) |
int | set_open_loop (int open_loop_status, bool rst=true) |
int | clip_commands () |
int | comp_voltage () |
int | comp_latency () |
int | set_delay (float delay) |
int | set_volt_min (float volt_min) |
int | set_volt_max (float volt_max) |
int | set_val_max (float val_max) |
int | set_gain (float gain) |
int | reset_coms () |
int | command_delay () |
int | add_perturb () |
Additional Inherited Members | |
![]() | |
mutex | comp_voltage_mutex |
this class provides the controller_mv features to COMPASS
Definition at line 54 of file sutra_controller_mv.h.
sutra_controller_mv< Tcomp, Tout >::sutra_controller_mv | ( | CarmaContext * | context, |
long | nvalid, | ||
long | nslope, | ||
long | nactu, | ||
float | delay, | ||
SutraDms * | dms, | ||
int * | idx_dms, | ||
int | ndm, | ||
int * | idx_centro, | ||
int | ncentro | ||
) |
sutra_controller_mv< Tcomp, Tout >::sutra_controller_mv | ( | const sutra_controller_mv< Tcomp, Tout > & | controller | ) |
sutra_controller_mv< Tcomp, Tout >::~sutra_controller_mv | ( | ) |
int sutra_controller_mv< Tcomp, Tout >::build_cmat | ( | const char * | dmtype, |
char * | method | ||
) |
int sutra_controller_mv< Tcomp, Tout >::build_cmat | ( | Tcomp | cond | ) |
|
virtual |
!!! YOU MUST set d_centroids before calling it!!!!
Implements SutraController< Tcomp, Tout >.
int sutra_controller_mv< Tcomp, Tout >::compute_Cmm | ( | SutraAtmos * | atmos, |
SutraSensors * | sensors, | ||
double * | L0, | ||
double * | cn2, | ||
double * | alphaX, | ||
double * | alphaY, | ||
double | diamTel, | ||
double | cobs | ||
) |
int sutra_controller_mv< Tcomp, Tout >::compute_Cphim | ( | SutraAtmos * | atmos, |
SutraSensors * | sensors, | ||
SutraDms * | dms, | ||
double * | L0, | ||
double * | cn2, | ||
double * | alphaX, | ||
double * | alphaY, | ||
double * | X, | ||
double * | Y, | ||
double * | xactu, | ||
double * | yactu, | ||
double | diamTel, | ||
double * | k2, | ||
long * | NlayerDm, | ||
long * | indLayerDm, | ||
double | FoV, | ||
double * | pitch, | ||
double * | alt_dm | ||
) |
int sutra_controller_mv< Tcomp, Tout >::DDiago | ( | CarmaObj< Tcomp > * | d_statcov, |
CarmaObj< Tcomp > * | d_geocov | ||
) |
int sutra_controller_mv< Tcomp, Tout >::do_covmat | ( | SutraDm * | ydm, |
char * | method, | ||
int * | indx_pup, | ||
long | dim, | ||
Tcomp * | xpos, | ||
Tcomp * | ypos, | ||
long | Nkl, | ||
Tcomp | norm, | ||
Tcomp | ampli | ||
) |
int sutra_controller_mv< Tcomp, Tout >::do_geomat | ( | CarmaObj< Tcomp > * | d_geocov, |
CarmaObj< Tcomp > * | d_IF, | ||
long | n_pts, | ||
Tcomp | ampli | ||
) |
int sutra_controller_mv< Tcomp, Tout >::filter_cmat | ( | Tcomp | cond | ) |
int sutra_controller_mv< Tcomp, Tout >::filter_cphim | ( | Tcomp * | F, |
Tcomp * | Nact | ||
) |
int sutra_controller_mv< Tcomp, Tout >::frame_delay | ( | ) |
|
virtual |
Implements SutraController< Tcomp, Tout >.
int sutra_controller_mv< Tcomp, Tout >::invgen | ( | CarmaObj< Tcomp > * | d_mat, |
CarmaHostObj< Tcomp > * | h_eigen, | ||
Tcomp | cond | ||
) |
int sutra_controller_mv< Tcomp, Tout >::invgen | ( | CarmaObj< Tcomp > * | d_mat, |
Tcomp | cond, | ||
int | job | ||
) |
int sutra_controller_mv< Tcomp, Tout >::invgen_cpu | ( | CarmaObj< Tcomp > * | d_mat, |
CarmaHostObj< Tcomp > * | h_eigen, | ||
Tcomp | cond | ||
) |
int sutra_controller_mv< Tcomp, Tout >::load_covmat | ( | Tcomp * | covmat | ) |
int sutra_controller_mv< Tcomp, Tout >::load_klbasis | ( | Tcomp * | klbasis | ) |
int sutra_controller_mv< Tcomp, Tout >::load_noisemat | ( | Tcomp * | noise | ) |
int sutra_controller_mv< Tcomp, Tout >::piston_filt | ( | CarmaObj< Tcomp > * | d_statcov | ) |
int sutra_controller_mv< Tcomp, Tout >::piston_filt_cphim | ( | CarmaObj< Tcomp > * | d_cphim, |
Tcomp * | F | ||
) |
int sutra_controller_mv< Tcomp, Tout >::set_cmat | ( | Tcomp * | cmat | ) |
int sutra_controller_mv< Tcomp, Tout >::set_imat | ( | Tcomp * | imat | ) |
int sutra_controller_mv< Tcomp, Tout >::set_modal_gains | ( | Tcomp * | mgain | ) |
int sutra_controller_mv< Tcomp, Tout >::svdec_imat | ( | ) |
cublasHandle_t sutra_controller_mv< Tcomp, Tout >::cublas_handle |
Definition at line 78 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_cenbuff |
Definition at line 72 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_cmat |
Definition at line 57 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_Cmm |
Definition at line 64 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_compbuff |
Definition at line 73 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_compbuff2 |
Definition at line 74 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_covmat |
Definition at line 61 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_Cphim |
Definition at line 65 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_err |
Definition at line 76 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_gain |
Definition at line 58 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_imat |
Definition at line 56 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_KLbasis |
Definition at line 62 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_noisemat |
Definition at line 63 of file sutra_controller_mv.h.
CarmaObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::d_olmeas |
Definition at line 75 of file sutra_controller_mv.h.
CarmaHostObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::h_Cmmeigenvals |
Definition at line 67 of file sutra_controller_mv.h.
CarmaHostObj<Tcomp>* sutra_controller_mv< Tcomp, Tout >::h_eigenvals |
Definition at line 68 of file sutra_controller_mv.h.