# PeriodicBoundary

The periodic boundary condition (PBC) for the model. PBCs are used to simulate structures that repeat to infinity. PBC is often used to simulate frequency selective surfaces (FSS) and infinite antenna arrays.

## Example

application = cf.Application.GetInstance()
[[/shared/Resources/Automation/square_loop_antenna_MATCHED.cfx]]})

-- Set up one dimensional periodic boundary condition for the model

properties = project.Contents.SolutionSettings.PeriodicBoundary:GetProperties()
properties.Dimension = cf.Enums.PeriodicBoundaryDimensionsEnum.OneDimension
properties.EndPointVectorOne.N = "0.0"
properties.EndPointVectorOne.U = "0.05"
properties.EndPointVectorOne.V = "-0.05"
properties.StartPoint.N = "0.0"
properties.StartPoint.U = "-0.05"
properties.StartPoint.V = "-0.05"
project.Contents.SolutionSettings.PeriodicBoundary:SetProperties(properties)

-- Increase the periodic boundary to two dimensions

properties = project.Contents.SolutionSettings.PeriodicBoundary:GetProperties()
properties.Dimension = cf.Enums.PeriodicBoundaryDimensionsEnum.TwoDimensions
properties.EndPointVectorTwo.N = "0"
properties.EndPointVectorTwo.U = "-0.05"
properties.EndPointVectorTwo.V = "0.05"
project.Contents.SolutionSettings.PeriodicBoundary:SetProperties(properties)

## Inheritance

The PeriodicBoundary object is derived from the Object object.

## Usage locations

The PeriodicBoundary object can be accessed from the following locations:

## Property List

BeamSquintAngle
The beam pointing (squint) angle used to determine the phase shift. Only applicable if PhaseShiftMethod is FromSquintAngle. (Read/Write PeriodicBoundaryBeamSquintAngle)
Dimension
The PBC dimension type defining the number of periodic boundaries. The unit cell is repeated along the defined dimension type. (Read/Write PeriodicBoundaryDimensionsEnum)
EndPointVectorOne
The end point defining the first vector. Only applicable if the Dimension is OneDimension or TwoDimensions. (Read/Write LocalCoordinate)
EndPointVectorTwo
The end point defining the second vector. Only applicable if the Dimension is TwoDimensions. (Read/Write LocalCoordinate)
Label
LocalWorkplane
PhaseShift
The phase shift in each vector direction. Only applicable if PhaseShiftMethod is SpecifyManually. (Read/Write PeriodicBoundaryPhaseShift)
PhaseShiftMethod
Defines the method for determining the phase shift of the source between one unit cell and the next when doing periodic boundary condition calculations. When a plane wave is used as source the phase difference between the cells cannot be specified, but is determined by the source. (Read/Write PeriodicBoundaryPhaseShiftMethodEnum)
StartPoint
The start point used for defining the vectors that define the periodicity. Only applicable if the Dimension is OneDimension or TwoDimensions. (Read/Write LocalCoordinate)
Type
The object type string. (Read only string)
Visible
Specifies whether the geometry must be shown or hidden. (Read/Write boolean)

## Collection List

Transforms
The collection of transforms on the operator. (TransformCollection of Transform.)

## Method List

CopyAndMirror (properties table)
Apply a copy and mirror using a table defining the properties. (Returns a Object object.)
CopyAndRotate (properties table, count number)
Apply a copy and rotate using a table defining the properties. (Returns a List of Object object.)
CopyAndRotate (origin Point, rotationaxis Vector, angle number, count number)
Copy and rotate the geometry. (Returns a List of Object object.)
CopyAndTranslate (properties table, count number)
Apply a copy and translate using a table defining the properties. (Returns a List of Object object.)
CopyAndTranslate (from Point, to Point, count number)
Copy and translate the geometry. (Returns a List of Object object.)
Delete ()
Deletes the entity.
Duplicate ()
Duplicates the entity. (Returns a Object object.)
GetProperties ()
Returns a table of properties representing the state of the object. The properties table can be used with the SetProperties method to change multiple properties of the object in one step. (Returns a table object.)
SetOneDimension (startpoint Point, endpoint Point)
Define a 1D periodic boundary condition. The start- and end-point of a single vector is required. Periodicity is then defined based on two planes passing through these start and end points, and normal to the vector formed between them. The vector used to define 1D periodicity can have any orientation, but must have a non-zero length.
SetProperties (properties Object)
Modifies the state of the object using the provided table of properties. This method is used to modify multiple properties of the object in a single step.
SetTwoDimensions (startpoint Point, endpointone Point, endpointtwo Point)
Define a 2D periodic boundary condition. The start- and end-points of a two vectors are required. These vectors form the two boundaries of the unit cell which is infinite in the direction normal to the plane on which both vectors lie. The vectors that define the unit-cell for 2D periodicity must have non-zero length, and cannot be oriented in the same direction.

