![]() |
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 () |
Public Member Functions inherited from SutraController< Tcomp, Tout > | |
| 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 |
Public Attributes inherited from SutraController< Tcomp, Tout > | |
| 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 | |
Protected Attributes inherited from SutraController< Tcomp, Tout > | |
| 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.