interTrackFoam diffusivity distortionEnergy
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
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.
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?
A good place to start might be running it again in debug and getting a stack trace on the error.
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.
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 ].
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.
|All times are GMT -4. The time now is 06:20.|