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

this class provides the turbulent screen features to COMPASS More...

#include <sutra_tscreen.h>

Collaboration diagram for SutraTurbuScreen:

Public Member Functions

 SutraTurbuScreen (CarmaContext *context, long size, long size2, float amplitude, float altitude, float windspeed, float winddir, float deltax, float deltay, int device)
 
 ~SutraTurbuScreen ()
 
int init_screen (float *h_A, float *h_B, unsigned int *h_istencilx, unsigned int *h_istencily, int seed)
 
int extrude (int dir)
 
int init_vk (int seed, int pupd)
 
int generate_vk (float l0, int nalias)
 
int refresh_screen ()
 
int set_seed (int seed)
 
int set_deltax (float deltax)
 
int set_deltay (float deltay)
 
int set_istencilx (unsigned int *istencil)
 
int set_istencily (unsigned int *istencil)
 

Public Attributes

int device
 
SutraPhased_tscreen
 
CarmaObj< float > * d_tscreen_o
 
CarmaObj< float > * d_mat_a
 
CarmaObj< float > * d_mat_b
 
CarmaObj< unsigned int > * d_istencilx
 
CarmaObj< unsigned int > * d_istencily
 
CarmaObj< float > * d_z
 
CarmaObj< float > * d_noise
 
CarmaObj< float > * d_ytmp
 
long screen_size
 
float r0
 
float amplitude
 
float altitude
 
float windspeed
 
float winddir
 
float deltax
 
float deltay
 
float accumx
 
float accumy
 
cudaChannelFormatDesc channel_desc
 
CarmaObj< cuFloatComplex > * d_tscreen_c
 
float norm_vk
 
bool vk_on
 
CarmaContextcurrent_context
 

Detailed Description

this class provides the turbulent screen features to COMPASS

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

Definition at line 23 of file sutra_tscreen.h.

Constructor & Destructor Documentation

◆ SutraTurbuScreen()

SutraTurbuScreen::SutraTurbuScreen ( CarmaContext context,
long  size,
long  size2,
float  amplitude,
float  altitude,
float  windspeed,
float  winddir,
float  deltax,
float  deltay,
int  device 
)

◆ ~SutraTurbuScreen()

SutraTurbuScreen::~SutraTurbuScreen ( )

Member Function Documentation

◆ extrude()

int SutraTurbuScreen::extrude ( int  dir)

◆ generate_vk()

int SutraTurbuScreen::generate_vk ( float  l0,
int  nalias 
)

◆ init_screen()

int SutraTurbuScreen::init_screen ( float *  h_A,
float *  h_B,
unsigned int *  h_istencilx,
unsigned int *  h_istencily,
int  seed 
)

◆ init_vk()

int SutraTurbuScreen::init_vk ( int  seed,
int  pupd 
)

◆ refresh_screen()

int SutraTurbuScreen::refresh_screen ( )

◆ set_deltax()

int SutraTurbuScreen::set_deltax ( float  deltax)

◆ set_deltay()

int SutraTurbuScreen::set_deltay ( float  deltay)

◆ set_istencilx()

int SutraTurbuScreen::set_istencilx ( unsigned int *  istencil)

◆ set_istencily()

int SutraTurbuScreen::set_istencily ( unsigned int *  istencil)

◆ set_seed()

int SutraTurbuScreen::set_seed ( int  seed)

Member Data Documentation

◆ accumx

float SutraTurbuScreen::accumx

Definition at line 45 of file sutra_tscreen.h.

◆ accumy

float SutraTurbuScreen::accumy

Definition at line 46 of file sutra_tscreen.h.

◆ altitude

float SutraTurbuScreen::altitude

Definition at line 39 of file sutra_tscreen.h.

◆ amplitude

float SutraTurbuScreen::amplitude

Definition at line 38 of file sutra_tscreen.h.

◆ channel_desc

cudaChannelFormatDesc SutraTurbuScreen::channel_desc

Definition at line 48 of file sutra_tscreen.h.

◆ current_context

CarmaContext* SutraTurbuScreen::current_context

Definition at line 54 of file sutra_tscreen.h.

◆ d_istencilx

CarmaObj<unsigned int>* SutraTurbuScreen::d_istencilx

Definition at line 31 of file sutra_tscreen.h.

◆ d_istencily

CarmaObj<unsigned int>* SutraTurbuScreen::d_istencily

Definition at line 32 of file sutra_tscreen.h.

◆ d_mat_a

CarmaObj<float>* SutraTurbuScreen::d_mat_a

Definition at line 29 of file sutra_tscreen.h.

◆ d_mat_b

CarmaObj<float>* SutraTurbuScreen::d_mat_b

Definition at line 30 of file sutra_tscreen.h.

◆ d_noise

CarmaObj<float>* SutraTurbuScreen::d_noise

Definition at line 34 of file sutra_tscreen.h.

◆ d_tscreen

SutraPhase* SutraTurbuScreen::d_tscreen

Definition at line 26 of file sutra_tscreen.h.

◆ d_tscreen_c

CarmaObj<cuFloatComplex>* SutraTurbuScreen::d_tscreen_c

Definition at line 51 of file sutra_tscreen.h.

◆ d_tscreen_o

CarmaObj<float>* SutraTurbuScreen::d_tscreen_o

Definition at line 28 of file sutra_tscreen.h.

◆ d_ytmp

CarmaObj<float>* SutraTurbuScreen::d_ytmp

Definition at line 35 of file sutra_tscreen.h.

◆ d_z

CarmaObj<float>* SutraTurbuScreen::d_z

Definition at line 33 of file sutra_tscreen.h.

◆ deltax

float SutraTurbuScreen::deltax

Definition at line 42 of file sutra_tscreen.h.

◆ deltay

float SutraTurbuScreen::deltay

Definition at line 43 of file sutra_tscreen.h.

◆ device

int SutraTurbuScreen::device

Definition at line 25 of file sutra_tscreen.h.

◆ norm_vk

float SutraTurbuScreen::norm_vk

Definition at line 52 of file sutra_tscreen.h.

◆ r0

float SutraTurbuScreen::r0

Definition at line 37 of file sutra_tscreen.h.

◆ screen_size

long SutraTurbuScreen::screen_size

Definition at line 36 of file sutra_tscreen.h.

◆ vk_on

bool SutraTurbuScreen::vk_on

Definition at line 53 of file sutra_tscreen.h.

◆ winddir

float SutraTurbuScreen::winddir

Definition at line 41 of file sutra_tscreen.h.

◆ windspeed

float SutraTurbuScreen::windspeed

Definition at line 40 of file sutra_tscreen.h.


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