Thanks a lot. I wonder if the partial elimination algorithm mentioned in Passalaqcua's paper was implemented in the current version?
kimy
帖子
-
-
@李东岳 yes. but I found some authors already refer the following paper with respect to current twophaseeulerfoam.
such as
-
Thank you a lot. But I cannot find the document regarding Henry Weller but only Rusche.
So the solution algorithm of Passalacqua is not yet implemented in the current OPENFOAM? -
Hi everyone, I would like to know the current version of twophaseeulerfoam is based on which researcher's algorithm?Alberto Passalacqua or Henrc Rusche? Thnak you.
-
Thanks. I created two meshes with the same body size but different type of meshes,namely structured and unstructured, the results are different. Note that both of two cases are grid independent. Do you have any idea about that ? since I saw a thread you opened in cfd online.
-
Hi guys,
Do you have any idea about the influence of inflation layer and structured/unstructured mesh? I found there is some effect of those on the final solution, based on the calculation with the whole same settings, excepting the mesh.
The above figure shows the axial velocity of pipe bend exit. The black lines and blue lines represent unstructured and structured mesh respectively. Clearly, different shape can be observed.
Also I compared the results with different inflation layers setting. All of them have the same first layer thickness and body size. I only changed the number of layers or growth ratio.
-
Already solved.
-
Hello. I usually use BlueCFD on windows. It is really convenient and easy, compared with linux. In fact, they are nearly the same rules. You can compile and create your own solver. But you should note that there are some codes are not consistent, compared with those of linux version.
-
Hi guys,
I defined a Uw which has the same size of the total cell numbers to save the velocity only in the boundary cell. Due to the fact that the source term I need to use is Uw times the area of corresponding wall. Thus, I defined a patchArea (patchArea[faceI] = mesh.magSf().boundaryField()[patchID][faceI];) used to save that area. Note that the size of patchArea is also same as Uw, however the index is not corresponding to each other. Is there a way to rearrange the order of patchArea, to make the index consistent with Uw? I uploaded a output log file here, as you can see, the index with a non-zero value in Uw means the wall cell index. But the order in patchArea needs to be modified
-
@bestucan Thanks for your attention.
-
I have already reached my goal in another way. Thanks for all helps.
-
This is the solver file of openfoam_v1906
-
@bestucan Thanks a lot. What you mean is that you did not meet any problem in your OpenFOAM version? Could you please upload the whole modified solver files here (twophaseeulerfoam)? The files I uploaed above was copied from blueCFD (maybe openfoam 5). Additionally, I am also using HPC where openfoam-v1906 is loaded.
-
@bestucan Thanks. Your suggestions are very helpful. However, the solver met the same error mentioned before. I uploaded my solver and case files. Hope you can see them if you wish (I cannot upload). I modified the solver based on twophaseeulerfoam.
-
Selecting default blending method: none Selecting dragModel for (solids in water): SchillerNaumann Selecting swarmCorrection for (solids in water): none #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 ? in /lib64/libc.so.6 #3 ? at ??:? #4 __libc_start_main in /lib64/libc.so.6 #5 ? at ??:? Segmentation fault (core dumped)
-
@bestucan I am a little bit crazy because my files are totally same as yours.......Still error after run. Note that I did not change the default library into user's library (All of them I leave it as defualt "LIB = $(FOAM_LIBBIN)/liblibcompressibleTwoPhaseSystem"
). -
@bestucan Many thanks. The same error occurs, same as original when I run my case.
Could you please upload your phaseModel.C and H files here? -
@bestucan But why alphaMax() was originally defined in the phaseModel.H without any error?
scalar alphaMax() const { return alphaMax_; }
After I defined only scalar myBeta() in phaseModel.H, the following error occurs:
In file included from phaseModel/phaseModel.C:26:0: phaseModel/phaseModel.H:158:29: error: invalid declarator before 'd' tmp<volScalarField> d() const; ^ phaseModel/phaseModel.H:162:26: error: non-member function 'const Foam::PhaseCompressibleTurbulenceModel<Foam::phaseModel>& Foam::turbulence()' cannot have cv-qualifier turbulence() const;
-
@bestucan Many Thanks. I have a confusion that you defined the following two scalar and function in phaseModel.H
< scalar myBeta_; 195,196d193 < < scalar myBeta() const;
While in original file, according to the definition of alphaMax
scalar myBeta() const { return myBeta_; }
and you put this code in phaseModel.C ?
/home/can/.local/share/OpenFOAM/OpenFOAM-8/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C 88,89c88 < alphaMax_(fluid.subDict(phaseName).lookupOrDefault("alphaMax", 1.0)), < myBeta_(fluid.subDict(phaseName).lookupOrDefault("myBeta", 1.0)) --- > alphaMax_(fluid.subDict(phaseName).lookupOrDefault("alphaMax", 1.0)) 143,147d141 < } < < Foam::scalar Foam::phaseModel::myBeta() const < { < retu
-
I really don't know why the error always happen in which I did not used myBeta only definition. Even thought, I only added one piece of codes, such as "scalar myBeta". The same error occurs. Could you please help me to try to define one scalar in those file and see what will happen? Really thanks for your help!
-
@bestucan Thanks. I defined "myBeta" according to the definition of alphaMax in all positions where it occurs.
Alsoscalar alphaMax() const { return alphaMax_; } scalar myBeta() const { return myBeta_; }
-
Selecting default blending method: none Selecting dragModel for (solids in water): SchillerNaumann Selecting swarmCorrection for (solids in water): none #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 ? in /lib64/libc.so.6 #3 ? at ??:? #4 __libc_start_main in /lib64/libc.so.6 #5 ? at ??:? Segmentation fault (core dumped)
-
Sorry for that. I copied the linux error message!
Calculating face flux field phi.water Selecting diameterModel for phase water: constant Selecting turbulence model type RAS Selecting RAS turbulence model diffusionkEpsilon RAS { RASModel diffusionkEpsilon; turbulence on; printCoeffs on; Cmu 0.09; C1 1.44; C2 1.92; C3 0; sigmak 1; sigmaEps 1.3; mysigmake 1; } [3] #0 [4] #0 Foam::error::printStack(Foam::Ostream&)[12] #0 Foam::error::printStack(Foam::Ostream&)[16] #0 Foam::error::printStack(Foam::Ostream&)[19] #0 Foam::error::printStack(Foam::Ostream&)[22] #0 Foam::error::printStack(Foam::Ostream&)[26] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[10] #0 [13] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[25] #0 Foam::error::printStack(Foam::Ostream&)[27] #0 Foam::error::printStack(Foam::Ostream&)[21] #0 Foam::error::printStack(Foam::Ostream&)[29] #0 [14] #0 Foam::error::printStack(Foam::Ostream&)[11] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[1] #0 Foam::error::printStack(Foam::Ostream&)Selecting default blending method: none Selecting dragModel for (solids in water): SchillerNaumann Selecting swarmCorrection for (solids in water): none [28] #0 [15] #0 [18] #0 [20] #0 Foam::error::printStack(Foam::Ostream&)[9] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[24] #0 Foam::error::printStack(Foam::Ostream&)[17] #0 Foam::error::printStack(Foam::Ostream&)[0] #0 Foam::error::printStack(Foam::Ostream&)[5] #0 Foam::error::printStack(Foam::Ostream&)[23] #0 Foam::error::printStack(Foam::Ostream&)[2] #0 Foam::error::printStack(Foam::Ostream&)[6] #0 [7] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[8] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [0] #1 Foam::sigSegv::sigHandler(int) at ??:? at [3] #1 Foam::sigSegv::sigHandler(int)??:? at ??:? at at ??:? ??:? at ??:? [4] #1 Foam::sigSegv::sigHandler(int) at ??:? at [10] #1 Foam::sigSegv::sigHandler(int) at ??:? [13] #1 Foam::sigSegv::sigHandler(int) at ??:? at ??:? [2] #1 Foam::sigSegv::sigHandler(int)??:? at at [11] #1 Foam::sigSegv::sigHandler(int)??:? ??:? [14] #1 Foam::sigSegv::sigHandler(int) at ??:? at ??:? [28] #1 Foam::sigSegv::sigHandler(int)[24] #1 Foam::sigSegv::sigHandler(int)[26] #1 Foam::sigSegv::sigHandler(int)[16] #1 Foam::sigSegv::sigHandler(int)[18] #1 Foam::sigSegv::sigHandler(int)[27] #1 Foam::sigSegv::sigHandler(int)[22] #1 Foam::sigSegv::sigHandler(int)[25] #1 Foam::sigSegv::sigHandler(int) at ??:? [12] #1 Foam::sigSegv::sigHandler(int) at ??:? [29] #1 Foam::sigSegv::sigHandler(int) at ??:? [21] #1 Foam::sigSegv::sigHandler(int) at ??:? at [23] #1 Foam::sigSegv::sigHandler(int)??:? [6] #1 Foam::sigSegv::sigHandler(int) at ??:? [5] #1 Foam::sigSegv::sigHandler(int) at ??:? at ??:? at ??:? at ??:? at ??:? [7] #1 Foam::sigSegv::sigHandler(int)[9] #1 Foam::sigSegv::sigHandler(int)[15] #1 Foam::sigSegv::sigHandler(int)[20] #1 Foam::sigSegv::sigHandler(int)[1] #1 Foam::sigSegv::sigHandler(int) at ??:? at ??:? at [17] #1 Foam::sigSegv::sigHandler(int)??:? [8] #1 Foam::sigSegv::sigHandler(int)[19] #1 Foam::sigSegv::sigHandler(int) at ??:? [0] #2 ? at ??:? [11] #2 ? at ??:? [3] #2 ? at ??:? [4] #2 ? at ??:? [6] #2 ? at ??:? [18] #2 ? at ??:? [13] #2 ? at ??:? [21] #2 ? at ??:? [28] #2 ? at ??:? [2] #2 ? at ??:? [29] #2 ? at ??:? [8] #2 ? at ??:? [25] #2 ? at ??:? [24] #2 ? at ??:? [7] #2 ? at ??:? [12] #2 ? at ??:? [5] #2 ? at ??:? [20] #2 ? at ??:? at ??:? [26] #2 ?[27] #2 ? at ??:? at [22] #2 ???:? [14] #2 ? at ??:? [1] #2 ? at ??:? [19] #2 ? at ??:? [10] #2 ? at ??:? [23] #2 ? at ??:? [15] #2 ? at ??:? [17] #2 ? at ??:? [16] #2 ? at ??:? [9] #2 ? in /lib64/libc.so.6 [0] #3 in /lib64/libc.so.6 [3] #3 in /lib64/libc.so.6 [21] #3 in /lib64/libc.so.6 [28] #3 in /lib64/libc.so.6 [18] #3 in /lib64/libc.so.6 [11] #3 in /lib64/libc.so.6 [6] #3 in /lib64/libc.so.6 [4] #3 in /lib64/libc.so.6 [13] #3 in /lib64/libc.so.6 [25] #3 in /lib64/libc.so.6 [29] #3 in /lib64/libc.so.6 [2] #3 in /lib64/libc.so.6 [7] #3 in /lib64/libc.so.6 [9] #3 in /lib64/libc.so.6 [12] #3 in /lib64/libc.so.6 [8] #3 in /lib64/libc.so.6 [24] #3 in /lib64/libc.so.6 [20] #3 in /lib64/libc.so.6 [27] #3 in /lib64/libc.so.6 [10] #3 in /lib64/libc.so.6 [22] #3 in /lib64/libc.so.6 [1] #3 in /lib64/libc.so.6 [26] #3 in /lib64/libc.so.6 [23] #3 in /lib64/libc.so.6 [19] #3 in /lib64/libc.so.6 [14] #3 in /lib64/libc.so.6 [17] #3 in /lib64/libc.so.6 [16] #3 in /lib64/libc.so.6 [5] #3 in /lib64/libc.so.6 [15] #3 ?????????????????????????????? at ??:? [21] #4 __libc_start_main at ??:? [3] #4 __libc_start_main at ??:? [4] #4 __libc_start_main at ??:? [6] #4 __libc_start_main at ??:? [11] #4 __libc_start_main at ??:? [0] #4 __libc_start_main at ??:? [18] #4 __libc_start_main at ??:? [29] #4 __libc_start_main at ??:? [2] #4 __libc_start_main at ??:? [13] #4 __libc_start_main at ??:? [28] #4 __libc_start_main at ??:? [22] #4 __libc_start_main at ??:? [27] #4 __libc_start_main at ??:? [12] #4 __libc_start_main at ??:? [7] #4 __libc_start_main at ??:? [24] #4 __libc_start_main at ??:? [20] #4 __libc_start_main at ??:? [8] #4 __libc_start_main at ??:? [25] #4 __libc_start_main at ??:? [9] #4 __libc_start_main at ??:? [14] #4 __libc_start_main at ??:? [10] #4 __libc_start_main at ??:? [5] #4 __libc_start_main at ??:? [23] #4 __libc_start_main at ??:? [16] #4 __libc_start_main at ??:? [26] #4 __libc_start_main at ??:? [19] #4 __libc_start_main at ??:? [1] #4 __libc_start_main at ??:? [17] #4 __libc_start_main at ??:? [15] #4 __libc_start_main in /lib64/libc.so.6 [21] #5 in /lib64/libc.so.6 [3] #5 in /lib64/libc.so.6 [11] #5 in /lib64/libc.so.6 [29] #5 in /lib64/libc.so.6 [4] #5 in /lib64/libc.so.6 [0] #5 in /lib64/libc.so.6 [18] #5 in /lib64/libc.so.6 [28] #5 in /lib64/libc.so.6 [2] #5 in /lib64/libc.so.6 [6] #5 in /lib64/libc.so.6 [13] #5 in /lib64/libc.so.6 [22] #5 in /lib64/libc.so.6 [27] #5 in /lib64/libc.so.6 [20] #5 in /lib64/libc.so.6 [23] #5 in /lib64/libc.so.6 [14] #5 in /lib64/libc.so.6 [8] #5 in /lib64/libc.so.6 [25] #5 in /lib64/libc.so.6 [10] #5 in /lib64/libc.so.6 [5] #5 in /lib64/libc.so.6 [24] #5 in /lib64/libc.so.6 [12] #5 in /lib64/libc.so.6 [9] #5 in /lib64/libc.so.6 [16] #5 in /lib64/libc.so.6 [19] #5 in /lib64/libc.so.6 [26] #5 in /lib64/libc.so.6 [7] #5 in /lib64/libc.so.6
-
After I compiled it successfully, it crashed with the following error:
Any suggestion?Backtrace: ZN10StackTraceC1Ev [0x705c1465+0x25] module: J:\blueCFD-Core-2017\ThirdParty-5.x\platforms\mingw_w64GccDPInt32\lib\libstack_trace.dll ZN4Foam5error10printStackERNS_7OstreamE [0x1201d88+0x218] module: J:\blueCFD-Core-2017\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll ZN4Foam7sigSegv14sigSegvHandlerEi [0x1203983+0x33] module: J:\blueCFD-Core-2017\OpenFOAM-5.x\platforms\mingw_w64GccDPInt32Opt\lib\libOpenFOAM.dll (No symbol) [0x404967] module: J:\blueCFD-Core-2017\ofuser-of5\platforms\mingw_w64GccDPInt32Opt\bin\slurryplateoldPDtest.exe _C_specific_handler [0x7ff921376506+0x96] module: C:\Windows\SYSTEM32\ntdll.dll 0_chkstk [0x7ff92138a49d+0x11d] module: C:\Windows\SYSTEM32\ntdll.dll RtlImageNtHeaderEx [0x7ff92131fd43+0x483] module: C:\Windows\SYSTEM32\ntdll.dll KiUserExceptionDispatcher [0x7ff92138960a+0x3a] module: C:\Windows\SYSTEM32\ntdll.dll (No symbol) [0x47e6ac] module: J:\blueCFD-Core-2017\ofuser-of5\platforms\mingw_w64GccDPInt32Opt\bin\slurryplateoldPDtest.exe (No symbol) [0x4013f7] module: J:\blueCFD-Core-2017\ofuser-of5\platforms\mingw_w64GccDPInt32Opt\bin\slurryplateoldPDtest.exe (No symbol) [0x40152b] module: J:\blueCFD-Core-2017\ofuser-of5\platforms\mingw_w64GccDPInt32Opt\bin\slurryplateoldPDtest.exe BaseThreadInitThunk [0x7ff9211584d4+0x14] module: C:\Windows\System32\KERNEL32.DLL RtlUserThreadStart [0x7ff92134e871+0x21] module: C:\Windows\SYSTEM32\ntdll.dll
-
Anybody has advice? Thanks a lot.
-
Thanks a lot, Dongyue. Very helpful. I found in SN model CdRe was multiplied by another Re. Thus, the formula is consistent.
-
Hi, everyone. I am confused that the expression of drag force used in Openfoam, as shown in the following codes. Why there is nu and divided by square of particle diameter. I saw the formula is without nu and only divided by diameter in some literature. Do you have any tip for me? Thanks a lot. By the way, After I deleted pair_.continuous().nu() and only divided by diameter. The results I obtained are totally the same.
Foam::tmp<Foam::volScalarField> Foam::dragModel::Ki() const { return 0.75 *CdRe() *swarmCorrection_->Cs() *pair_.continuous().rho() *pair_.continuous().nu() /sqr(pair_.dispersed().d()); }
-
I added a new scalar in twophasesystem/phaseModel.C and I compiled successfully. The problem is that there is an error when I run the case. My objective is to use this constant in phasePair.C to calculate Re(). In oder to change the constant myBeta directly from dictionary (phaseProperties) without compiling every time, I think it is necessary to add a new scalar like alphaMax in phaseModel.C. Do you have any tip?
-
Thanks a lot. The problem was solved.
-
@东岳 Hi, dongyue. I tried many ways to reach my goal, such as create a newtwophasesystem.C (I found this file in the reactingtwophaseeulerfoam, so it should be possible to use a new one) and compile. But I still cannot link the new file to the solver if I put it in the user's library. Do you have any suggestion? Many Thanks.
-
Anyone has suggestion about how to link the revised twophasesystem.C to the solver as a user's library?
-
@xpqiu Thanks for your reply. In fact, There is no error for the compilation and simulation. I don't know how to link the new modified twophasesystem.C to the solver.
-
@东岳 Hi Dongyue, it works. Now I am trying to add it into user's library. I changed the Make/files as following and I include "libmycompressibleTwoPhaseSystem" in system/controDict, but the solver neglect it. I really don't know how to make the solver to call the modified "twophasesystem.C", or I need to change the name of "twophasesystem.C". Do you have any suggestion? Thanks.
LIB = $(FOAM_USER_LIBBIN)/libmycompressibleTwoPhaseSystem
-
I see. Great!
Grazie mille. -
Really thank you. Usually, if we would like to add a new model, such as a turbulence model, we need to compile it as a user's library and then include the path "lib***" in the system/controdict. Here, I am not sure what I should do agter I compile "twophasesysterm.C".
-
@东岳 在 extra term twophasesystem.C 中说:
driftFluxFoam
Thank you for your advice. The problem is that there is no alphaEqu.H in twophaseeulerfoam and only the code lines related to "alpha1Eqn" are given in twophasesystem.C file as I mentioned in top. I am confused that why no convective term in that equation. And after I compile this twophasesystem.C file, how can I link it to the solver file?
-
Dongyue, I understood what you mean but I also found the solution procedure of alpha transport equation in Passalacqua's paper, like following, both of them include the term of fraction gradient.
-
@东岳
-
@东岳 Thanks dongyue. I am not sure you are saying which transport equation. However the equation in the image, this is the continuity equation in spalding's IPSA method and we published a lot of paper in which this equation used.
-
anybody wish to give some suggestions?
-
if (pPrimeByA_.valid()) { fvScalarMatrix alpha1Eqn ( fvm::ddt(alpha1) - fvc::ddt(alpha1) - fvm::laplacian(alpha1alpha2f()*pPrimeByA_(), alpha1, "bounded") ); alpha1Eqn.relax(); alpha1Eqn.solve(); phase1_.alphaPhi() += alpha1Eqn.flux(); }
Hi everyone,
I have a question that I need to add one term in phase fraction equation (alpha1Eqn), The following is my continuity equation:
Thus, could I add the term like "fvc::laplacian(phase2.turbulence().nut/mysigma, alpha1)? Thanks for your attention. -
@东岳 Thanks. My parameters are: Pipe diameter is 0.1 m, mean velocity is 2.5 m/s (ensure fully-suspended), particle size is 1e-4 m, density of particle is 2650 kg/m3, fluid is water. As you can see, the velocity is so small. I cannot imagine if that small time step is used, how much time I need to finish one simulation. There is no way to increase the time step. By the way, I already switch on adjustable time step option, which automatically adjusts the time step to be as large as possible.
-
@东岳 Thanks for your reply. The simulation was not crashed but the time step is small, says 1e-5. I found most of researchers used a smaller time step even than mine in this phenomenon. Thus, it is usual to be like this? If this, I need a lot of computational time?
-
Hi guys,
I am using twophaseeulerfoam to simulate liquid-solid pipe flow. The mesh has 180000 cells but I need to use a very very small time step. Do you have any suggestion for how to increse the time step or other ways to make computational time reduced? Thanks a lot! -
@kimy 在 Code production of k ? 中说:
@东岳 Many thanks. In fact, I understood this procedure. One confusion is that the formula implemented in openfoam is not consistent with that mentioned in the Spalding' paper.
Nobody is interested in this issue?
-
@东岳 Many thanks. In fact, I understood this procedure. One confusion is that the formula implemented in openfoam is not consistent with that mentioned in the Spalding' paper.
-
The production of kinetic energy near wall cell is referred by which paper?
G0[celli] += w *(nutw[facei] + nuw[facei]) *magGradUw[facei] *Cmu25*sqrt(k[celli]) /(kappa_*y[facei]);
I found Spalding's formula is not the same as above (Pk =Cmu^0.25Utau^2U/y). Anybody knows this issue?
-
I am checking that the variables outbut from source code in solver and I found the differences between output and paraFoam. I cannot understand why it happened? The follow is my codes in simpleFoam.C:
**const dimensionedScalar myZero("myZero", dimensionSet(0,0,0,0,0,0,0),scalar(0) );volScalarField k0=myZeroturbulence->k();
volScalarField nut0=myZeroturbulence->nut();
volScalarField nu0=myZero*turbulence->nu();const label patchID = mesh.boundaryMesh().findPatchID("wall");
const tmp<scalarField> tnuw = turbulence->nu(patchID);
const scalarField& nuw = tnuw();const tmp<scalarField> tnutw = turbulence->nut(patchID);
const scalarField& nutw = tnutw();const fvPatchVectorField& Uw = turbulence->U().boundaryField()[patchID];
const scalarField magGradUw(mag(Uw.snGrad()));
for (int j=0; j<nut0.size(); j++)
{
if (j<=(nutw.size()/2-1)) {nut0[j]=nutw[j]; nu0[j]=nuw[j];}
if (j>=(mesh.cells().size()-nutw.size()/2)&&j<=mesh.cells().size()-1) {nut0[j]=nutw[j-(mesh.cells().size()-nutw.size())];nu0[j]=nuw[j-(mesh.cells().size()-nutw.size())];}
}volVectorField Uww=U*myZero;
const fvPatchList& patches = mesh.boundary();
labelList wallList;
wallList.clear();forAll(patches, patchi)
{
const fvPatch& curPatch = patches[patchi];
if (isType<wallFvPatch>(curPatch))
{
forAll(curPatch, facei)
{
label faceCelli = curPatch.faceCells()[facei];
wallList.resize(wallList.size()+1);
wallList[wallList.size()-1]=faceCelli;
}
}
}forAll(wallList,i)
{Uww[wallList[i]] = U[wallList[i]];
}
volScalarField uz = Uww.component(vector::Z);
volVectorField SG = uz*vector(0,0,1);
volScalarField magGradUww=mag(SG)/myY;k0=((nut0+nu0)*magGradUww/0.3);
Info<<"k0="<<k0<<endl;
Info<<"nut0="<<nut0<<endl;
Info<<"nutw="<<nutw<<endl;
Info<<"magGradUww="<<magGradUww<<endl;
Info<<"magGradUw="<<magGradUw<<endl;
Info<<"tauw="<<(nut0+nu0)magGradUww<<endl;
Info<<"Uw="<<Uw<<endl;*nutw and magGradUw are copied from nutkwallfunction. In the end, wallshearstress in the paraFoam is not the same as (nut0+nu0)*magGradUww.
-
@东岳 I tried to write these codes in simpleFoam.C,
label patchID = mesh.boundaryMesh().findPatchID("wall"); turbulence->k().boundaryFieldRef()[patchID] = 0; And I got the error: newsimpleFoam.C: In function 'int main(int, char**)': newsimpleFoam.C:77:25: error: 'class Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >' has no member named 'boundaryFieldRef' turbulence->k().boundaryFieldRef()[patchID] = 0;
The current version of twophaseeulerfoam
The current version of twophaseeulerfoam
The current version of twophaseeulerfoam
The current version of twophaseeulerfoam
The influence of mesh on solution?
The influence of mesh on solution?
source term only in boundary cell.
bluecfd
source term only in boundary cell.
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
New scalar in phaseModel.c
drag force in dragModel.C
drag force in dragModel.C
New scalar in phaseModel.c
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
extra term twophasesystem.C
time step of twophaseeulerfoam
time step of twophaseeulerfoam
time step of twophaseeulerfoam
Code production of k ?
Code production of k ?
Code production of k ?
output value vs paraFoam?
change the k at first grid?