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

laplacian fvm method "not Implemented" for modified interDyMFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By FabiKri

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 20, 2019, 05:40
Default laplacian fvm method "not Implemented" for modified interDyMFoam
  #1
New Member
 
Fabian Krieg
Join Date: Jun 2019
Posts: 2
Rep Power: 0
FabiKri is on a distinguished road
Hello all,

I'm trying to build the immersed boundary method from pimpleDyMIbFoam into the two phase solver interDyMFoam with foam-extend-4.1.
I have changed all the needed headers and variablenames by comparing the structure of the solvers. Running the solver on the damBreak tutorial with a moving block(modelled as IB-object) inside I get the error (all the gdb variables at error-time are in the appended file):

Code:
--> FOAM FATAL ERROR: 
Not implemented

    From function immersedBoundary::gradientInternalCoeffs()
    in file /opt/foam/foam-extend-4.1/src/finiteVolume/lnInclude/fvPatchField.H at line 473.

FOAM aborting
in correctPhi.H in the line:
Code:
fvm::laplacian(rUAf, pcorr) == fvc::div(phi)
my idea is that the dimensions of rAUf do not match with the accepted parameters of general laplacian(Gamma, phi) as described on page 35 in the OF programmer's Guide. But I don't know why dimensions do not match, because rAUf is defined as a dimensionedScalar before and I did not change anything there.


another question, maybe same problem: what is the difference of rAUf and rUAf? Because they are used the same way in interDyMFoam and pimpleDyMIbFoam, but have different names. Do they mean the same and have the same dimensions? I read about rAUf of beeing the main diagonal elements of U, then inverted and interpolated.
As later defined in pEqn.H:
Code:
volScalarField rAU = 1.0/UEqn.A();
surfaceScalarField rUAf = fvc::interpolate(rAU)
Doesn't that contradict the definition as a dimensionedScalar as made before? Or how are rAUf and rUAf defined when they are used in laplacian(rAUf, pcorr)?


Some interesting effect besides, deleting all headers acessing the correctPhi.H header, pressure p and pd are calculated in the whole area, the IB-block deadCells of IB-method are calculated correctly, but velocity is only calculated in one phase. And Alpha values are not calculated.


Thanks in advance for your answers!


Best regards
Fabian
Attached Files
File Type: txt fehler_forum.txt (3.9 KB, 10 views)
Jo88 likes this.
FabiKri is offline   Reply With Quote

Old   June 26, 2019, 18:36
Default Unkown case in MULES?
  #2
New Member
 
Fabian Krieg
Join Date: Jun 2019
Posts: 2
Rep Power: 0
FabiKri is on a distinguished road
After some work it proved, that the nonOrthogonal Corrections in the pimple-Loop are problematic. If I removed them (in correctPhi.H-File) then the velocity-Field of the modified damBreak-Tutorial(interDyMFoam with IB) was calculated (for an orthogonal Mesh). So the error must be a tricky problem in the nonOrthogonal-Correction, unfortunately I couldn't find it:/ But by now the p- and U-Field are calculated correctly for orthogonal meshes and IB object is recognized correctly. So only the alpha isn't calculated.

Not further caring about the removed nonOrthogonalCorrection, I continued my work to add the IB method to the interDyMFoam solver.
Running the modified solver(interDyMFoam with IB from pimpleDyMIbFoam) on my modified damBreak Tutorial, a new error occured:
Code:
PIMPLE: iteration 1
MULES: Solving for alpha1


--> FOAM FATAL ERROR: 
    incompatible fields Field<scalar> f1(240), Field<scalar> f2(0) and Field<scalar> f3(240)
    for operation f1 = f2 * f3

    From function checkFields(const UList<Type1>&, const UList<Type2>&, const UList<Type3>&, const char*)
    in file /opt/foam/foam-extend-4.1/src/foam/lnInclude/FieldM.H at line 84.

FOAM aborting
This error is located at the multiplication
Code:
    phiPsi = phiBD + lambda*phiCorr;
of lambda (=f2 in error message) and phiCorr (=f3) in the MULESTemplates.C File at line 97. Checking with gdb gave a hint that it could be a different allLambda, because for interDyMFoam it has the typeName = <optimized out> and in the interDyMFoam with IB it has the typeName = 'memory-adress' "Fields", wich is different and could lead to the dimension-error at the multiplication.

Another idea I had is that the interDyMFoam solver with IB doesn't distinguish correctly between the IB and ordinary Mesh. Because the dimension in the error message above f3(240) is the same as the number of IB-Cells (nIbCells: 240).
I don't know how to solve this problem that is maybe an unknown case to MULES and I would be really happy if someone has an idea about how to solve that problem.


Thanks in advance!




Best regards
Fabian
FabiKri is offline   Reply With Quote

Reply

Tags
correctphi, interdymfoam, laplacian, rauf, ruaf


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
Level set method in FVM RakeshRR Main CFD Forum 0 July 28, 2017 11:08
About the accuracy of DNS with spectral method and FVM method huangxianbei Main CFD Forum 6 May 25, 2014 12:25
FVM density based implicit method? ANikzad Main CFD Forum 2 May 24, 2014 09:18
comments on FDM, FEM, FVM, SM, SEM, DSEM, BEM kenn Main CFD Forum 2 July 18, 2004 19:28
hess-smith method and fvm method yangqing FLUENT 0 March 20, 2002 20:25


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