SimpleCubicCell

The SimpleCubicCell provides a class definition for a generation of unit cells with a simple 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.SimpleCubicCell.SimpleCubicCell(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 simple cubic unit cells

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

The simple cubic 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 cuboid 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 simple cubic unit cell (allow box-shaped cells) -> size=[Lx, Ly, (Lz)]

origin: list/array

origin of the simple cubic 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 simple cubic 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 simple cubic unit cell