COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
SutraDm Class Reference

this class provides the dm features to COMPASS More...

#include <sutra_dm.h>

Collaboration diagram for SutraDm:

Public Member Functions

cublasHandle_t cublas_handle ()
 
cusparseHandle_t cusparse_handle ()
 
 SutraDm (CarmaContext *context, const char *type, float altitude, long dim, long nactus, long influsize, long ninflupos, long n_npoints, float push4imat, long nord, float dx, float dy, float thetaML, float G, int device)
 
 ~SutraDm ()
 
int nact ()
 
int pzt_loadarrays (float *influ, int *influpos, int *npoints, int *istart, int *xoff, int *yoff)
 
int kl_loadarrays (float *rabas, float *azbas, int *ord, float *cr, float *cp)
 
int tt_loadarrays (float *influ)
 
int reset_shape ()
 
int comp_shape ()
 
int comp_shape (uint16_t *comm)
 
int comp_shape (float *comm)
 
int comp_oneactu (int nactu, float ampli)
 
int kl_floloadarrays (float *covmat, float *filter, float *evals, float *bas)
 
template<class T >
int get_IF (T *IF, int *indx_pup, long nb_pts, float ampli)
 
template<class T >
int get_IF_sparse (CarmaSparseObj< T > *&d_IFsparse, int *indx_pup, long nb_pts, float ampli, int puponly)
 
int do_geomat (float *d_geocov, float *d_IF, long n_pts)
 
template<class T >
int do_geomat_from_sparse (T *d_geocov, CarmaSparseObj< T > *d_IFsparse)
 
int DDiago (CarmaObj< float > *d_statcov, CarmaObj< float > *d_geocov)
 
int compute_KLbasis (float *xpos, float *ypos, int *indx, long dim, float norm, float ampli)
 
int piston_filt (CarmaObj< float > *d_statcov)
 
int set_registration (float dx, float dy, float thetaML, float G)
 

Public Attributes

int device
 
string type
 
float altitude
 
long nactus
 
long influsize
 
long dim
 
float push4imat
 
float volt_min
 
float volt_max
 
float dx
 
float dy
 
float thetaML
 
float G
 
uint16_t val_max
 
SutraPhased_shape
 
CarmaObj< float > * d_com
 
CarmaObj< float > * d_influ
 
CarmaObj< int > * d_istart
 
CarmaObj< int > * d_npoints
 
CarmaObj< int > * d_influpos
 
CarmaObj< int > * d_xoff
 
CarmaObj< int > * d_yoff
 
CarmaObj< float > * d_KLbasis
 
SutraKLd_kl
 
CarmaContextcurrent_context
 

Detailed Description

this class provides the dm features to COMPASS

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

Definition at line 48 of file sutra_dm.h.

Constructor & Destructor Documentation

◆ SutraDm()

SutraDm::SutraDm ( CarmaContext context,
const char *  type,
float  altitude,
long  dim,
long  nactus,
long  influsize,
long  ninflupos,
long  n_npoints,
float  push4imat,
long  nord,
float  dx,
float  dy,
float  thetaML,
float  G,
int  device 
)

◆ ~SutraDm()

SutraDm::~SutraDm ( )

Member Function Documentation

◆ comp_oneactu()

int SutraDm::comp_oneactu ( int  nactu,
float  ampli 
)

◆ comp_shape() [1/3]

int SutraDm::comp_shape ( )

◆ comp_shape() [2/3]

int SutraDm::comp_shape ( float *  comm)

◆ comp_shape() [3/3]

int SutraDm::comp_shape ( uint16_t *  comm)

◆ compute_KLbasis()

int SutraDm::compute_KLbasis ( float *  xpos,
float *  ypos,
int *  indx,
long  dim,
float  norm,
float  ampli 
)

◆ cublas_handle()

cublasHandle_t SutraDm::cublas_handle ( )

Definition at line 88 of file sutra_dm.h.

Here is the call graph for this function:

◆ cusparse_handle()

cusparseHandle_t SutraDm::cusparse_handle ( )

Definition at line 89 of file sutra_dm.h.

Here is the call graph for this function:

◆ DDiago()

int SutraDm::DDiago ( CarmaObj< float > *  d_statcov,
CarmaObj< float > *  d_geocov 
)

◆ do_geomat()

int SutraDm::do_geomat ( float *  d_geocov,
float *  d_IF,
long  n_pts 
)

