COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
shesha.ao.imats Namespace Reference

Computation implementations of interaction matrix. More...

Functions

np.ndarray imat_geom (Sensors wfs, Dms dms, List[conf.Param_wfs] p_wfss, List[conf.Param_dm] p_dms, conf.Param_controller p_controller, int meth=0)
 Compute the interaction matrix with a geometric method. More...
 
None imat_init (int ncontrol, Rtc rtc, Dms dms, list p_dms, Sensors wfs, list p_wfss, conf.Param_tel p_tel, conf.Param_controller p_controller, M2V=None, dict dataBase={}, bool use_DB=False)
 Initialize and compute the interaction matrix on the GPU. More...
 
np.ndarray imat_geom_ts_multiple_direction (Sensors wfs, Dms dms, conf.Param_wfs p_ts, List[conf.Param_dm] p_dms, conf.Param_geom p_geom, int ind_TS, List ind_dmseen, conf.Param_tel p_tel, x, y, int meth=0)
 Compute the interaction matrix with a geometric method for multiple truth sensors (with different direction) More...
 
np.ndarray imat_geom_ts (Sensors wfs, Dms dms, conf.Param_wfs p_ts, int ind_TS, List[conf.Param_dm] p_dms, List[int] ind_DMs, int meth=0)
 Compute the interaction matrix with a geometric method for a single truth sensor. More...
 
def get_metaD (sup, p_wfs, TS_xpos=None, TS_ypos=None, ind_TS=-1, n_control=0)
 Create an interaction matrix for the current simulation given TS position. More...
 

Detailed Description

Computation implementations of interaction matrix.

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

This file is part of COMPASS https://anr-compass.github.io/compass/

Copyright (C) 2011-2023 COMPASS Team https://github.com/ANR-COMPASS All rights reserved. Distributed under GNU - LGPL

COMPASS is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

COMPASS: End-to-end AO simulation tool using GPU acceleration The COMPASS platform was designed to meet the need of high-performance for the simulation of AO systems.

The final product includes a software package for simulating all the critical subcomponents of AO, particularly in the context of the ELT and a real-time core based on several control approaches, with performances consistent with its integration into an instrument. Taking advantage of the specific hardware architecture of the GPU, the COMPASS tool allows to achieve adequate execution speeds to conduct large simulation campaigns called to the ELT.

The COMPASS platform can be used to carry a wide variety of simulations to both testspecific components of AO of the E-ELT (such as wavefront analysis device with a pyramid or elongated Laser star), and various systems configurations such as multi-conjugate AO.

COMPASS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with COMPASS. If not, see https://www.gnu.org/licenses/lgpl-3.0.txt.

Function Documentation

◆ get_metaD()

def shesha.ao.imats.get_metaD (   sup,
  p_wfs,
  TS_xpos = None,
  TS_ypos = None,
  ind_TS = -1,
  n_control = 0 
)

Create an interaction matrix for the current simulation given TS position.

Parameters
sup(CompassSupervisor) : current COMPASS simulation
p_ts(Param_wfs) : truth sensor settings
TS_xposnp.ndarray : TS position (x axis)
TS_yposnp.ndarray : TS position (y axis)
ind_TS(int) : index of the truth sensor in Sensors (wfs)
n_control(int) : index of the controller

:return:

Parameters
metaDnp.ndarray :interaction matrix

Definition at line 312 of file imats.py.

Here is the call graph for this function:

◆ imat_geom()

np.ndarray shesha.ao.imats.imat_geom ( Sensors  wfs,
Dms  dms,
List[conf.Param_wfs]  p_wfss,
List[conf.Param_dm]  p_dms,
conf.Param_controller  p_controller,
int   meth = 0 
)

Compute the interaction matrix with a geometric method.

Parameters
wfs(Sensors) : Sensors object
dms(Dms) : Dms object
p_wfss(list of Param_wfs) : wfs settings
p_dms(list of Param_dm) : dms settings
p_controller(Param_controller) : controller settings
meth(int) : (optional) method type (0 or 1)

Definition at line 71 of file imats.py.

◆ imat_geom_ts()

np.ndarray shesha.ao.imats.imat_geom_ts ( Sensors  wfs,
Dms  dms,
conf.Param_wfs  p_ts,
int  ind_TS,
List[conf.Param_dm]  p_dms,
List[int]  ind_DMs,
int   meth = 0 
)

Compute the interaction matrix with a geometric method for a single truth sensor.

Parameters
wfs(Sensors) : Sensors object
dms(Dms) : Dms object
p_ts(Param_wfs) : truth sensor settings
ind_TS(int) : index of the truth sensor in Sensors (wfs)
p_dms(list of Param_dm) : dms settings
ind_DMs(list of int) : indices of used DMs
p_controller(Param_controller) : controller settings
meth(int) : (optional) method type (0 or 1)

Definition at line 256 of file imats.py.

Here is the caller graph for this function:

◆ imat_geom_ts_multiple_direction()

np.ndarray shesha.ao.imats.imat_geom_ts_multiple_direction ( Sensors  wfs,
Dms  dms,
conf.Param_wfs  p_ts,
List[conf.Param_dm]  p_dms,
conf.Param_geom  p_geom,
int  ind_TS,
List  ind_dmseen,
conf.Param_tel  p_tel,
  x,
  y,
int   meth = 0 
)

Compute the interaction matrix with a geometric method for multiple truth sensors (with different direction)

Parameters
wfs(Sensors) : Sensors object
dms(Dms) : Dms object
p_ts(Param_wfs) : truth sensor settings
ind_TS(int) : index of the truth sensor in Sensors (wfs)
p_dms(list of Param_dm) : dms settings
ind_DMs(list of int) : indices of used DMs
p_controller(Param_controller) : controller settings
meth(int) : (optional) method type (0 or 1)

Definition at line 203 of file imats.py.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ imat_init()

None shesha.ao.imats.imat_init ( int  ncontrol,
Rtc  rtc,
Dms  dms,
list  p_dms,
Sensors  wfs,
list  p_wfss,
conf.Param_tel  p_tel,
conf.Param_controller  p_controller,
  M2V = None,
dict   dataBase = {},
bool   use_DB = False 
)

Initialize and compute the interaction matrix on the GPU.

Parameters
ncontrol(int) : controller's index
rtc(Rtc) : Rtc object
dms(Dms) : Dms object
p_dms(Param_dms) : dms settings
wfs(Sensors) : Sensors object
p_wfss(list of Param_wfs) : wfs settings
p_tel(Param_tel) : telescope settings
p_controller(Param_controller) : controller settings
M2VKL_matrix
dataBase(optional) dict containing paths to files to load
use_DB(optional) use dataBase flag

Definition at line 142 of file imats.py.