Project SetupΒΆ

To setup a simulation project all .jcm input files are placed in a common project directory. Input files with the suffix .jcm have fixed names, that are layout.jcm, materials.jcm, sources.jcm, and boundary_conditions.jcm. Besides these files the project directory contains one or several project files with suffix .jcmp. The project files carry user-defined names.

The input files have the following roles:

  • layout.jcm: Geometry specification of the considered device. The device is built up from domains carrying individual integer domain identifiers (domain ids). The boundary of the device consists of patches, which are marked with integer boundary identifiers. Mesh quality parameters are also set in this file.
  • materials.jcm: Assigns material properties to the physical domains as defined in layout.jcm.
  • boundary_conditions.jcm: Assigns boundary properties to the physical boundaries as defined in layout.jcm. Furthermore, the field behavior of the impressed quantities can be characterized for the various boundaries.
  • sources.jcm: Sets impressed field quantities, i.e., temperature, electric field strength, etc., which may be regarded as the input fields of the simulation.
  • project.jcmp.para: Allows to globally define the values of system parameters that can be used in other input files.
  • *.jcmp: The project file specifies the simulation problem to be solved (e.g., computation of magnetic field strength of a waveguide mode), as well as numerical parameters. It may further contain a batch of post-process directives, which are needed to extract relevant data from the near-field solution. Typically this input file is named project.jcmp.

A simulation session has three phases:

  1. Calling JCMgeo with the project directory as argument to create a finite element mesh:

    >> JCMgeo <ProjectDir>
    

    The meshing tool JCMgeo processes the input file layout.jcm to generate an additional file grid.jcm also placed in the project directory.

  2. Calling JCMsolve in --solve mode to run the actual simulation:

    >> JCMsolve --solve <ProjectFile>
    

    <ProjectFile> stands for the .jcmp project file. JCMsolve reads the input files grid.jcm, materials.jcm, boundary_conditions.jcm, sources.jcm, and the .jcmp project file. Result files such as a fieldbag.jcm file containing the computed field distributions are placed in the subdirectory <ProjectFile>_results. After solving the problem, JCMsolve processes post-process directives contained in <ProjectFile>.

  3. Calling JCMsolve in --post_process mode to run additional post-processes. To extract relevant data one uses additional .jcmp files <PostProcessFile> containing post-process directives:

    >> JCMsolve --post_process <PostProcessFile>