CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (http://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   MixerGgi with additional movement of the inner ring in a Taylor-Couette-System (http://www.cfd-online.com/Forums/openfoam-programming-development/97243-mixerggi-additional-movement-inner-ring-taylor-couette-system.html)

mneben February 13, 2012 07:13

MixerGgi with additional movement of the inner ring in a Taylor-Couette-System
 
Hello Foamers,


I created a new motion solver based on the motion solver “mixerGgiFvMesh”. The result is a rotating inner ring which also moves horizontally or vertically.


Therefor I rewrote the last lines of the source code of mixerGgiFvMesh:


bool Foam::journalBearingMotionSolver::update() //instead of Foam::mixerGgiFvMesh::update()
{
//-points of the moving par:
pointField p = motionPtr_->newPoints();





//-moves the origin of the rotating part in the same way, like the inner ring moves:
if (time().timeIndex()==1)
{
# include "initMotion.H"
}
else
{
# include "calcMotion.H"
point& orgn=csPtr_().origin();
orgn=sIst_;
}
Info<<"origin"<<cs().origin()<<endl;


//-Rotational speed needs to be converted from rpm
p=csPtr_->globalPosition
(
csPtr_->localPosition(p)
+ vector(0, rpm_*360.0*time().deltaT().value()/60.0, 0)
*movingPointsMask()
);






fvMesh::movePoints(p);



//-Move points, returns volumes swept by faces in motion

return false;
}


Then I added a pointMotionU-file with the mesh-motion-boundary-conditions and everything seems to be fine for small cases on a single cpu-core. For bigger cases I wanted to use decomposePar, but every time I got an error message like this:


Processor 0
Number of cells = 452264
Number of faces shared with processor 1 = 387
Number of processor patches = 1
Number of processor faces = 387
Number of boundary faces = 941279
--> FOAM Warning :
From function dlLibraryTable::open(const fileName& functionLibName)
in file db/dlLibraryTable/dlLibraryTable.C at line 86
could not load /home/matthias/OpenFOAM/matthias-1.6-ext/lib/libmyDynamicFvMesh.so: undefined symbol: _ZTIN4Foam13dynamicFvMeshE

Processor 1
Number of cells = 452264
Number of faces shared with processor 0 = 387
Number of processor patches = 1
Number of processor faces = 387
Number of boundary faces = 941317

Number of processor faces = 387
Max number of processor patches = 1
Max number of faces between processors = 387

Processor 0: field transfer
--> FOAM Warning :
From function dlLibraryTable::open(const fileName& functionLibName)
in file db/dlLibraryTable/dlLibraryTable.C at line 86
could not load /home/matthias/OpenFOAM/matthias-1.6-ext/lib/libmyDynamicFvMesh.so: undefined symbol: _ZTIN4Foam13dynamicFvMeshE
Initializing the GGI interpolator between master/shadow patches: insideSlider/outsideSlider


--> FOAM FATAL ERROR:
size of field = 978086 is not the same as the size of mesh = 941670

From function DimensionedField<Type, GeoMesh>::DimensionedField(const IOobject& io,const Mesh& mesh, const dimensionSet& dims, const Field<Type>& field)
in file /build/buildd/openfoam-1.6-ext-1.6.0/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/DimensionedField.C at line 72.

FOAM aborting



When I erase the pointMotionU-file then decomposePar runs till the end. With this fact and the text of the line “Initializing the GGI interpolator between master/shadow patches: insideSlider/outsideSlider” I come to the conclusion that the ggi-routines don't work with pointMotionU.
What can I do to solve this problem?


Awaiting for replies!

Regards
Matthias


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