LayoutΒΆ

Type:section
Appearance:simple

Warning

The Layout definition of the layout is deprecated and will be removed in a future version of JCMsuite. You should be using the Layout2D or Layout3D syntax for new projects. More information about differences in the syntax can be found here .

The layout section contains all information about the geometry of the simulation project. The layout section is defined in the file layout.jcm. In the Layout complex geometries for JCMgeo are built from simple geometrical objects, so-called geometrical primitives or primitives. These are polygons, circles and parallelograms. In the layout section an arbitrary number of primitives are arranged. The primitives can be located and aligned in a global coordinate system, or they can be located and aligned relative to each other. Also, identifiers are given to the different geometrical objects which allow to attribute material and source properties (in the file materials.jcm and sources.jcm) to these regions, and instructions on mesh refinement in the different regions of the geometry can be specified.

A Layout section for a 2D geometry looks like this:

Layout {
  UnitOfLength = 1e-9
  Polygon {
    Name = "ComputationalDomain"
    DomainId = 1
    Priority = -1
    Points = [0 0, 500 0, 500 500, 0 500]
    BoundarySegment {
      Number = 1
      BoundaryClass = Periodic
    }
    BoundarySegment {
      Number = 2
      BoundaryClass = Periodic
    }
    BoundarySegment {
      Number = 3
      BoundaryClass = Periodic
    }
    BoundarySegment {
      Number = 4
      BoundaryClass = Periodic
    }
  }
  Polygon {
    Name = "Triangular Object"
    DomainId = 2
    Priority = 1
    MeshOptions {
      MaximumSidelength = 50
    }
    Points = [100 100, 300 100, 100 300]
  }
}

This layout describes a rectangular computational domain with periodic boundaries. It contains a triangular object with domain identifier 2 and a background object with domain identifier 1. All 2D objects are defined in an x-y-coordinate system.

A Layout section for a 3D geometry looks like this:

Layout {
  UnitOfLength = 1e-9
  # 2D definitions (x-y-coordinates)
  Polygon {
    Name = "ComputationalDomain"
    DomainId = 1
    Priority = -1
    Points = [0 0, 500 0, 500 500, 0 500]
  }
  Polygon {
    Name = "Triangular Object"
    DomainId = 2
    Priority = 1
    Points = [100 100, 400 100, 100 400]
  }
  # extrusion to 3D (z-direction)
  Extrusion {
    LayerInterface {
      BoundaryClass = Transparent
      ExteriorDomainId = 10
    }
    Layer {
      Thickness = 40
      DomainIdMapping = [1 11, 2 12]
    }
    Layer {
      Thickness = 20
      DomainIdMapping = [1 11, 2 13]
    }
    LayerInterface {
      BoundaryClass = Transparent
      ExteriorDomainId = 11
    }
  }
}

The 3D layout consists of a 2D part (where different shapes are defined in an x-y-coordinate system) and a Extrusion section which defines how the 2D shapes are extruded in the third dimension (z-coordinate). In the different layers of the extrusion, different domain identifiers can be attributed to the extruded shapes. Also extrusions with non-rectangular side-walls are possible which allows for the creation of, e.g., corner roundings in z-direction, spherical shapes, etc.

Please also consult the geometry tutorial which comes with the software distribution for a detailed description of the layout format.