CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

AMI interDyMFoam for mixer

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 5, 2013, 11:19
Default AMI interDyMFoam for mixer
  #1
Senior Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 14
danny123 is on a distinguished road
Hello,

I am trying to set up a case using interphase coupled with AMI (kind of a mixer). There is a tutorial for a mixervessel for pimpleDymFoam, which works having a single phase. I used this case (but different mesh) and generated a alpha1 file that shall represent a fill level. Insteads of the setFields utility, I generated that file myself since it seems pretty simple. There are some others changes as the additional file g and p_rgh instead of p, but nothing complicated. However, I am not sure about the cyclic patch implimentation. I copied the cyclic patch AMI1 and AMI2 definition from the mixervessel tutorial into alpha1 file, but this does not seem to work. I get the following error while decomposing the case:

dw@PC83U:~$ cd $HOME/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam
dw@PC83U:~/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam$ decomposePar
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.1.x-92812fe8fd9e
Exec : decomposePar
Date : Jun 05 2013
Time : 15:22:03
Host : "PC83U"
PID : 3206
Case : /home/dw/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

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

Create mesh

Calculating distribution of cells
Selecting decompositionMethod scotch

Finished decomposition in 0.1 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes

Processor 0
Number of cells = 3690
Number of faces shared with processor 1 = 64
Number of faces shared with processor 2 = 94
Number of faces shared with processor 3 = 92
Number of faces shared with processor 4 = 46
Number of faces shared with processor 5 = 88
Number of processor patches = 5
Number of processor faces = 384
Number of boundary faces = 2878

Processor 1
Number of cells = 3718
Number of faces shared with processor 0 = 64
Number of faces shared with processor 2 = 193
Number of processor patches = 2
Number of processor faces = 257
Number of boundary faces = 2779

Processor 2
Number of cells = 3700
Number of faces shared with processor 0 = 94
Number of faces shared with processor 1 = 193
Number of processor patches = 2
Number of processor faces = 287
Number of boundary faces = 2707

Processor 3
Number of cells = 3736
Number of faces shared with processor 0 = 92
Number of faces shared with processor 4 = 130
Number of faces shared with processor 5 = 50
Number of processor patches = 3
Number of processor faces = 272
Number of boundary faces = 2820

Processor 4
Number of cells = 3742
Number of faces shared with processor 0 = 46
Number of faces shared with processor 3 = 130
Number of faces shared with processor 5 = 136
Number of processor patches = 3
Number of processor faces = 312
Number of boundary faces = 3142

Processor 5
Number of cells = 3734
Number of faces shared with processor 0 = 88
Number of faces shared with processor 3 = 50
Number of faces shared with processor 4 = 136
Number of processor patches = 3
Number of processor faces = 274
Number of boundary faces = 2846

Number of processor faces = 893
Max number of cells = 3742 (0.591398% above average 3720)
Max number of processor patches = 5 (66.6667% above average 3)
Max number of faces between processors = 384 (29.0034% above average 297.667)

Time = 0


--> FOAM FATAL IO ERROR:
compound has already been transfered from token
on line 20 the empty compound of type List<scalar>

file: /home/dw/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam/0/alpha1::boundaryField::AMI1::value at line 20.

From function token::transferCompoundToken(const Istream& is)
in file lnInclude/token.C at line 99.

FOAM aborting

#0 Foam::error:rintStack(Foam::Ostream&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::IOerror::abort() in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 Foam::token::transferCompoundToken(Foam::Istream const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#3 Foam::Istream& Foam:perator>><double>(Foam::Istream&, Foam::List<double>&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#4 Foam::Field<double>::Field(Foam::word const&, Foam::dictionary const&, int) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#5 Foam::fvPatchField<double>::fvPatchField(Foam::fvP atch const&, Foam:imensionedField<double, Foam::volMesh> const&, Foam::dictionary const&, bool) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#6 Foam::cyclicAMIFvPatchField<double>::cyclicAMIFvPa tchField(Foam::fvPatch const&, Foam:imensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#7 Foam::fvPatchField<double>::adddictionaryConstruct orToTable<Foam::cyclicAMIFvPatchField<double> >::New(Foam::fvPatch const&, Foam:imensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#8 Foam::fvPatchField<double>::New(Foam::fvPatch const&, Foam:imensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#9 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::GeometricB oundaryField(Foam::fvBoundaryMesh const&, Foam:imensionedField<double, Foam::volMesh> const&, Foam::dictionary const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#10 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readField(Foam::dictionary const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#11 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::readField(Foam::Istream&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#12 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricField(Foam::IOobject const&, Foam::fvMesh const&) in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#13
in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#14
in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
#15 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#16
in "/home/dw/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/decomposePar"
Abgebrochen (Speicherabzug geschrieben)
dw@PC83U:~/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam$ ^C
dw@PC83U:~/OpenFOAM/dw-2.1.x/run/MooneyMeter_AMI_interDymFoam$

