![]() |
COMPASS
5.4.4
End-to-end AO simulation tool using GPU acceleration
|
this class provides the controller_generic features to COMPASS More...
#include <sutra_controller_generic.h>
Public Member Functions | |
sutra_controller_generic (CarmaContext *context, long nslope, long nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro, int nstates) | |
sutra_controller_generic (const sutra_controller_generic &controller) | |
~sutra_controller_generic () | |
string | get_type () |
string | get_commandlaw () |
int | set_decayFactor (float *decayFactor) |
int | set_modal_gains (float *gain) |
int | set_cmat (float *cmat) |
int | set_matE (float *matE) |
int | set_commandlaw (string law) |
int | set_polc (bool p) |
int | set_imat (float *imat) |
int | set_leaky_factor (Tcomp factor) |
int | comp_polc () |
int | comp_com () |
!!! YOU MUST set d_centroids before calling it!!!! More... | |
int | fill_cmatPadded () |
int | distribute_cmat () |
![]() | |
SutraController (CarmaContext *context, 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 () |
int | comp_polc (CarmaObj< Tcomp > &sk, CarmaObj< Tcomp > &iMat, CarmaObj< Tcomp > &ol_meas) |
Compute the open loop measurements and effective commands. More... | |
Public Attributes | |
CarmaObj< Tcomp > * | d_matE |
CarmaObj< Tcomp > * | d_cmat |
CarmaObj< Tcomp > * | d_cmatPadded |
CarmaObj< Tcomp > * | d_gain |
CarmaObj< Tcomp > * | d_decayFactor |
CarmaObj< Tcomp > * | d_compbuff |
CarmaObj< Tcomp > * | d_compbuff2 |
CarmaObj< Tcomp > * | d_olmeas |
CarmaObj< Tcomp > * | d_imat |
std::vector< CarmaObj< Tcomp > * > | d_err_ngpu |
std::vector< CarmaObj< Tcomp > * > | d_centroids_ngpu |
std::vector< CarmaObj< Tcomp > * > | d_cmat_ngpu |
std::vector< int > | P2Pdevices |
std::vector< cudaEvent_t > | events |
cudaEvent_t | start_mvm_event |
std::vector< cudaStream_t > | streams |
bool | polc |
int | nstates |
Tcomp | leaky_factor |
string | command_law |
![]() | |
CarmaContext * | current_context |
int | device |
int | open_loop |
Tcomp | delay |
Tcomp | gain |
float | volt_min |
float | volt_max |
int | nactus |
int | nslopes |
Tout | val_max |
Tcomp | a |
Tcomp | b |
Tcomp | c |
vector< SutraDm * > | d_dmseen |
CarmaObj< Tcomp > * | d_centroids |
CarmaObj< Tcomp > * | d_centroids_padded |
CarmaObj< Tcomp > * | d_com |
CarmaObj< Tcomp > * | d_com_padded |
CarmaObj< Tcomp > * | d_com_clipped |
CarmaObj< Tout > * | d_voltage |
CarmaObj< Tcomp > * | d_com1 |
vector< int > | centro_idx |
std::deque< CarmaObj< Tcomp > * > | d_circular_coms |
map< string, tuple< CarmaObj< Tcomp > *, int, bool > > | d_perturb_map |
cudaStream_t | mainStream |
Additional Inherited Members | |
![]() | |
mutex | comp_voltage_mutex |
this class provides the controller_generic features to COMPASS
Definition at line 24 of file sutra_controller_generic.h.
sutra_controller_generic< Tcomp, Tout >::sutra_controller_generic | ( | CarmaContext * | context, |
long | nslope, | ||
long | nactu, | ||
float | delay, | ||
SutraDms * | dms, | ||
int * | idx_dms, | ||
int | ndm, | ||
int * | idx_centro, | ||
int | ncentro, | ||
int | nstates | ||
) |
sutra_controller_generic< Tcomp, Tout >::sutra_controller_generic | ( | const sutra_controller_generic< Tcomp, Tout > & | controller | ) |
sutra_controller_generic< Tcomp, Tout >::~sutra_controller_generic | ( | ) |
|
virtual |
!!! YOU MUST set d_centroids before calling it!!!!
Implements SutraController< Tcomp, Tout >.
int sutra_controller_generic< Tcomp, Tout >::comp_polc | ( | ) |
int sutra_controller_generic< Tcomp, Tout >::distribute_cmat | ( | ) |
int sutra_controller_generic< Tcomp, Tout >::fill_cmatPadded | ( | ) |
string sutra_controller_generic< Tcomp, Tout >::get_commandlaw | ( | ) |
|
virtual |
Implements SutraController< Tcomp, Tout >.
int sutra_controller_generic< Tcomp, Tout >::set_cmat | ( | float * | cmat | ) |
int sutra_controller_generic< Tcomp, Tout >::set_commandlaw | ( | string | law | ) |
int sutra_controller_generic< Tcomp, Tout >::set_decayFactor | ( | float * | decayFactor | ) |
int sutra_controller_generic< Tcomp, Tout >::set_imat | ( | float * | imat | ) |
int sutra_controller_generic< Tcomp, Tout >::set_leaky_factor | ( | Tcomp | factor | ) |
int sutra_controller_generic< Tcomp, Tout >::set_matE | ( | float * | matE | ) |
int sutra_controller_generic< Tcomp, Tout >::set_modal_gains | ( | float * | gain | ) |
int sutra_controller_generic< Tcomp, Tout >::set_polc | ( | bool | p | ) |
string sutra_controller_generic< Tcomp, Tout >::command_law |
Definition at line 45 of file sutra_controller_generic.h.
std::vector<CarmaObj<Tcomp> *> sutra_controller_generic< Tcomp, Tout >::d_centroids_ngpu |
Definition at line 36 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_cmat |
Definition at line 27 of file sutra_controller_generic.h.
std::vector<CarmaObj<Tcomp> *> sutra_controller_generic< Tcomp, Tout >::d_cmat_ngpu |
Definition at line 37 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_cmatPadded |
Definition at line 28 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_compbuff |
Definition at line 31 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_compbuff2 |
Definition at line 32 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_decayFactor |
Definition at line 30 of file sutra_controller_generic.h.
std::vector<CarmaObj<Tcomp> *> sutra_controller_generic< Tcomp, Tout >::d_err_ngpu |
Definition at line 35 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_gain |
Definition at line 29 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_imat |
Definition at line 34 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_matE |
Definition at line 26 of file sutra_controller_generic.h.
CarmaObj<Tcomp>* sutra_controller_generic< Tcomp, Tout >::d_olmeas |
Definition at line 33 of file sutra_controller_generic.h.
std::vector<cudaEvent_t> sutra_controller_generic< Tcomp, Tout >::events |
Definition at line 39 of file sutra_controller_generic.h.
Tcomp sutra_controller_generic< Tcomp, Tout >::leaky_factor |
Definition at line 44 of file sutra_controller_generic.h.
int sutra_controller_generic< Tcomp, Tout >::nstates |
Definition at line 43 of file sutra_controller_generic.h.
std::vector<int> sutra_controller_generic< Tcomp, Tout >::P2Pdevices |
Definition at line 38 of file sutra_controller_generic.h.
bool sutra_controller_generic< Tcomp, Tout >::polc |
Definition at line 42 of file sutra_controller_generic.h.
cudaEvent_t sutra_controller_generic< Tcomp, Tout >::start_mvm_event |
Definition at line 40 of file sutra_controller_generic.h.
std::vector<cudaStream_t> sutra_controller_generic< Tcomp, Tout >::streams |
Definition at line 41 of file sutra_controller_generic.h.