CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (https://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   interTrackFoam diffusivity distortionEnergy (https://www.cfd-online.com/Forums/openfoam-bugs/62678-intertrackfoam-diffusivity-distortionenergy.html)

virginie_e March 17, 2009 03:58

interTrackFoam diffusivity distortionEnergy
 
Hello Foamers,

I had a problem with interTrackFoam when I tried to use it with the diffusivity option distortionEnergy. The simulation runs fine during one time step and then aborts with the following error message:

Time = 4e-05
include readInterfaceSIMPLEControls.H: done
Courant Number mean: 4.56289e-06 max: 0.000340596 velocity magnitude: 0.0325762
include CourantNo.H: done
interface.updateDisplacementDirections(): done
CG: Solving for motionUx, Initial residual = 0.282994, Final residual = 9.8461e-10, No Iterations 73
CG: Solving for motionUy, Initial residual = 0.285915, Final residual = 7.86543e-10, No Iterations 74
CG: Solving for motionUx, Initial residual = 2.17566e-08, Final residual = 4.42034e-10, No Iterations 1
CG: Solving for motionUy, Initial residual = 0.000535407, Final residual = 7.8184e-10, No Iterations 22

Different dimensions for +=
dimensions : [0 1 0 0 0 0 0] = [0 1 1 0 0 0 0]

From function dimensionSet::operator+=(const dimensionSet& ds) const
in file dimensionSet/dimensionSet.C at line 157.


I suppose that the dimension of a field is inadvertently changed during the first iteration... Does anyone know how to fix that? Thank you a lot.

Virginie

WiWo April 4, 2012 12:03

Hi Virginie,

I know that this post dates back quite a while ... but did you find any solution to your problem?
I'm encountering the exact same issue when using either diffusivity option distortionEnergy or deformationEnergy in bubbleInterTrackFoam. Some kind of dimension mismatch occurs ... curiously, when running another solver like icoFsiFoam the same settings work quite fine.

Do you or has anybody else any hints on how to solve this problem?

Cheers,
Wolfgang

kmooney May 9, 2012 21:18

A good place to start might be running it again in debug and getting a stack trace on the error.

WiWo May 10, 2012 05:32

Hi Kyle,

Thanks for your reply! I actually got it sorted out ... it seems that in some tutorial cases (namely surfaceTracking/interTrackFoam/hydrofoil & ramp) the dimension of motionU is set incorrectly to [ 0 1 0 0 0 0 0 ] (distance) while it should certainly be [ 0 1 -1 0 0 0 0 ] (velocity).
This tiny flaw usually doesn't show up because apparently only the .value() is read, but seemingly, the distortionEnergy and deformationEnergy options in dynamicMeshDict trigger a check for dimensions.

Cheers,
Wolfgang

P.S.: Be aware that moreover the dimension of surfaceTension (constant/freeSurfaceProperties) in all interTrackFoam cases should be [ 1 0 -2 0 0 0 0 ] instead of [ 1 -2 0 0 0 0 0 ].

kmooney May 10, 2012 10:18

Good find! You might want to consider posting this as a bug, it would be good to have the mesh motion solvers consistently do dimension checks regardless of the formulation.

Kyle


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