The line 20 in my alpha1 file is the following:

internalField nonuniform List<scalar>

The boundary definition in the same file is the following:

boundaryField
{
rotor
{
type zeroGradient;
}
stator
{
type zeroGradient;
}
AMI1
{
type cyclicAMI;
value $internalField;
}

AMI2
{
type cyclicAMI;
value $internalField;
}

}

Is there anybody who can help?

Thanks,

Daniel
danny123 is offline   Reply With Quote

Old   June 10, 2013, 06:25
Default
  #2
otm
New Member
 
Join Date: Jun 2009
Posts: 22
Rep Power: 16
otm is on a distinguished road
Hi!

I suspect that the error you get can have something to do with the way you set your initial field for alpha1. Try using the setFields utility instead.

I'm working om something quite similar and I can confirm that parallel execution of interDyMFoam with rotation and cyclicAMI works. However, I have a problem with mass conservation in my setup which is believe i connected to the AMI bcs.

Good luck!
//Olle
otm is offline   Reply With Quote

Old   June 10, 2013, 08:02
Default
  #3
Senior Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 14
danny123 is on a distinguished road
Hi otm,

Thanks for the input. I may try. However this is not obvious since all examples decribed in OpenFoam tuorials are very simple cuboids full of alpha1. A mixer has a round structure and therefore it is not obvious filling it up with a cuboid.

There is an utility called "funkysetFields", which supposely can do, what I want, but I am not sure if it works for OpenFoam 2.1 (or 2.2).

I used a simple technique so far just using the blocks (of blockMeshDic) and assigning each of them an alpha. This is quite simple. Setfields seems to do the same thing. I can distribute alpha1 evenly over my grid, which would be very cumbersome using setfields.

Regards,

Daniel
danny123 is offline   Reply With Quote

Old   June 10, 2013, 09:21
Default
  #4
otm
New Member
 
Join Date: Jun 2009
Posts: 22
Rep Power: 16
otm is on a distinguished road
Hi Danny!

There are ways to define also cylindrical initial fields see below for an annular example. At http://openfoamwiki.net/index.php/TopoSet you can see all avaliable "shapes" that can be used. There is no requirements that the region should "fit" your domain. The inital alpha field will be the intersection of the toposet shape and your mesh domain.

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "system";
    object      setFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defaultFieldValues
(
    volScalarFieldValue alpha1 0
);
regions
(
    cylinderAnnulusToCell
    {
        p1 (0 0 -100);
        p2 (0 0 0.045);
        outerRadius 100.0;
        innerRadius 0.028;
        fieldValues
        (
            volScalarFieldValue alpha1 1
        );
    }
);
BR
//Olle
otm is offline   Reply With Quote

Old   June 19, 2013, 04:49
Default
  #5
Senior Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 14
danny123 is on a distinguished road
Hi OTM,

Your suggestion worked, at least the error reported above is gone. Setfields created a alpha1 file, which looks identical to the one I created manually except the boudary part at the bottom of the file. I had created an alpha1 file, which looked the following:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.1 |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alpha1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 0 0 0 0];

internalField uniform 0;

boundaryField
{
rotor
{
type zeroGradient;
}

stator
{
type zeroGradient;
}
AMI1
{
type cyclicAMI;
value $internalField;
}

AMI2
{
type cyclicAMI;
value $internalField;
}

}

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

This file was overwritten, as it should. Only the condition

stator
{
type zeroGradient;
}

remained the other conditions (rotor, AMI1 and 2) were deleted. decomposePar then worked ok (no error message).

I do not understand the logic behind this though.

Regards,

Daniel
danny123 is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
dynamic Mesh is faster than MRF???? sharonyue OpenFOAM Running, Solving & CFD 14 August 26, 2013 07:47
mixerVesselAMI2D's mass is not balancing sharonyue OpenFOAM Running, Solving & CFD 6 June 10, 2013 09:34
Problem with inconsistent patches (AMI, interDyMFoam) jrrygg OpenFOAM Running, Solving & CFD 3 February 1, 2013 03:23
[Other] Problem when case with AMI A.A. OpenFOAM Meshing & Mesh Conversion 1 October 4, 2012 11:54
error using interDyMFoam with kOmegaSST to simulate sloshing anmartin OpenFOAM Running, Solving & CFD 0 July 20, 2010 13:21


All times are GMT -4. The time now is 10:58.