MultiSector#
- class acoular.grids.MultiSector
Bases:
SectorClass for defining a sector consisting of multiple sectors.
This class allows the combination of several individual sectors into one.
Examples
Load example data and set diffrent Sectors for intergration in the sector integration example.
- sectors = List(Instance(Sector))
List of
Sectorobjects to be mixed, each defining a different sector.
- contains(pos)
Check if the coordinates in a given array lie within any of the sub-sectors.
This method iterates over the list of sectors, checking if each point in the given position array lies within any of the defined sectors.
- Parameters:
- posarray of
floats A (3, N) array containing the positions of N grid points, where each point is represented by its x, y, and z coordinates.
- posarray of
- Returns:
numpy.ndarrayofboolsA boolean array of shape (N,) indicating which of the given positions lie within any of the defined sectors.
Trueif the grid point is inside the circular sector,Falseif otherwise.
Examples
>>> import acoular as ac >>> grid = ac.RectGrid(increment=1) >>> grid.pos array([[-1., -1., -1., 0., 0., 0., 1., 1., 1.], [-1., 0., 1., -1., 0., 1., -1., 0., 1.], [ 1., 1., 1., 1., 1., 1., 1., 1., 1.]]) >>> sec1 = ac.RectSector(x_min=0, y_min=0) >>> sec2 = ac.CircSector(x=1, y=1, r=0.5) >>> multi_sec = ac.MultiSector(sectors=[sec1, sec2]) >>> multi_sec.contains(grid.pos) array([False, False, False, False, True, True, False, True, True])