HexagonalCell

The HexagonalCell provides a class definition for a generation of unit cells with a hexagonal cubic distribution of the inclusions. The class inherits from the GenericUnitCell class and extends it in order to specify the remaining placeholder methods of the GenericModel. Especially, methods to determine the cells size and place the inclusions are provided.

Class Definition

class gmshModel.Model.HexagonalCell.HexagonalCell(distance=None, radius=None, numberCells=[1, 1, 1], size=None, inclusionType=None, inclusionAxis=None, origin=[0, 0, 0], periodicityFlags=[1, 1, 1], domainGroup='domain', inclusionGroup='inclusions', gmshConfigChanges={})[source]

Bases: GenericUnitCell

Class definition for hexagonal unit cells

This class provides required information for hexagonal unit cells. It inherits from the GenericUnitCell class and extends its attributes and methods to handle the inclusion placement.

The hexagonal unit cell allows to create “real” unit cells by passing the inclusion distance to the classes initialization method. If the cells size is specified instead, the distance is calculated: this allows for unit cells with a “hexagonal-like” particle distribution

Attributes:

dimension: int

dimension of the model instance

distance: float

distance of the inclusions within the unit cell (for automatic size calculation)

radius: float

radius of the unit cells inclusions

numberCells: list/array

array providing the number of cells in the individual axis directions -> numberCells=[nx, ny, (nz)]

size: list/array

size of the hexagonal unit cell (allow box-shaped cells) -> size=[Lx, Ly, (Lz)]

origin: list/array

origin of the hexagonal unit cell -> origin=[Ox, Oy, (Oz)]

inclusionType: string

string defining the type of inclusion -> iunclusionType= “Sphere”/”Cylinder”/”Circle”

inclusionAxis:list/array

array defining the inclusion axis (only relevant for inclusionType “Cylinder”) -> currently restricted to Cylinders parallel to one of the coordinate axes -> inclusionAxes=[Ax, Ay, Az]

relevantAxes: list/array

array defining the relevant axes for distance calculations

periodicityFlags: list/array

flags indicating the periodic axes of the hexagonal unit cell -> periodicityFlags=[0/1, 0/1, 0/1]

inclusionInfo: array

array containing relevant inclusion information (center, radius) for distance calculations

domainGroup: string

name of the group the unit cells domain should belong to

inclusionGroup: string

name of the group the unit cells inclusions should belong to

gmshConfigChanges: dict

dictionary for user updates of the default Gmsh configuration

placeInclusions()[source]

Method to place inclusions for the hexagonal unit cell