CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (https://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   dynamicMesh: Using dynamicMotionSolverListFvMesh (https://www.cfd-online.com/Forums/openfoam-pre-processing/224189-dynamicmesh-using-dynamicmotionsolverlistfvmesh.html)

MrBeneS February 10, 2020 04:46

dynamicMesh: Using dynamicMotionSolverListFvMesh
 
1 Attachment(s)
Dear All,

I am trying to set up a case with pisoFoam to calculate the wind flow arround a prismatic shaped building. So far, my case was working quite nicely. Now I want to create openings on my building with "valves", where the flow can pass through when the valve is open and can not pass when it is closed. See also the attached sketch.

For this purpose I am using dynamicMeshDict, more specifically the dynamicMotionSolverListFvMesh as I have multiple valves which can close and open on in a predifined time interval. To define multiple motions I am refering to the following development of OF, which to my knowledge is also included in OF v1912 which I am using: https://develop.openfoam.com/Develop...1e6d64e9a8b8b1 Consequently, this is how my dynamicMeshDict looks like:

Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh  dynamicMotionSolverListFvMesh;

motionSolverLibs (fvMotionSolvers);

solvers
(
    AMI000
    {
        cellZone        AMI000;
        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (-22.500 5.000 90.000);
            axis          (0 0 1);
            omega        6.2832; // rad/s
        }
    }
    AMI001
    {
        cellZone        AMI001;
        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (-22.500 -5.000 90.000);
            axis          (0 0 1);
            omega        6.2832; // rad/s
        }
    }
);

Unfortunately, when I now try to test the AMIs and run:

Code:

moveDynamicMesh -checkAMI
The following error pops up:

Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  v1912                                |
|  \\  /    A nd          | Website:  www.openfoam.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : _f3950763fe-20191219 OPENFOAM=1912
Arch  : "LSB;label=32;scalar=64"
Exec  : moveDynamicMesh -checkAMI
Date  : Feb 10 2020
Time  : 10:51:12
Host  : ubuntu-ESPRIMO-P957
PID    : 3614
I/O    : uncollated
Case  : /home/ubuntu/00_Vorstudien_FormFollowsFlow/12_OF_Cases/002_I_HFFB_B_Build_B_RhinoExport
nProcs : 1
trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverListFvMesh


--> FOAM FATAL ERROR:
Attempt to return primitive entry ITstream : /home/ubuntu/00_Vorstudien_FormFollowsFlow/12_OF_Cases/002_I_HFFB_B_Build_B_RhinoExport/constant/dynamicMeshDict.solvers, line 23-95, IOstream: Version 2.0, format ascii, line 0, OPENED, GOOD
    primitiveEntry 'solvers' comprises
        on line 23: punctuation '('
        on line 28: word 'AMI000'
        on line 29: punctuation '{'
        on line 30: word 'cellZone'
        on line 30: word 'AMI000'
        on line 30: punctuation ';'
        on line 31: word 'solidBodyMotionFunction'
        on line 31: word 'rotatingMotion'
        on line 31: punctuation ';'
        on line 32: word 'rotatingMotionCoeffs' ...
 as a sub-dictionary

    From function virtual Foam::dictionary& Foam::primitiveEntry::dict()
    in file db/dictionary/primitiveEntry/primitiveEntry.C at line 195.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  Foam::primitiveEntry::dict() at ??:?
#3  Foam::dynamicMotionSolverListFvMesh::dynamicMotionSolverListFvMesh(Foam::IOobject const&) at ??:?
#4  Foam::dynamicFvMesh::addIOobjectConstructorToTable<Foam::dynamicMotionSolverListFvMesh>::New(Foam::IOobject const&) at ??:?
#5  Foam::dynamicFvMesh::New(Foam::IOobject const&) at ??:?
#6  ? in ~/Software/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/moveDynamicMesh
#7  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#8  ? in ~/Software/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/bin/moveDynamicMesh
Abgebrochen (Speicherabzug geschrieben)



So I assume the my dynamicMeshDict, or rather the entries to use in combination with the dynamicMotionSolverListFvMesh are ill defined. I tested the geometrie, and without the AMIs my case runs with no errors.

Does anybody has experience with this and can help me out? Your help is well apreciated!

Best,
Benedikt

gberestinas March 4, 2020 06:56

Hello, MrBeneS.

Have you already solve your problem? I have the same issue for my 3 AMI simulation. Thank you.

GB

MrBeneS March 6, 2020 07:02

Dear gberestinas,


Yes, I managed to solve the issue. Was mostly a punctuation error. I used a normal instead of a curly bracket.. ;-)


Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  v1912                                |
|  \\  /    A nd          | Website:  www.openfoam.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh  dynamicMotionSolverListFvMesh;

motionSolverLibs (fvMotionSolvers);

solvers
{
    AMI000
    {
        solver          solidBody;
        cellZone        AMI000;
        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (22.500 5.000 135.000);
            axis          (0 0 1);
            omega        0.5445; // rad/s
        }
    }
    AMI001
    {
        solver          solidBody;
        cellZone        AMI001;
        solidBodyMotionFunction  rotatingMotion;
        rotatingMotionCoeffs
        {
            origin        (22.500 -5.000 135.000);
            axis          (0 0 1);
            omega        0.5445; // rad/s
        }
    }
};


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



All times are GMT -4. The time now is 21:26.