Project DefinitionΒΆ
A simulation project in JCMsuite
is defined by a number of input text files placed in a common project folder. Below, the various input files are shortly reviewed. JCMsolve
parses the input files and solves the simulation task. Depending on the physical setup, not all files are necessary, e.g. an eigenmode computation project does not require the definition of source fields. The input files are:
layout.jcm
The layout file. This file describes the geometry of the project. Complex structures are built from simple objects, e.g. circles, parallelograms, or polygons. As an example, the following snippet defines a Circle with radius of 3.5 units of length:
Layout2D {
Objects {
Circle {
Name = "Scatterer"
DomainId = 4
Radius = 3.5
}
}
}
The DomainId
refers an object of the layout to the corresponding entry in the materials.jcm
file to set the physical properties.
The Geometry Tutorial explains how to set up complex layouts.
materials.jcm
The material file. This file contains the material properties of the physical domains, e.g. the relative permittivity and permeability tensors. Each geometrical object specified in the layout file has an identifier DomainId which refers to the layout file:
Material {
DomainId = 4
Name = "Silica"
RelPermeability = 1.0
RelPermittivity = 2.1025
}
projectName.jcmp
The project file. The name of this file with ending jcmp can be chosen by the user. In the project file the user specifies the physical model to be solved and parameters for the solution process, e.g. the required accuracy. This file can also be used to define so called post-processes executed on the output data from the solution process. Examples are computation of far field coefficients, or derived data like energy densities, etc.
boundary_conditions.jcm
The boundary condition file. This file allows the user to specify boundary conditions on particular parts of the geometry, e.g. a perfectly conducting surface:
BoundaryCondition {
BoundaryId = 3
Electromagnetic = TangentialElectric
}
Please note that transparent and periodic boundaries of the computational domain are not boundaries in a physical sense, but rather properties of the geometry. Therefore, these types of boundaries are defined in the layout file.
sources.jcm
The source file. For scattering projects (e.g. light scattering off a diffraction grating
or light transition through a lens) a source field has to be prescribed.
This could, e.g. be a point source or a plane wave with given wave-vector K
and amplitude:
Source {
ElectricFieldStrength {
PlaneWave {
K = [0, -4.0536e+06, 0]
Amplitude = [0.0, 0.0, 1.0]
}
}
}
Several sources can be specified within a single source file. For resonance and propagating mode projects no sources have to be specified.
grid.jcm
The grid file includes the finite element mesh (space discretization)
and is generated automatically from the layout file (by the mesh generator JCMgeo
).