# PLaSK User Manual

#### Page Contents

- XPL File Reference

# XPL File Reference

XPL files follow XML specification. Thus all the general rules of creating correct XML files apply top XPL ones as well. Please refer to the external documentation for information on XML syntax and grammar [1]. Details specific to XPL are covered in this chapter.

First of all each XML document must have a parent tag. In XPL files such tag is named:

<plask>

Thus, the all information in the data file are content of this tag and have to be located between `<plask>` and `</plask>` tags. Inside there are several sections that can be included in the XPL file: `<defines>`, `<materials>`, `<geometry>`, `<grids>`, `<solvers>`, `<connects>`, and `<script>`. Each of them is optional, however, if present, they must be specified in the order shown in the previous sentence. Formal specification of each section is presented below.

Instead of the section content, it is possible to use it as a single tag with the attribute `external`, which has a name of some XPL file as its value. In such a case, the content of the relevant section is read from this external file.

`<plask>` section can take an optional attribute `loglevel`, which value is the name of any valid log level. Any log message with its priority lower than the specified value will not be printed by the logging system. The default value is `"detail"`.

- Section <defines>
- Section <materials>
- Section <geometry>
  - Geometry types
  - Geometry objects 2D
    - Containers 2D
    - Transforms 2D
    - Physical objects 2D
  - Geometry objects 3D
    - Containers 3D
    - Transforms 3D
    - Physical objects 3D
  - Copies and references to geometry objects
- Section <grids>
  - Possible <mesh> contents for different types
  - Possible <generator> contents for different types and methods
- Section <solvers>
  - Boundary conditions
  - <thermal> solvers
    - Static2D
    - StaticCyl
    - Static3D
    - Dynamic2D
    - DynamicCyl
    - Dynamic3D
  - <electrical> solvers
    - DriftDiffusion2D
    - DriftDiffusionCyl
    - Diffusion2D
    - DiffusionCyl
    - Diffusion3D
    - OldDiffusion2D
    - OldDiffusionCyl
    - Shockley2D
    - ShockleyCyl
    - Shockley3D
    - ActiveCond2D
    - ActiveCondCyl
    - ActiveCond3D
    - OldDiffusion2D
    - OldDiffusionCyl
  - <gain> solvers
    - FreeCarrier2D
    - FreeCarrierCyl
    - FreeCarrier3D
    - WasiakNew2D
    - WasiakNewCyl
  - <optical> solvers
    - EffectiveIndex2D
    - EffectiveFrequencyCyl
    - Fourier2D
    - Fourier3D
    - BesselCyl
  - <meta> solvers
    - ThermoElectric2D
    - ThermoElectricCyl
    - ThermoElectric3D
    - ThresholdSearchCyl
    - ThresholdSearchBesselCyl
    - ThresholdSearch2D
    - ThresholdSearchFourier2D
  - Data filters
- Section <connects>
- Section <script>

Footnotes

[1]

Good resources are http://www.w3.org/TR/REC-xml/, http://en.wikipedia.org/wiki/XML, and http://www.w3schools.com/xml/.