How to Use the Parameter Reference

The input schema (see previous chapter, Input Schema) declares all allowed tags and specifies their roles. As the tags are arranged in a data tree one can give a tag a “full name” by a concatenation of all its parent sections, i.e., by putting all parent section names together, with ‘/’ separators. This is similar to the full path of a file in a sub-directory on a computer system. The concept is best explained by an example:

Material {
  DomainId = 5
  RelPermeability = 1.0
  RelPermittivity {
    Constant = [2.25 0.00 0.00
                0.00 2.24 0.00
                0.00 0.00 2.24]
    PhotoElasticCorrection {

The full names of the tags contained in the above example are:

The root directory of the full tag name refers to the .jcm input file where the definition is expected. Here it is materials.jcm. Following the above links behind the full tag names gives an idea how the parameter reference is organized:

To each tag corresponds one paragraph in the documentation according to the full tag name. In other words, the arrangement of the paragraphs mirrors the input schema.

Each paragraph which gives documentation to an input tag starts with a header that specifies the type of the tag, and that informs about the rules which must be obeyed (see here). A header has the following form:

defines role of the tag (section, int, complex, enum, 2-Tensor, etc.)

restricts possible values of a primitive

declares a default value for a primitive, when tag is not specified

specifies how often a tag can be used (simple, multiple or optional)

lists other tags which may not be present when this tag is present

lists other tags which must be set when this tag is present

The header is followed by documentation of how the tag data is interpreted.

For understanding the input parameters of a specific JCM simulation example it is therefore most convenient to open the input files in an editor, and to go step-by-step through all tags declared declared in the input files.