◆ do_geomat_from_sparse()

template<class T >
int SutraDm::do_geomat_from_sparse ( T *  d_geocov,
CarmaSparseObj< T > *  d_IFsparse 
)

◆ get_IF()

template<class T >
int SutraDm::get_IF ( T *  IF,
int *  indx_pup,
long  nb_pts,
float  ampli 
)

◆ get_IF_sparse()

template<class T >
int SutraDm::get_IF_sparse ( CarmaSparseObj< T > *&  d_IFsparse,
int *  indx_pup,
long  nb_pts,
float  ampli,
int  puponly 
)

◆ kl_floloadarrays()

int SutraDm::kl_floloadarrays ( float *  covmat,
float *  filter,
float *  evals,
float *  bas 
)

◆ kl_loadarrays()

int SutraDm::kl_loadarrays ( float *  rabas,
float *  azbas,
int *  ord,
float *  cr,
float *  cp 
)

◆ nact()

int SutraDm::nact ( )

◆ piston_filt()

int SutraDm::piston_filt ( CarmaObj< float > *  d_statcov)

◆ pzt_loadarrays()

int SutraDm::pzt_loadarrays ( float *  influ,
int *  influpos,
int *  npoints,
int *  istart,
int *  xoff,
int *  yoff 
)

◆ reset_shape()

int SutraDm::reset_shape ( )

◆ set_registration()

int SutraDm::set_registration ( float  dx,
float  dy,
float  thetaML,
float  G 
)

◆ tt_loadarrays()

int SutraDm::tt_loadarrays ( float *  influ)

Member Data Documentation

◆ altitude

float SutraDm::altitude

Definition at line 52 of file sutra_dm.h.

◆ current_context

CarmaContext* SutraDm::current_context

Definition at line 87 of file sutra_dm.h.

◆ d_com

CarmaObj<float>* SutraDm::d_com

Definition at line 68 of file sutra_dm.h.

◆ d_influ

CarmaObj<float>* SutraDm::d_influ

Definition at line 70 of file sutra_dm.h.

◆ d_influpos

CarmaObj<int>* SutraDm::d_influpos

Definition at line 75 of file sutra_dm.h.

◆ d_istart

CarmaObj<int>* SutraDm::d_istart

Definition at line 72 of file sutra_dm.h.

◆ d_kl

SutraKL* SutraDm::d_kl

Definition at line 85 of file sutra_dm.h.

◆ d_KLbasis

CarmaObj<float>* SutraDm::d_KLbasis

Definition at line 80 of file sutra_dm.h.

◆ d_npoints

CarmaObj<int>* SutraDm::d_npoints

Definition at line 73 of file sutra_dm.h.

◆ d_shape

SutraPhase* SutraDm::d_shape

Definition at line 66 of file sutra_dm.h.

◆ d_xoff

CarmaObj<int>* SutraDm::d_xoff

Definition at line 78 of file sutra_dm.h.

◆ d_yoff

CarmaObj<int>* SutraDm::d_yoff

Definition at line 79 of file sutra_dm.h.

◆ device

int SutraDm::device

Definition at line 50 of file sutra_dm.h.

◆ dim

long SutraDm::dim

Definition at line 55 of file sutra_dm.h.

◆ dx

float SutraDm::dx

Definition at line 59 of file sutra_dm.h.

◆ dy

float SutraDm::dy

Definition at line 60 of file sutra_dm.h.

◆ G

float SutraDm::G

Definition at line 62 of file sutra_dm.h.

◆ influsize

long SutraDm::influsize

Definition at line 54 of file sutra_dm.h.

◆ nactus

long SutraDm::nactus

Definition at line 53 of file sutra_dm.h.

◆ push4imat

float SutraDm::push4imat

Definition at line 56 of file sutra_dm.h.

◆ thetaML

float SutraDm::thetaML

Definition at line 61 of file sutra_dm.h.

◆ type

string SutraDm::type

Definition at line 51 of file sutra_dm.h.

◆ val_max

uint16_t SutraDm::val_max

Definition at line 64 of file sutra_dm.h.

◆ volt_max

float SutraDm::volt_max

Definition at line 58 of file sutra_dm.h.

◆ volt_min

float SutraDm::volt_min

Definition at line 57 of file sutra_dm.h.


The documentation for this class was generated from the following file: