|
[Sponsors] |
[isoAdvector] IsoAdvector: A new interface advection scheme for interFoam type calculations |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
September 7, 2020, 10:47 |
|
#81 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Thanks :-)
In the new version, OpenFOAM-v2006, a major restructuring of the isoAdvector code was introduced. Now there is a reconstructionSchemes base class, which has a public member function called centre() returning a const ref to a volVectorField containing the "isoface centres". See here: https://develop.openfoam.com/Develop...Schemes.H#L233 There is also a similar function called normal() returning the interface normal vector (with lenght equal to isoface area). |
|
September 24, 2020, 08:15 |
|
#82 |
Member
Dongxu Wang
Join Date: Sep 2018
Location: China
Posts: 33
Rep Power: 8 |
Hi Johan,
I use isoAdvector with the overset grid to simulate the motion of a floating object under regular waves. According to your suggestions, I set the tolerance of p_rgh smaller than the surfCellTol to avoid the problem of air bubbles: Code:
"alpha.water.*" { isoFaceTol 1e-6; surfCellTol 1e-6; nAlphaBounds 3; snapTol 1e-12; clip true; nAlphaSubCycles 1; cAlpha 1; // Note: cAlpha is not used by isoAdvector but must // be specified because interfacePropertes object // reads it during construction. } "pcorr.*" { solver PCG; preconditioner DIC; tolerance 1e-8; relTol 1e-4; } p_rgh { solver PBiCGStab; preconditioner DILU; tolerance 1e-8; relTol 1e-4; } p_rghFinal { $p_rgh; relTol 1e-4; } PIMPLE { momentumPredictor no; nOuterCorrectors 13; nCorrectors 3; nNonOrthogonalCorrectors 0; ddtCorr yes; correctPhi no; moveMeshOuterCorrectors yes; residualControl { p_rgh { tolerance 0; relTol 1e-4; } } turbOnFinalIterOnly yes; // I conducted my simulation under the laminar condition oversetAdjustPhi no; } Furthermore, some warning occurs as the simulation proceeds: Code:
--> FOAM Warning : From function void Foam::isoCutFace::cutPoints(const pointField&, const scalarField&, Foam::scalar, Foam::DynamicList<Foam::Vector<double> >&) in file fvMatrices/solvers/isoAdvection/isoCutFace/isoCutFace.C at line 667 cutPoints = 4((20.01 0 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.01 0.02 -0.00272300262577) (20.01 0 -0.00272300262577)) for pts = 4((20.01 0 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.01 0.02 -0.00272300262577) (20.01 0 -0.00272300262577)), f - f0 = 4(2.47963775186e-16 2.47963775186e-16 -2.5234546545e-15 -2.5234546545e-15) and f0 = 0 --> FOAM Warning : From function void Foam::isoCutFace::cutPoints(const pointField&, const scalarField&, Foam::scalar, Foam::DynamicList<Foam::Vector<double> >&) in file fvMatrices/solvers/isoAdvection/isoCutFace/isoCutFace.C at line 667 cutPoints = 4((20.02 0 -0.00672300262577) (20.02 0.02 -0.00672300262577) (20.02 0.02 -0.00272300262577) (20.02 0 -0.00272300262577)) for pts = 4((20.02 0 -0.00672300262577) (20.02 0.02 -0.00672300262577) (20.02 0.02 -0.00272300262577) (20.02 0 -0.00272300262577)), f - f0 = 4(6.39968315195e-17 6.39968315195e-17 -3.53519763715e-16 -3.53519763715e-16) and f0 = 0 --> FOAM Warning : From function void Foam::isoCutFace::cutPoints(const pointField&, const scalarField&, Foam::scalar, Foam::DynamicList<Foam::Vector<double> >&) in file fvMatrices/solvers/isoAdvection/isoCutFace/isoCutFace.C at line 667 cutPoints = 4((20 0 -0.00672300262577) (20 0.02 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.01 0 -0.00672300262577)) for pts = 4((20 0 -0.00672300262577) (20 0.02 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.01 0 -0.00672300262577)), f - f0 = 4(-3.48677896164e-15 -3.48677896164e-15 2.47963775186e-16 2.47963775186e-16) and f0 = 0 --> FOAM Warning : From function void Foam::isoCutFace::cutPoints(const pointField&, const scalarField&, Foam::scalar, Foam::DynamicList<Foam::Vector<double> >&) in file fvMatrices/solvers/isoAdvection/isoCutFace/isoCutFace.C at line 667 cutPoints = 4((20.01 0 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.02 0.02 -0.00672300262577) (20.02 0 -0.00672300262577)) for pts = 4((20.01 0 -0.00672300262577) (20.01 0.02 -0.00672300262577) (20.02 0.02 -0.00672300262577) (20.02 0 -0.00672300262577)), f - f0 = 4(-7.35446095197e-16 -7.35446095197e-16 6.39968315195e-17 6.39968315195e-17) and f0 = 0 The simulation was performed using OFv1906. It would be nice if you could give me some advice. Thank you very much. WDX |
|
September 24, 2020, 11:25 |
|
#83 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi WDX
Cool that you are trying out isoAdvector with overset grid. As of now, this is not officially supported, I'd be very surprised, if it worked without code modifications, but then again, there is in principle nothing to hinder isoAdvector working with overset grids. The warnings mean that some cell faces are cut by more than one "isoface", which indicates that there are cells with more than one isoface inside it. In your case this is probably a biproduct of the problem you see, so don't think too much about these warnings. The real problem is the continuity errors caused by the pressure solution (and probably worsened by interpolations between the meshes) causing isoAdvector to find fluid interfaces in cells that should contain only water. Could you do me a favor and try to rerun with surfCellTol 1e-3 and let me know if this prevents the bubbles? This is not a solution, just a diagnostic attempt. Kind regards, Johan |
|
September 24, 2020, 23:46 |
|
#84 | |
Member
Dongxu Wang
Join Date: Sep 2018
Location: China
Posts: 33
Rep Power: 8 |
Quote:
From my experience, it seems that isoAdvector can work together with the overset grid without further modifications. However, there may exist some tiny problems unfounded (such as this air bubble problem, and the pressure oscillation problem as mentioned below): I performed an experiment that investigates the FSI of a floating box and a dambreak flow recently. I have already used my program to simulate the experiment. The result is uploaded in the attachment (the manuscript is under review, so sorry for cannot upload the paper, and the experiment data will be released once the paper is accepted). As you can see, the result is relatively good in terms of the surface elevation and structure motion. However, the pressure (impact load) curve oscillates. I am not sure whether this is induced by the air bubble problem or not. The same problem is also observed in regular wave simulations. All in all, this problem may be not critical if the focus is not on the pressure or air bubbles. But I am trying to fix it . I will try it with 1e-3 and upload the result in the future. However, this may be time consuming because my simulation is performed using PIMPLE. To save time, I think I should run my case with PISO first. Regards WDX |
||
September 25, 2020, 19:29 |
|
#85 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Interesting work, WDX. I'd be very interested in seeing that paper once it is available. It looks like the two figures are from two different experiments. Right? Are the numerical curves with overset and isoAdvector in both figs? The pressure oscillations are especially pronounced in the beginning of fig2 but do not seem to harm the 6DoF motion significantly. These might be added mass instability oscillations. Did you try the same setup with MULES and see if this gives similar pressure oscillations?
|
|
September 28, 2020, 05:15 |
|
#86 | |
Member
Dongxu Wang
Join Date: Sep 2018
Location: China
Posts: 33
Rep Power: 8 |
Quote:
Thank you for your reply. I conducted some simulations as per your suggestion, and I have an interesting finding: When a smaller tolerance is used, the occurrence of the air bubble problem may be due to the discontinues field on the interface of different subdomians (processors). The problem disappears when the program is ran in the serial mode. Details on this issue is updated as a attachment. Furthermore, the pressure oscillation problem is likely due to the added mass effect, as your said. Actually, I embedded an algorithm in 6DOF model with the aim of ensuring strong coupling. That is also the reason why my cases are ran with PIMPLE. However, I didn't use under-relaxation in the previous simulation. I believe that the pressure oscillation problem may be alleviated by introducing the under-relaxation field to p_rgh field. I will try it. Please check the attachment. Due to the limit of attachment filesize (only 195kb...), some figures were eliminated, and the figure may be not clear enough. If you want to see the figure, please let me know, and I will send you an e-mail. Again, if you could give me some suggestion, I will be very grateful. Regards WDX |
||
February 1, 2021, 10:54 |
compiling isoAdvector with openfoam-dev
|
#87 |
New Member
TN
Join Date: Dec 2020
Posts: 4
Rep Power: 5 |
Hello, i'am working on the process selective laser melting, i find a repository from github which contain an openfoam solver for selective laser melting :
https://github.com/zekunwang96/Selective-laser-melting I followed the instructions to compile this solver but still without success i'am using OpenFOAM-dev , this is the error that appears : nada@nada-VirtualBox:~/Selective-laser-melting/isoAdvector-mastert$ ls Allwclean bin foam-extend-4.1 OpenFOAM-3.0.1 OpenFOAM-dev SLM5v Allwmake foam-extend OpenFOAM OpenFOAM-8 README.md nada@nada-VirtualBox:~/Selective-laser-melting/isoAdvector-mastert$ ./Allwmake Installing isoAdvector... Copying non-existing files from OpenFOAM to OpenFOAM-dev... Changing code in ../OpenFOAM-dev/src to old API. sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files /home/nada/Selective-laser-melting/isoAdvector-mastert The solver interFlow was already build from interFoam.C. To rebuild it from scratch remove the file OpenFOAM-dev/applications/solvers/interFlow/dontRebuild and recompile. This will overwrite all your changes to OpenFOAM-dev/applications/solvers/interFlow /home/nada/Selective-laser-melting/isoAdvector-mastert Compiling src/OpenFOAM-dev... + wmake libso wmake libso . g++ -std=c++14 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM-dev/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude -fPIC -c isoAdvection/isoAdvection.C -o Make/linux64GccDPInt32Opt/isoAdvection/isoAdvection.o isoAdvection/isoAdvection.C: In constructor ‘Foam::isoAdvection::isoAdvection(Foam::volScalarF ield&, const surfaceScalarField&, const volVectorField&)’: isoAdvection/isoAdvection.C:58:45: error: binding reference of type ‘Foam::scalarField&’ {aka ‘Foam::Field<double>&’} to ‘const Foam::Field<double>’ discards qualifiers 58 | alpha1In_(alpha1.oldTime().internalField()), // Need to reorganise | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ isoAdvection/isoAdvection.C: In member function ‘void Foam::isoAdvection::timeIntegratedFlux()’: isoAdvection/isoAdvection.C:152:44: error: binding reference of type ‘Foam::scalarField&’ {aka ‘Foam::Field<double>&’} to ‘const Foam::Field<double>’ discards qualifiers 152 | scalarField& dVfIn = dVf_.internalField(); | ~~~~~~~~~~~~~~~~~~^~ isoAdvection/isoAdvection.C:355:31: error: ‘GeometricBoundaryField’ in ‘Foam::surfaceScalarField’ {aka ‘class Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>’} does not name a type 355 | const surfaceScalarField::GeometricBoundaryField& phib = phi_.boundaryField(); | ^~~~~~~~~~~~~~~~~~~~~~ isoAdvection/isoAdvection.C:356:31: error: ‘GeometricBoundaryField’ in ‘Foam::surfaceScalarField’ {aka ‘class Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>’} does not name a type 356 | const surfaceScalarField::GeometricBoundaryField& magSfb = mesh_.magSf().boundaryField(); | ^~~~~~~~~~~~~~~~~~~~~~ isoAdvection/isoAdvection.C:357:25: error: ‘GeometricBoundaryField’ is not a member of ‘Foam::surfaceScalarField’ {aka ‘Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>’} 357 | surfaceScalarField::GeometricBoundaryField& dVfb = dVf_.boundaryField(); | ^~~~~~~~~~~~~~~~~~~~~~ isoAdvection/isoAdvection.C:357:49: error: ‘dVfb’ was not declared in this scope; did you mean ‘dVf_’? 357 | surfaceScalarField::GeometricBoundaryField& dVfb = dVf_.boundaryField(); | ^~~~ | dVf_ isoAdvection/isoAdvection.C:379:33: error: ‘phib’ was not declared in this scope; did you mean ‘phi_’? 379 | const scalar phiP = phib[patchi][patchFacei]; | ^~~~ | phi_ isoAdvection/isoAdvection.C:383:38: error: ‘magSfb’ was not declared in this scope; did you mean ‘magSf’? 383 | const scalar magSf = magSfb[patchi][patchFacei]; | ^~~~~~ | magSf isoAdvection/isoAdvection.C: In member function ‘void Foam::isoAdvection::syncProcPatches(Foam::surfaceS calarField&, const surfaceScalarField&)’: isoAdvection/isoAdvection.C:1127:39: error: ‘nonBlocking’ is not a member of ‘Foam::Pstream’ 1127 | PstreamBuffers pBufs(Pstream::nonBlocking); | ^~~~~~~~~~~ isoAdvection/isoAdvection.C:1191:64: error: binding reference of type ‘Foam::scalarField&’ {aka ‘Foam::Field<double>&’} to ‘const Foam::Field<double>’ discards qualifiers 1191 | scalarField& localFlux = dVf.boundaryField()[patchi]; | ^ In file included from isoAdvection/isoAdvection.H:389, from isoAdvection/isoAdvection.C:24: isoAdvection/isoAdvectionTemplates.C: In instantiation of ‘void Foam::isoAdvection::faceValue(Foam::GeometricField <Type, Foam::fvsPatchField, Foam::surfaceMesh>&, Foam::label, const Type&) const [with Type = double; Foam::label = int]’: isoAdvection/isoAdvection.C:902:70: required from here isoAdvection/isoAdvectionTemplates.C:76:34: error: assignment of read-only location ‘(&(& f)->Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>::internalField())->Foam:imensionedField<double, Foam::surfaceMesh>::<anonymous>.Foam::Field<double >::<anonymous>.Foam::List<double>::<anonymous>.Foa m::UList<double>:perator[](((Foam::label)facei))’ 76 | f.internalField()[facei] = value; | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ isoAdvection/isoAdvectionTemplates.C:101:47: error: assignment of read-only location ‘(&(&(& f)->Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>::boundaryField())->Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh>::Boundary::<anonymous>.Foam::Fi eldField<Foam::fvsPatchField, double>::<anonymous>.Foam::PtrList<Foam::fvsPatchF ield<double> >::<anonymous>.Foam::UPtrList<Foam::fvsPatchField< double> >:perator[](((Foam::label)patchi)))->Foam::fvsPatchField<double>::<anonymous>.Foam::Fi eld<double>::<anonymous>.Foam::List<double>::<anon ymous>.Foam::UList<double>:perator[](((Foam::label)patchFacei))’ 101 | f.boundaryField()[patchi][patchFacei] = value; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ make: *** [/home/nada/OpenFOAM-dev/wmake/rules/General/transform:26: Make/linux64GccDPInt32Opt/isoAdvection/isoAdvection.o] Error 1 + wmake libso finiteVolume/interpolationSchemes wmake libso finiteVolume/interpolationSchemes Compiling applications/OpenFOAM-dev... + wmake all solvers/interFlow wmake solvers/interFlow g++ -std=c++14 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-dev/src/lnInclude -I/home/nada/OpenFOAM-dev/src/transportModels/lnInclude -I/home/nada/OpenFOAM-dev/src/twoPhaseModels/twoPhaseMixture/lnInclude -I/home/nada/OpenFOAM-dev/src/twoPhaseModels/interfaceProperties/lnInclude -I/home/nada/OpenFOAM-dev/src/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude -I/home/nada/OpenFOAM-dev/src/twoPhaseModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude -I/home/nada/OpenFOAM-dev/src/MomentumTransportModels/momentumTransportModels/lnInclude -I/home/nada/OpenFOAM-dev/src/MomentumTransportModels/incompressible/lnInclude -I/home/nada/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM-dev/src/dynamicFvMesh/lnInclude -I/home/nada/OpenFOAM-dev/src/meshTools/lnInclude -I/home/nada/OpenFOAM-dev/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude -fPIC -c interFlow.C -o Make/linux64GccDPInt32Opt/interFlow.o In file included from ./createFields.H:126, from /home/nada/OpenFOAM-dev/src/OpenFOAM/lnInclude/postProcess.H:105, from interFlow.C:52: ./createIsoAdvection.H: In function ‘int main(int, char**)’: ./createIsoAdvection.H:6:8: warning: unused variable ‘snapAlphaTol’ [-Wunused-variable] 6 | scalar snapAlphaTol(isoAdvectorDict.lookupOrDefault<scala r>("snapTol", 1e-12)); | ^~~~~~~~~~~~ ./createIsoAdvection.H:7:6: warning: unused variable ‘clipAlpha’ [-Wunused-variable] 7 | bool clipAlpha(isoAdvectorDict.lookupOrDefault<bool>("c lip", true)); | ^~~~~~~~~ ./createIsoAdvection.H:76:6: warning: unused variable ‘prescribedU’ [-Wunused-variable] 76 | bool prescribedU(isoAdvectorDict.lookupOrDefault<bool>( "prescribedU", false)); | ^~~~~~~~~~~ ./createIsoAdvection.H:77:14: warning: unused variable ‘period’ [-Wunused-variable] 77 | const scalar period = isoAdvectorDict.lookupOrDefault<scalar>("period", 0.0); | ^~~~~~ ./createIsoAdvection.H:78:8: warning: unused variable ‘reverseTime’ [-Wunused-variable] 78 | scalar reverseTime = isoAdvectorDict.lookupOrDefault<scalar>("reverseTi me", 0.0); | ^~~~~~~~~~~ ./createIsoAdvection.H:87:8: warning: unused variable ‘advectionTime’ [-Wunused-variable] 87 | scalar advectionTime = 0; | ^~~~~~~~~~~~~ ./createIsoAdvection.H:90:14: warning: unused variable ‘V0’ [-Wunused-variable] 90 | const scalar V0(gSum(mesh.V().field()*alpha1.internalField()) + SMALL); | ^~ In file included from alphaEqnSubCycle.H:30, from advectInterface.H:7, from interFlow.C:137: alphaEqn.H:48:37: error: ‘class Foam::immiscibleIncompressibleTwoPhaseMixture’ has no member named ‘cAlpha’ 48 | surfaceScalarField phic(mixture.cAlpha()*mag(phi/mesh.magSf())); | ^~~~~~ alphaEqn.H:51:9: error: ‘icAlpha’ was not declared in this scope; did you mean ‘isalpha’? 51 | if (icAlpha > 0) | ^~~~~~~ | isalpha alphaEqn.H:54:26: error: ‘class Foam::immiscibleIncompressibleTwoPhaseMixture’ has no member named ‘cAlpha’ 54 | phic += (mixture.cAlpha()*icAlpha)*fvc::interpolate(mag(U) ); | ^~~~~~ alphaEqn.H:106:9: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 106 | alphaPhi = talphaPhiUD(); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:108:35: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 108 | if (alphaApplyPrevCorr && talphaPhiCorr0.valid()) | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:117:9: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 117 | talphaPhiCorr0 = talphaPhiUD; | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:129:9: error: ‘alphaPhiUn’ was not declared in this scope; did you mean ‘alphaPhi10’? 129 | alphaPhiUn = | ^~~~~~~~~~ | alphaPhi10 alphaEqn.H:149:54: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 149 | cnCoeff*alphaPhiUn + (1.0 - cnCoeff)*alphaPhi.oldTime(); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:154:64: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 154 | tmp<surfaceScalarField> talphaPhiCorr(alphaPhiUn - alphaPhi); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:172:13: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 172 | alphaPhi = alphaPhiUn; | ^~~~~~~~ | alphaPhi10 alphaEqn.H:184:9: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 184 | talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:184:26: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 184 | talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; | ^~~~~~~~ | alphaPhi10 alphaEqn.H:193:18: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 193 | rhoPhi = alphaPhi*(rho1 - rho2) + phiCN*rho2; | ^~~~~~~~ | alphaPhi10 alphaEqn.H:200:13: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 200 | alphaPhi = (alphaPhi - (1.0 - cnCoeff)*alphaPhi.oldTime())/cnCoeff; | ^~~~~~~~ | alphaPhi10 alphaEqn.H:204:18: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 204 | rhoPhi = alphaPhi*(rho1 - rho2) + phi*rho2; | ^~~~~~~~ | alphaPhi10 In file included from alphaEqnSubCycle.H:38, from advectInterface.H:7, from interFlow.C:137: alphaEqn.H:48:37: error: ‘class Foam::immiscibleIncompressibleTwoPhaseMixture’ has no member named ‘cAlpha’ 48 | surfaceScalarField phic(mixture.cAlpha()*mag(phi/mesh.magSf())); | ^~~~~~ alphaEqn.H:51:9: error: ‘icAlpha’ was not declared in this scope; did you mean ‘isalpha’? 51 | if (icAlpha > 0) | ^~~~~~~ | isalpha alphaEqn.H:54:26: error: ‘class Foam::immiscibleIncompressibleTwoPhaseMixture’ has no member named ‘cAlpha’ 54 | phic += (mixture.cAlpha()*icAlpha)*fvc::interpolate(mag(U) ); | ^~~~~~ alphaEqn.H:106:9: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 106 | alphaPhi = talphaPhiUD(); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:108:35: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 108 | if (alphaApplyPrevCorr && talphaPhiCorr0.valid()) | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:117:9: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 117 | talphaPhiCorr0 = talphaPhiUD; | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:129:9: error: ‘alphaPhiUn’ was not declared in this scope; did you mean ‘alphaPhi10’? 129 | alphaPhiUn = | ^~~~~~~~~~ | alphaPhi10 alphaEqn.H:149:54: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 149 | cnCoeff*alphaPhiUn + (1.0 - cnCoeff)*alphaPhi.oldTime(); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:154:64: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 154 | tmp<surfaceScalarField> talphaPhiCorr(alphaPhiUn - alphaPhi); | ^~~~~~~~ | alphaPhi10 alphaEqn.H:172:13: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 172 | alphaPhi = alphaPhiUn; | ^~~~~~~~ | alphaPhi10 alphaEqn.H:184:9: error: ‘talphaPhiCorr0’ was not declared in this scope; did you mean ‘talphaPhi1Corr0’? 184 | talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; | ^~~~~~~~~~~~~~ | talphaPhi1Corr0 alphaEqn.H:184:26: error: ‘alphaPhi’ was not declared in this scope; did you mean ‘alphaPhi10’? 184 | talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; | ^~~~~~~~ | alphaPhi10 thank you |
|
February 1, 2021, 11:15 |
|
#88 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi enim
I don't have anything to do with the github repo you mention - but I can mention that due to code reorganisation in OpenFOAM-dev, the github.com/isoAdvector version does not currently (1st February 2021) compile with OpenFOAM-dev without modifications by the user (Please see the isoAdvector README for info about currently supported OpenFOAM versions). Hence, unless the laser melting repo you refer to uses an updated isoAdvector with dev version support, don't expect it to work with dev (from the repo README it appears that it was developed for the old OpenFOAM-3.0.1). I will eventually make github.com/isoAdvector work with the OpenFOAM-dev but my priority is maintenance and development for the openfoam.com version over at develop.openfoam.com. Kind regards, Johan Roenby |
|
February 8, 2021, 08:46 |
compile isoAdvector error
|
#89 |
New Member
TN
Join Date: Dec 2020
Posts: 4
Rep Power: 5 |
Hello everyone,
I want to compile isoadvector solver but without success how to fix this error ? i have installed openfoam-3.0.1 version in my ubuntu because the solver i want to compile run with this version(openfoam-3.0.1) nada@DESKTOP-C096SK6:~/Selective-laser-melting/isoAdvector-mastert$ ./Allwmake Installing isoAdvector... Copying non-existing files from OpenFOAM to OpenFOAM-3.0.1... Changing code in ../OpenFOAM-3.0.1/src to old API. sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files sed: no input files /home/nada/Selective-laser-melting/isoAdvector-mastert The solver interFlow was already build from interFoam.C. To rebuild it from scratch remove the file OpenFOAM-3.0.1/applications/solvers/interFlow/dontRebuild and recompile. This will overwrite all your changes to OpenFOAM-3.0.1/applications/solvers/interFlow /home/nada/Selective-laser-melting/isoAdvector-mastert Compiling src/OpenFOAM-3.0.1... + wmake libso wmakeLnInclude: linking include files to ./lnInclude Making dependency list for source file isoAdvection/isoAdvection.C Making dependency list for source file isoCutFace/isoCutFace.C Making dependency list for source file isoCutCell/isoCutCell.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c isoCutCell/isoCutCell.C -o Make/linux64GccDPInt32Opt/isoCutCell/isoCutCell.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c isoCutFace/isoCutFace.C -o Make/linux64GccDPInt32Opt/isoCutFace/isoCutFace.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c isoAdvection/isoAdvection.C -o Make/linux64GccDPInt32Opt/isoAdvection/isoAdvection.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -shared -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/isoCutCell/isoCutCell.o Make/linux64GccDPInt32Opt/isoCutFace/isoCutFace.o Make/linux64GccDPInt32Opt/isoAdvection/isoAdvection.o -L/home/nada/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib \ -lfiniteVolume -lmeshTools -o /home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib/libisoAdvection.so '/home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib/libisoAdvection.so' is up to date. + wmake libso finiteVolume/interpolationSchemes wmakeLnInclude: linking include files to ./lnInclude Making dependency list for source file vofCompression/vofCompression.C Making dependency list for source file mHRIC/mHRIC.C Making dependency list for source file HRIC/HRIC.C Making dependency list for source file CICSAM/CICSAM.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c CICSAM/CICSAM.C -o Make/linux64GccDPInt32Opt/CICSAM/CICSAM.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c HRIC/HRIC.C -o Make/linux64GccDPInt32Opt/HRIC/HRIC.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c mHRIC/mHRIC.C -o Make/linux64GccDPInt32Opt/mHRIC/mHRIC.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c vofCompression/vofCompression.C -o Make/linux64GccDPInt32Opt/vofCompression/vofCompression.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -shared -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/CICSAM/CICSAM.o Make/linux64GccDPInt32Opt/HRIC/HRIC.o Make/linux64GccDPInt32Opt/mHRIC/mHRIC.o Make/linux64GccDPInt32Opt/vofCompression/vofCompression.o -L/home/nada/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib \ -o /home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib/libVOFInterpolationSchemes.so '/home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib/libVOFInterpolationSchemes.so' is up to date. Compiling applications/OpenFOAM-3.0.1... + wmake all solvers/interFlow Making dependency list for source file interFlow.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/transportModels/twoPhaseMixture/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/transportModels -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/transportModels/incompressible/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/transportModels/interfaceProperties/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/TurbulenceModels/incompressible/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/transportModels/immiscibleIncompressibleTwoPhaseMixture/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/fvOptions/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/dynamicMesh/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/dynamicFvMesh/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/isoAdvection -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/isoCutCell -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/isoCutFace -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c interFlow.C -o Make/linux64GccDPInt32Opt/interFlow.o cc1plus: fatal error: /home/nada/OpenFOAM/OpenFOAM-3.0.1/src/isoAdvection/stdc-predef.h: Permission denied compilation terminated. /home/nada/OpenFOAM/OpenFOAM-3.0.1/wmake/rules/General/transform:8: recipe for target 'Make/linux64GccDPInt32Opt/interFlow.o' failed make: *** [Make/linux64GccDPInt32Opt/interFlow.o] Error 1 + wmake all test make[1]: Entering directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/test/isoCutTester' Making dependency list for source file isoCutTester.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c isoCutTester.C -o Make/linux64GccDPInt32Opt/isoCutTester.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/isoCutTester.o -L/home/nada/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib \ -L/home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib -lfiniteVolume -lmeshTools -lsampling -lisoAdvection -lOpenFOAM -ldl \ -lm -o /home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/bin/isoCutTester make[1]: Leaving directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/test/isoCutTester' + wmake all utilities/preProcessing make[1]: Entering directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/utilities/preProcessing/isoSurf' Making dependency list for source file isoSurf.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c isoSurf.C -o Make/linux64GccDPInt32Opt/isoSurf.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/isoSurf.o -L/home/nada/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib \ -L/home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib -lfiniteVolume -lmeshTools -lsampling -lisoAdvection -lOpenFOAM -ldl \ -lm -o /home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/bin/isoSurf make[1]: Leaving directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/utilities/preProcessing/isoSurf' + wmake all utilities/postProcessing make[1]: Entering directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/utilities/postProcessing/uniFlowErrors' Making dependency list for source file uniFlowErrors.C g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -c uniFlowErrors.C -o Make/linux64GccDPInt32Opt/uniFlowErrors.o g++-5 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3 -DNoRepository -ftemplate-depth-100 -I/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/src/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/meshTools/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/sampling/lnInclude -IlnInclude -I. -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OpenFOAM/lnInclude -I/home/nada/OpenFOAM/OpenFOAM-3.0.1/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPInt32Opt/uniFlowErrors.o -L/home/nada/OpenFOAM/OpenFOAM-3.0.1/platforms/linux64GccDPInt32Opt/lib \ -L/home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/lib -lfiniteVolume -lmeshTools -lsampling -lisoAdvection -lOpenFOAM -ldl \ -lm -o /home/nada/OpenFOAM/nada-3.0.1/platforms/linux64GccDPInt32Opt/bin/uniFlowErrors make[1]: Leaving directory '/home/nada/Selective-laser-melting/isoAdvector-mastert/OpenFOAM-3.0.1/applications/utilities/postProcessing/uniFlowErrors' |
|
November 17, 2021, 08:47 |
interIsoFoam - issues with large contact angles?
|
#90 |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
hi all,
i'm experimenting with interIsoFoam on a similar test case to the "static bubble case" used for the validation here: https://www.sciencedirect.com/scienc...45793020302929 and i get some strange results... main differences to the validation case are: - it's 3d --> i'm trying to simulate a water droplet between two glass plates - i have large contact angles of 130° - i have very flat cells (xy dimension is 5x larger than z) as a result i would also expect a round droplet. Using interFoam i get a round droplet. With interIsoFoam i get a droplet which aligns to the rectangular grid (which is the opposite from the findings in the validation test case) --> see attached image: top interFoam, bottom interIsoFoam i've tried - a run with 90° contact angle --> this works and gives a round droplet - a run with 50° contact angle --> this works as well - changing resolutions across the gap --> more cells make it worse. - going from flat to cubic cells --> works (but as i understand the idea of the plicRDF would be to work on more irregular grids and needing to increase the xy-resolution will lead to very long simulation times...) so my guess is that there is a problem with dealing with "Hyperbolic paraboloid" surfaces combined with a certain aspect ratio of the cells. maybe this can be improved with better settings? (i'm using the fvSchemes/fvSolution of the "damBreakWithObstacle" case. or ist this a known limitation of interIsoFoam? (Or i've done some very stupid mistake...) i've attached the test case, for those who are interested... what you will notice: - the grid consists of rather flat-cells (as the case i finally want to calculate consists of 2 microscopy slides (2cm x 5cm which are only separated by 0.2mm.) - i have very few cells in the gap as the initial intention was to use dynamic mesh refinement - however increasing the number of cells across the gap worsens the result... (i guess because it is then able to better reconstruct the shape of the interface across the gap which is more curved.) any hints on how to improve the results would be great! cheers alex |
|
November 17, 2021, 09:06 |
|
#91 | |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
Quote:
and some attachments... |
||
November 23, 2021, 05:52 |
|
#92 |
Member
Join Date: Nov 2012
Posts: 83
Rep Power: 13 |
The results look really strange ...
the plicRDF scheme "only" increase the accuracy of the interface advection but the standard OpenFOAM surface tension model is here most likely the issue. You should get better results if you change the gradient scheme in fvSchemes pointCellsLeastSquares You could also test this library that adds new surface tension models https://github.com/DLR-RY/twophaseflow Last edited by Henning86; November 24, 2021 at 06:43. |
|
December 3, 2021, 06:14 |
|
#93 | |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
Quote:
thanks! will try the different gradient scheme soon and post the results here. |
||
December 17, 2021, 03:45 |
|
#94 | |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
Quote:
At the moment i'm performing several tests with various settings. The pointCellsLeastSquares grad scheme helps a bit but the shape of the droplet is still not round (I also noticed an error in my first post --> also with interFoam the shape is not perfect, but better) So far it looks like the main problem is the mesh --> i think the flat cells cause the problems (x,y are five times larger than z - probably with calculating the surface tension usind the gradient?). If i use perfectly cubic cells, the shape of the droplet is correct... is there any known limit for the aspect ratio of the cells for inter(Iso)Foam? |
||
December 17, 2021, 16:35 |
|
#95 |
Member
Johan Roenby
Join Date: May 2011
Location: Denmark
Posts: 93
Rep Power: 21 |
Hi flowgeek
In the Allrun script of the interIsoFoam_plic_dambreakSettings_start.zip you posted above you call setFields. In system/setFieldsDict you initalise a box shaped droplet. Is this on purpose? Aren't you trying to initialise a circular droplet? Cheers, Johan |
|
December 18, 2021, 19:28 |
|
#96 |
New Member
Alexander Meier
Join Date: Feb 2017
Posts: 15
Rep Power: 9 |
hi johan,
yes that box-shaped droplet is intentional. Of course it is an unphysical starting condition, but i would expect the solver to be able to get to a physical solution. (With 90° contact angle it is able to do so, with perfectly cubic cells as well...) It obviously shows that my problem is the meshing and with the flat cells i get a stable unphysical solution... Interestingly there is a difference between the surface reconstruction algorithms (interFoam vs. interIsoFoam) - maybe because the iso-advector algorithms generate a smoother interface, which promotes this effect? So i need to find somewhere a compromise between a reasonable simulation time and how accurate my solution will be (the droplet is only a test-case to optimize my settings for a much larger dynamic case - in the large case with a more complex mesh the effect of the interface "alinging to cells" is even more pronounced) cheers - and thanks for looking at my stuff! alex |
|
June 14, 2022, 06:31 |
|
#97 |
New Member
Join Date: Sep 2021
Posts: 8
Rep Power: 5 |
Hi,
Thanks a lot for this wonderful implementation. I went through the paper and I really enjoyed the spirit of the iso-surface formation. I am using isoadvector with PLIC reconstruction scheme and the sharpness of the interface is just amazing when I compare MULES+isoSurface. But I am facing one issue regarding the interface deformation. The interface actually folds randomly (probably due to some reason), and I am trying to figure out what may be the underlying reasons. Some details on the simulations: I am running a nucleate boiling case. The domain size is 3mm x 6mm. Grid is 400 divisions in 3mm. Axis-symmetric simulation Solver: multiRegionPhaseChangeFlow I am attaching couple of clips for the reference Isoadvector+PLIC https://youtu.be/uUPw06IqmIk MULES+Isosurface https://youtu.be/JMrxwp7jOuE Any inputs on the same problem are much appreciated. Thank you |
|
June 15, 2022, 21:15 |
|
#98 |
New Member
Join Date: Sep 2021
Posts: 8
Rep Power: 5 |
Hi,
I gave more thoughts on why such behavior is seen. The algorithm of the isoAdvector is very intuitive and velocity field will obviously affect the interface. So, I compared the velocity fields in both the cases. I get drastically different velocity fields and I have tried upwind scheme for gradient terms, but I haven't got any improvement. Could anyone give some suggestions on how to remove these deformations? I am attaching couple of clips for reference. Isoadvector https://youtu.be/BBeNtv6UrcU MULES https://youtu.be/zfbOVziiR1M Thank you in advance. |
|
June 20, 2022, 06:20 |
|
#99 |
New Member
Join Date: Sep 2021
Posts: 8
Rep Power: 5 |
Hi,
The interface deformation was fixed by changing the curvature model from gradAlpha to RDF. Thanks |
|
Tags |
interface, interfoam, isoadvector, multiphase, unstructured mesh, vof |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] simulation of closing the gate using moving mesh | simin_ds | OpenFOAM Meshing & Mesh Conversion | 8 | April 12, 2019 06:49 |
rhoPimpleFoam hardship | petrus | OpenFOAM Running, Solving & CFD | 0 | October 7, 2016 03:41 |
Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
interFoam/kOmegaSST tank filling with printStackError/Mules | simpomann | OpenFOAM Running, Solving & CFD | 3 | February 17, 2014 18:06 |
T Junction Stability | ignacio | OpenFOAM Running, Solving & CFD | 5 | May 2, 2013 11:44 |