/*---------------------------------*- C++ -*----------------------------------*\
filetype dictionary; coding utf-8; version 0.1; local --; purpose --;
\*----------------------------------------------------------------------------*/
#include 'a_paramDict_in_same_folder'
// This is a line comment at the top of the file
emptyDict
{

}
emptyList
(

);
booleans
{
    bool1                     true;
    bool2                     false;
    bool3                     True;
    bool4                     False;
    bool5                     on;
    bool6                     off;
    bool7                     ON;
    bool8                     OFF;
}
numbers
{
    int1                      0;
    int2                      120;
    float1                    3.5;
}
nones
{
    none1                     None;
    none2                     none;
    none3                     NULL;
    none4                     null;
}
strings
{
    string1                   '';
    string2                   'string';
    string3                   'string with spaces';
    string4                   singleWordsWithoutSpacesCanAlsoBeDeclaredWithoutQuotes;
    string5                   'string with single quotes';
    string6                   "string with double quotes";
    listWithStrings
    (
        'string1'    'string2 has spaces'    'string3'     'string4 is ok but note that string5 is empty'     ''
    );
}
nesting
{
    emptyNestedDict
    {

    }
    emptyNestedList
    (

    );
    nestedDictWithNestedList
    {
        list1
        (
            1.00000000e+00  2.20972831e-17  3.15717747e-18
        );
        list2
        (
            2.20972831e-17  1.00000000e+00 -7.07290050e-18
        );
        list3
        (
            3.15717747e-18 -7.07290050e-18  1.00000000e+00
        );
    }
    nestedListWithNestedList
    (
        (
            1.00000000e+00  2.20972831e-17  3.15717747e-18
        )
        (
            2.20972831e-17  1.00000000e+00 -7.07290050e-18
        )
        (
            3.15717747e-18 -7.07290050e-18  1.00000000e+00
        )
    );
    nestedListWithNestedDict
    (
        (
            11       12       13
        )
        {
            value21     21;
            value22     22;
            value23     23;
        }
        (
            31      32      33
        )
    );
}
parameters
{
    // parameter A
    parameterA
    {
        name                  parameterA;
        value                 $paramA;
        // Simple reference to a variable. References are prefixed with $.
    }
    // parameter B
    parameterB
    {
        name                  parameterB;
        value                 $paramB;
        // Expression. However, result of this expression is same as using a simple reference without double quotes.
    }
    // parameter C
    parameterC
    {
        name                  parameterC;
        value                 "$paramC + 4";
        // Expression with one reference and one constant.
    }
    // parameter D
    parameterD
    {
        name                  parameterD;
        value                 "$paramC + $paramD";
        // Expression with two references.
    }
    parameterE
    {
        name                  parameterE;
        value                 $paramE[0];
        // Reference to an item in a list
    }
    parameterF
    {
        name                  parameterF;
        value                 $paramF[0][0];
        // Reference to an item in a list of lists
    }
    parameterG1
    {
        name                  parameterG1;
        value                 $paramG;
        // Assume variable paramG defines a two-dimensional matrix (i.e. implemented as a list of lists)
    }
    parameterG2
    {
        name                  parameterG2;
        value                 $paramG[0];
        // ..then $paramG[0] is a reference to a specific row in the matrix (=returning a list)
    }
    parameterG3
    {
        name                  parameterG3;
        value                 $paramG[1][2];
        // ..and $paramG[1][2] is a reference to a specific value in the matrix
    }
}
nonUnderScoreVariable       'non underscore variables will be processed by all Formatters';
_underscoreVariable         'underscore variables will be omitted by the FoamFormatter';