/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  13
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    format      ascii;
    class       volScalarField;
    location    "0";
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 -1 -2 0 0 0 0];

internalField   uniform 3 [bar];

boundaryField
{
    #includeEtc "caseDicts/setConstraintTypes"

    inletFuel
    {
        type            zeroGradient;
    }

    inlet
    {
        type            uniformTotalPressure;
        p0
        {
            type            table;
            units           ([CAD] [bar]);
            values
            (
                (0      1.0)
                (340    1.5)
                (480    1.6)
                (620    1.5)
                (720    1.0)
            );
            outOfBounds     repeat;
            interpolationScheme linear;
        }
        value           $internalField;
        psi             psi;
        rho             rho;
        gamma           1.4;
    }

    outlet
    {
        type            uniformTotalPressure;
        p0
        {
            type            table;
            units           ([CAD] [bar]);
            values
            (
                (0      1.0)
                (100    1.0)
                (240    1.7)
                (380    1.0)
                (720    1.0)
            );
            outOfBounds     repeat;
            interpolationScheme linear;
        }
        value           $internalField;
        psi             psi;
        rho             rho;
        gamma           1.4;
    }

    piston
    {
        type               fixedFluxExtrapolatedPressure;
    }

    liner
    {
        type            zeroGradient;
    }

    cylinderHead
    {
        type            zeroGradient;
    }

    ivHead
    {
        type            zeroGradient;
    }

    evHead
    {
        type            zeroGradient;
    }

    ivStem
    {
        type            zeroGradient;
    }

    evStem
    {
        type            zeroGradient;
    }

    frontAndBack
    {
        type            empty;
    }

    "nonCouple.*"
    {
        type            zeroGradient;
    }
}


// ************************************************************************* //
