CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   Problems on implementing actuation disk on piso solver (https://www.cfd-online.com/Forums/openfoam-programming-development/123953-problems-implementing-actuation-disk-piso-solver.html)

frankyux September 25, 2013 00:36

Problems on implementing actuation disk on piso solver
 
Hi fellows,

I am tring to implement the actuation disk to the pisoFoam solver. Currently all I know about the way to do it is learned from the tutorial package “turbine siting”. However, i just want to implement it under a simple channel flow, and got the following problem on reading the disk properties.

The modified piso solver is like following:

Code:


  #include "fvCFD.H"
    #include "singlePhaseTransportModel.H"
    #include "turbulenceModel.H"
    #include "IObasicSourceList.H"
   
 
  // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
   
 
  int main(int argc, char *argv[])
    {
        #include "setRootCase.H"
        #include "createTime.H"
        #include "createMesh.H"
        #include "createFields.H"
        #include "initContinuityErrs.H"
   
 
      IObasicSourceList actuationDisks(mesh);
   
 
      // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
   
 
      Info<< "\nStarting time loop\n" << endl;
   
 
      while (runTime.loop())
        {
            Info<< "Time = " << runTime.timeName() << nl << endl;
   
 
          #include "readPISOControls.H"
            #include "CourantNo.H"
   
 
          // Pressure-velocity PISO corrector
            {
                // Momentum predictor
   
 
              fvVectorMatrix UEqn
                (
                    fvm::ddt(U.oldTime(), U)
                  + fvm::div(phi, U)
                + turbulence->divDevReff(U)
                );
   
 
              // Add resistance on the actuation disks
                actuationDisks.addSu(UEqn);
   
 
              UEqn.relax();
   
 
              if (momentumPredictor)
                {
                    solve(UEqn == -fvc::grad(p));
                }
   
 
              // --- PISO loop
                ....



and the “sourceProperties” file and “makeZones” file is the same as the one in tutorial (changed size and location). When I run the new piso solver on my case, I got the following message:



Code:



  --> FOAM FATAL IO ERROR:
    keyword type is undefined in dictionary "/home/frank/OpenFOAM/frank-2.0.0/run/case8/constant/sourcesProperties::disk1"
     
  file: /home/frank/OpenFOAM/frank-2.0.0/run/case8_ActuationDisk/cpiso/constant/sourcesProperties::disk1 from line 20 to line 33.
   
 
      From function dictionary::lookupEntry(const word&, bool, bool) const
        in file db/dictionary/dictionary.C at line 400.
     
  FOAM exiting




Am I missing some settings in my case? I cross checked with the tutorial case but couldn't find one.

Thanks a lot.



Regards
Frank

wyldckat September 28, 2013 08:01

Greetings Frank,

The message is somewhat clear about the problem:
Quote:

keyword type is undefined in dictionary "/home/frank/OpenFOAM/frank-2.0.0/run/case8/constant/sourcesProperties::disk1"
The entry "type" is missing from the block "disk1" in the file "constant/sourcesProperties".

In OpenFOAM 2.0, an example can be found at tutorials/incompressible/windSimpleFoam/turbineSiting/constant/sourcesProperties.
In OpenFOAM 2.1, the example is at tutorials/incompressible/simpleFoam/turbineSiting/constant/sourcesProperties.
In OpenFOAM 2.2, the example is at tutorials/incompressible/simpleFoam/turbineSiting/system/fvOptions.

Best regards,
Bruno

frankyux October 2, 2013 23:06

Thanks Bruno. Problem solved.
I copied an example from an older version where 'type' becomes 'typemodel', that's why the error message comes up.


All times are GMT -4. The time now is 19:56.