The DALHAI project aims at developing compact all-optical Arithmetic and Logic Units (ALU) exploiting the spatial and spectral distributions of 2D confined plasmons modes in planar cavities tailored in ultrathin Au or Ag crystals. Yet, the optimization of the logic gate output contrast, the definition of the logic function reconfiguration schemes and the generalization of this concept towards complex ALU is a non-intuitive challenge.
A global value to represent CellSize. It is used to calculate the coordinate of VectorA, VectorB and VectorC. If CellType = "Cubic" then CellSize1=CellSize2=CellSize3=CellSize If CellType = "Rectangle" then CellSize1 = CellSize3 = CellSize
The size of a cell (h parameter). Used in the case of Cell of type Rectangle.
The type of a cell (Cubic, HexaH, HexaV, Rectangle).
Takes the boolean value "true" if the Excitation Parameters are valid Allows to verify if the Excitation Parameters are well defined
Takes the boolean value "true" if the Environment is valid Allows to verify if the Environment is well defined
Takes the boolean value "true" if the Model is valid Allows to verify if the Model is well defined
Takes the boolean value "true" if the Output Parameters are valid Allows to verify if the Output Parameters are well defined
Takes the boolean value "true" if the optical simulation is valid Allows to verify if the simulation is well defined (right model and all required parameters are correctly defined))
Takes the boolean value "true" if all optical simulation parametersare valid Allows to verify if the Excitation Parameters and the Output Parameters are well defined
Cell must have a type (CellType) and a size (CellSize). Cell types are : Cubic, HexaH, HexaV, Rectangle. If CellType = Cubic or HexaH or HexaV then one cell size (CellSize) If CellType = Rectangle then two cell sizes (CellSize, CellSize2)
A triplet of values (A, B, C) used to define a Vector. 'A' represents the origin point.
The mesh represents a set of cells paving the 2D or 3D space (infinite number of cells). The Mesh concept is defined by a Cell and three Vectors (VectorA, VectorB, VectorC). VectoA, VectorB and VectorC can be calculated using CellSize and CellSize2 (in the case of a cell of type Rectangle). If CellType = Cubic then VectorA = (CellSize, 0, 0) VectorB = (0, CellSize, 0) VectorC = (0, 0, CellSize) If CellType = Rectangle (Defined by 2 CellSize : CellSize and CellSize2) then VectorA = (CellSize, 0, 0) VectorB = (0, CellSize2, 0) VectorC = (0, 0, CellSize) If CellType = HexaH VectorA = (CellSize*sqrt(3)/2, CellSize/2, 0) VectorB = (0, CellSize, 0) VectorC = (CellSize/(2*sqrt(3)), CellSize/2, CellSize*sqrt(2/3)) If CellType = HexaV then VectorA = (CellSize , 0, 0) VectorB = (CellSize/2, CellSize*sqrt(3)/2, 0) VectorC = (CellSize/2, CellSize/(2*sqrt(3)), CellSize*sqrt(2/3))
The Model concept represents the set of Cells that are used to describe the Solid Shape. It is the projection of the Solid Shape onto the Mesh. The Model concept is indispensable in pyGDM (an open-source python toolkit for electro-dynamical simulations).
The OpticalSimulation concept is used to define an optical simulation An optical simulation is valid if it has a valid Model, valid Environment, valid Excitation parameters and valid Output parameters
At least one of the segments must have a length (hasLength) >= hasValMin defined in shape
A segment cannot be smaller than one cell (CellSize)
Abstract concept to define a shape. It has a data property to specify if the shape is geometrically valid.
Des distances à respecter entre les points
Used to define a solid shape. The solid shape has a matter that can be gold or silver.
The Vector concept represents a directed segment. It is defined by 3 coordinates (Coordinate concept).
If CellType = Cubic then CellSize1 = CellSize2 = CellSize3
Model must be associated to a Solid_Shape and a Mesh
hasCell must be defined between a Mesh and a Cell
Mesh must be associated to a Cell, a VectorA and a VectorB
Verify the Coordinate value of the VectorB associated to the Mesh in the case of Rectangle cell type
Verify the Coordinate value of the VectoA associated to the Mesh in the case of Cubic cell type
?xval = CellSize * sqrt(3)/2, ?yval = CellSize/2, CellSize = ?z, ?xval = ?z * ?c, ?c = ?b/2, ?b= 3^a, ?a= 1/2
?xval = CellSize/(2*sqrt(3)), ?yval = CellSize/2, ?zval = CellSize * sqrt(2/3), Cellsize = ?z, ?xval = ?z/?c, ?c = ?b* 2, ?b = 3^?a, ?a = 1/2; ?zval = ?z * ?e, ?e = ?d^?a, ?d =2/3, ?a = 1/2
Verify the Coordinate value of the VectoA associated to the Mesh in the case of Rectangle cell type
hasCoordinate must be defined between a Vector and a Coordinate
hasMesh must be defined between a Model and a Mesh
hasVectorA must be defined between a Mesh and a Vector
hasVectorB must be defined between a Mesh and a Vector