## Static Function List

GetDefaultProperties ()
Creates a table containing the default settings to create an object. (Returns a table object.)

## Property Details

BeamSquintAngle
The beam pointing (squint) angle used to determine the phase shift. Only applicable if PhaseShiftMethod is FromSquintAngle.
Type
PeriodicBoundaryBeamSquintAngle
Access
Dimension
The PBC dimension type defining the number of periodic boundaries. The unit cell is repeated along the defined dimension type.
Type
PeriodicBoundaryDimensionsEnum
Access
EndPointVectorOne
The end point defining the first vector. Only applicable if the Dimension is OneDimension or TwoDimensions.
Type
LocalCoordinate
Access
EndPointVectorTwo
The end point defining the second vector. Only applicable if the Dimension is TwoDimensions.
Type
LocalCoordinate
Access
Label
The object label.
Type
string
Access
LocalWorkplane
The source workplane.
Type
LocalWorkplane
Access
PhaseShift
The phase shift in each vector direction. Only applicable if PhaseShiftMethod is SpecifyManually.
Type
PeriodicBoundaryPhaseShift
Access
PhaseShiftMethod
Defines the method for determining the phase shift of the source between one unit cell and the next when doing periodic boundary condition calculations. When a plane wave is used as source the phase difference between the cells cannot be specified, but is determined by the source.
Type
PeriodicBoundaryPhaseShiftMethodEnum
Access
StartPoint
The start point used for defining the vectors that define the periodicity. Only applicable if the Dimension is OneDimension or TwoDimensions.
Type
LocalCoordinate
Access
Type
The object type string.
Type
string
Access
Visible
Specifies whether the geometry must be shown or hidden.
Type
boolean
Access

## Collection Details

Transforms
The collection of transforms on the operator.
Type
TransformCollection

## Method Details

CopyAndMirror (properties table)
Apply a copy and mirror using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the mirror transform.
Return
Object
The mirrored geometry.
CopyAndRotate (properties table, count number)
Apply a copy and rotate using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the rotate transform.
count(number)
The number of transform copies.
Return
List of Object
The list of rotated geometry.
CopyAndRotate (origin Point, rotationaxis Vector, angle number, count number)
Copy and rotate the geometry.
Input Parameters
origin(Point)
The coordinates of the origin of the rotation.
rotationaxis(Vector)
The axis of rotation.
angle(number)
The angle of rotation (degrees).
count(number)
The number of copies.
Return
List of Object
The list of rotated geometry.
CopyAndTranslate (properties table, count number)
Apply a copy and translate using a table defining the properties.
Input Parameters
properties(table)
A table of properties defining the translate transform.
count(number)
The number of transform copies.
Return
List of Object
The list of translated geometry.
CopyAndTranslate (from Point, to Point, count number)
Copy and translate the geometry.
Input Parameters
from(Point)
Translate from coordinate.
to(Point)
Translate to coordinate.
count(number)
The number of copies.
Return
List of Object
The list of translated geometry.
Delete ()
Deletes the entity.
Duplicate ()
Duplicates the entity.
Return
Object
The new (duplicated) entity.
GetProperties ()
Returns a table of properties representing the state of the object. The properties table can be used with the SetProperties method to change multiple properties of the object in one step.
Return
table
A table defining the properties.
SetOneDimension (startpoint Point, endpoint Point)
Define a 1D periodic boundary condition. The start- and end-point of a single vector is required. Periodicity is then defined based on two planes passing through these start and end points, and normal to the vector formed between them. The vector used to define 1D periodicity can have any orientation, but must have a non-zero length.
Input Parameters
startpoint(Point)
Start point of vector.
endpoint(Point)
End point of vector.
SetProperties (properties Object)
Modifies the state of the object using the provided table of properties. This method is used to modify multiple properties of the object in a single step.
Input Parameters
properties(Object)
A table of properties defining the new state of the object.
SetTwoDimensions (startpoint Point, endpointone Point, endpointtwo Point)
Define a 2D periodic boundary condition. The start- and end-points of a two vectors are required. These vectors form the two boundaries of the unit cell which is infinite in the direction normal to the plane on which both vectors lie. The vectors that define the unit-cell for 2D periodicity must have non-zero length, and cannot be oriented in the same direction.
Input Parameters
startpoint(Point)
Start point of both vectors.
endpointone(Point)
End point of first vector.
endpointtwo(Point)
End point of second vector.

## Static Function Details

GetDefaultProperties ()
Creates a table containing the default settings to create an object.
Return
table
A table containing the default properties.