|
[Sponsors] |
October 16, 2010, 10:03 |
Hi ata
|
#121 |
Senior Member
Join Date: Sep 2010
Posts: 226
Rep Power: 17 |
Hi my friend,
yes indeed i did a Model and compiled it in the folder viscosityModels but my problem is that i need to use another model for the viscosity in the same solver, in another words, i need to use two different viscosity models in the same solver, where these two viscosityModels i shall define. I hope you understood me better now note: I know that there exists the twophaseModel, but there i can't because it combines the two viscosities in one and always return it back to one "nu" or "nuEff" with certain factor something like nu=epsilon*nu1+(1-epsilon)*nu2 you see. but me, i need to use two different seperated models for nu1 and nu2. so always when i build one from the existing Models like i did, i am obliged to get back the viscosity under the name "nu" you see, i can't make another model and call it "nu1" or "nu2" since it was prevoiusly built in all classes as "nu" or "nuEff". help please and always thanks a lot yours, T.D. |
|
October 16, 2010, 10:15 |
|
#122 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
Hi T.D.
I didn't understand you completely. But can you define a new viscosity model in createFields file? Best regards Ata |
|
October 16, 2010, 10:32 |
help please
|
#123 |
Senior Member
Join Date: Sep 2010
Posts: 226
Rep Power: 17 |
HI,
really, can i define it in createFields file? How? even if my "nu1" is function of another used field like temperature "T" ? can you just give me a simple example pleaaaaaaase: lets say i need each time i use nu1 in the solver, i need it to be called as nu1 = 2*T +5; how to construct and implement nu1 in the create Fields file help please thanks a lot for your patience |
|
October 16, 2010, 10:45 |
|
#124 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
Hi T.D.
If you want two non-Newtonian viscosity model use: singlePhaseTransportModel fluid1(U, phi); But you must do some things in the source code (As I told you) If you want a Newtonian model with two different viscosity use: Info<< "Reading transportProperties\n" << endl; IOdictionary transportProperties ( IOobject ( "transportProperties", runTime.constant(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ) ); dimensionedScalar nu1 ( transportProperties.lookup("nu1") ); and then calculate it in your code. Best regards Ata |
|
October 16, 2010, 10:55 |
i need two non-Newtonian..
|
#125 | |
Senior Member
Join Date: Sep 2010
Posts: 226
Rep Power: 17 |
Hi
yes indeed i need two non-Newtonian viscosity Models, so for the two viscosities how should i define them, i must put in the singlePhaseTransportModel fluid1 and fluid2 ?, and how to link back to read the two different laws, like crosspower and power (as example)? i must use like transportModel1 "crosspower", and transportModel2 "power" in the transport properties file? if so, where to define the transportModel1 and transportModel2, is it also inside the singlephaseTransportModel file? thanks a lot my brother Quote:
|
||
October 16, 2010, 23:12 |
|
#126 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
Hi T.D.
I think you must define two different dictionary in your code and using constructor of your models define two different viscosity model. The constructors for CrossPowerLaw is: CrossPowerLaw ( const word& name1, const dictionary& viscosityProperties1, const volVectorField& U, const surfaceScalarField& phi ); and for powerlaw is: powerLaw ( const word& name2, const dictionary& viscosityProperties2, const volVectorField& U, const surfaceScalarField& phi ); Be careful you must define two different dictionary viscosityProperties1 nad viscosityProperties2 i.e. Good luck Best regards Ata |
|
October 17, 2010, 05:24 |
Hi
|
#127 |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
Hello
I want to employ a solver for composite materials into the viscoelasticfluidFoam but while compiling there are errors which I cannot understand completely. the set of equations and the code I have developed are attached. the other parameters are constants. the Best |
|
October 17, 2010, 12:07 |
|
#128 | |
Member
|
Quote:
Your problem is with the term [(omega . a) - (a . omega)] in equation for "a". The return of this operation is a tensorField and not a symmTensorField. Then two options to overcome this problem: 1 - Find a manner to [(omega . a) - (a . omega)] give a symmTensor. I think this is not possible, but ... 2 - Work with tensorField type. Then, "a" need to be declared as tensor field, the fvMatriz for "a" equation and all the operations that use "a" also need be of tensorField type. See also that omega=skew(L) in OF. Best regards, Jovani |
||
October 18, 2010, 05:36 |
Hi
|
#129 |
Senior Member
Join Date: Sep 2010
Posts: 226
Rep Power: 17 |
Hi ata, and all foamers, please help i am so confused
My problem is i only need to use two different viscosityModels in the same solver.so to use two different transportModels i'll define in the dictionary. (trasportModel1 powerlaw, and transportModel2 crosspowerLaw) i need a clear solution pleaaaaaaaaaaase with steps if possible. thanks ata but your answer confused me, beacause i mixed all of them the trasportModel, singlephasetrosportModel and viscosityModel directories. Anyone has a clear solution please with some steps to follow, and where to change in which files exactly, and how to call the two different viscosities inside the solver? Help pleaaaaaaaaase thanks a lot |
|
October 18, 2010, 05:58 |
Hi
|
#130 |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
hello Jovani,
Thank you very much for your response. I changed every symmTensor to tensor but there are some problem now. Could you possibly take a look at this file and help me. Best Regards. Mohsen |
|
October 18, 2010, 13:01 |
|
#131 | |
Member
|
Quote:
Good, now you need make it recursive back to the tree --> multiMode --> viscoelasticLaw ..... This make the other models bad to be used. You need compile only your new model, with all library tree using tensor field. A question: How important is the assymetry introduced by the anti-symetric part of deformation tensor in your model?? Is that an important term for your purposes? Best, Jovani |
||
October 18, 2010, 13:37 |
Hi
|
#132 |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
Hello Jovani again,
Thank you again for your reply. yes I have done this and the model is compiled now. the other viscoelastic models are not included now. I tried to run a case with this model but there is a problem which I cannot understand. I run the "viscoelasticFluidFoam" solver in the terminal and the following massage appears: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting viscoelastic model multiMode Selecting viscoelastic model ali --> FOAM Warning : From function GeometricField<Type, PatchField, GeoMesh>::readIfPresent() in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude/GeometricField.C at line 107 read option IOobject::MUST_READ suggests that a read constructor for field taucnffirst would be more appropriate. --> FOAM Warning : From function GeometricField<Type, PatchField, GeoMesh>::readIfPresent() in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude/GeometricField.C at line 107 read option IOobject::MUST_READ suggests that a read constructor for field taucfirst would be more appropriate. --> FOAM Warning : From function GeometricField<Type, PatchField, GeoMesh>::readIfPresent() in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/OpenFOAM/lnInclude/GeometricField.C at line 107 read option IOobject::MUST_READ suggests that a read constructor for field afirst would be more appropriate. Starting time loop Courant Number mean: 0 max: 0.00016 deltaT = 1.1999e-05 Time = 1.1999e-05 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 6.11821e-12, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0 DICPCG: Solving for p, Initial residual = 1, Final residual = 7.87121e-08, No Iterations 391 DICPCG: Solving for p, Initial residual = 3.07354e-10, Final residual = 3.07354e-10, No Iterations 0 time step continuity errors : sum local = 2.23709e-14, global = 1.82535e-17, cumulative = 1.82535e-17 Model mode 1 valueInternalCoeffs cannot be called for a calculatedFvPatchField on patch inlet of field taufirst in file "/home/mohsen/OpenFOAM/mohsen-1.6/run/tutorials/viscoelasticFluidFoam/mohsen/0/taufirst" You are probably trying to solve for a field with a default boundary condition. From function calculatedFvPatchField<Type>::valueInternalCoeffs( const tmp<scalarField>&) const in file fields/fvPatchFields/basic/calculated/calculatedFvPatchField.C at line 145. FOAM exiting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% And about your question, yes I should consider this term because this expression is in the model used for fiber orientation tensor. Best wishes, Mohsen |
|
October 19, 2010, 07:54 |
|
#133 | |
Member
|
Quote:
This seems your internal field for taufirst is wrong, you consider a nine components for internal field, now you are working with the complete stress tensor?? If it is not this the problem no idea by looking this return messaging. Best regards, Jovani |
||
October 19, 2010, 13:10 |
|
#134 | |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
Quote:
Hello jovani, I appreciate your help again. no I have considered nine element for the stress tensor but there is this problem yet. The taufirst in the "0" folder is as follows: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% /*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.4.1-dev | | \\ / A nd | Web: http://www.openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; root "/home/jovani/jovaniFoam/foamNewSolver/cases/recentCases/upwind"; case "Giesekus"; instance "0"; local ""; class volTensorField; object taufirst; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -2 0 0 0 0]; internalField uniform (0 0 0 0 0 0 0 0 0); boundaryField { inlet { type fixedValue; value uniform (0 0 0 0 0 0 0 0 0); } fixedWalls { type zeroGradient; } outlet { type zeroGradient; } simetry { type symmetryPlane; } frontAndBack { type empty; } } // ************************************************** *********************** // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% The Best, Mohsen |
||
October 24, 2010, 09:31 |
|
#135 | |
Member
|
Quote:
I am not sure about the problem, but i can contribute with a tip: try to use fully 3D geometry for your simulation, i.e, do not use the empty BC: frontAndBack { type empty; } Best, Jovani |
||
October 27, 2010, 10:14 |
Hi
|
#136 | |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
Quote:
Thank you very much for your reply again. I have got that there is problem in my code and I fix it. now it works. the Best, Mohsen |
||
November 12, 2010, 09:42 |
Hi
|
#137 |
Member
mohsen kh
Join Date: Nov 2009
Posts: 41
Rep Power: 16 |
Hello,
when I run my case an error message appear that I cannot understand. could anybody help me pls? the error is as follows: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Create time Create mesh for time = 0 Reading field p Reading field U Reading/calculating face flux field phi Selecting composite model multiMode Selecting composite model composite8 Starting time loop Courant Number mean: 0 max: 2e-05 deltaT = 1.1999e-05 Time = 1.1999e-05 DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 1.38625e-10, No Iterations 2 DILUPBiCG: Solving for Uy, Initial residual = 0, Final residual = 0, No Iterations 0 DICPCG: Solving for p, Initial residual = 1, Final residual = 3.94021e-08, No Iterations 76 DICPCG: Solving for p, Initial residual = 1.91826e-10, Final residual = 1.91826e-10, No Iterations 0 time step continuity errors : sum local = 4.72796e-15, global = -2.31815e-17, cumulative = -2.31815e-17 Model mode 1 lowerPtr_ or upperPtr_ unallocated#0 Foam::error:rintStack(Foam::Ostream&) in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so" #1 Foam::error::abort() in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so" #2 Foam::Ostream& Foam:perator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/compositeFoam" #3 Foam::lduMatrix::lower() const in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so" #4 Foam::lduMatrix::sumMagOffDiag(Foam::Field<double> &) const in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libOpenFOAM.so" #5 Foam::fvMatrix<Foam::Tensor<double> >::relax(double) in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libviscoTransportModels.so" #6 Foam::composite8::correct() in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libviscoTransportModels.so" #7 Foam::multiMode::correct() in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libviscoTransportModels.so" #8 Foam::compositeModel::correct() in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/lib/linuxGccDPOpt/libviscoTransportModels.so" #9 main in "/home/mohsen/OpenFOAM/OpenFOAM-1.6/applications/bin/linuxGccDPOpt/compositeFoam" #10 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6" #11 _start at /build/buildd/eglibc-2.10.1/csu/../sysdeps/i386/elf/start.S:122 From function lduMatrix::lower() const in file matrices/lduMatrix/lduMatrix/lduMatrix.C at line 206. FOAM aborting Aborted %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Best, Mohsen |
|
April 29, 2011, 04:00 |
|
#138 |
Member
Maryam Mousazadeh
Join Date: Oct 2010
Posts: 47
Rep Power: 16 |
hello M.r kamyabi;
excuse me I forced a problem with openFoam. I want to modify simpleFoam to be used for nanofluid which is mixture of base fluid and nano particle and is single phase in lower volume fraction. so I should combine this two material properties as some obtained nanofluid formulas which I'll attach here: formulas.zip I add some lines in creatField ana .C files of my solver which is here: nanoalaki.zip but there is some errors which is in the error file of last zipped file; I don't underastand what's the problem; would you tell the mistakes? my another quastion is that should I alter the momentom equation on base of effective properties of nanofluid?if I put for example nu instead of nuEff,Is it need to ghange? I thank you previously; best regards |
|
April 29, 2011, 06:47 |
Viscoelastic Fluid Flows using OpenFOAM The solver viscoelasticFluidFoam
|
#139 |
Senior Member
ata kamyabi
Join Date: Aug 2009
Location: Kerman
Posts: 323
Rep Power: 18 |
I think you have fundamental problems. Are you at Sharif university?
(for oral explanations) Good luck |
|
April 29, 2011, 14:29 |
|
#140 |
Member
Maryam Mousazadeh
Join Date: Oct 2010
Posts: 47
Rep Power: 16 |
hello;
thanks for your reply; I do some correction on the createFields file but there is an error yet and it seems to be a fundamental error as you said; I'll attach it; nano2.zip I'm not in Tehran but if it's difficult for you to explain the problem in writing don't trouble yourself any more ; thanks a lot; Last edited by anijdon; April 29, 2011 at 16:01. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
VOF simulation of a viscoelastic fluid | sinah | OpenFOAM Running, Solving & CFD | 11 | December 25, 2017 04:00 |
FREE SURFACE VISCOELASTIC FLOWS | Valdemir G. Ferreira | Main CFD Forum | 6 | December 18, 2009 07:14 |
Viscoelastic flow modeling in OpenFOAM | vulda | OpenFOAM Running, Solving & CFD | 1 | March 17, 2008 08:32 |
Polyflow & OpenFoam on Viscoelastic flow modeling | Sumeshen | Main CFD Forum | 0 | March 14, 2008 09:29 |
Viscoelastic fluid codes | joel davison | Main CFD Forum | 0 | November 6, 2001 06:09 |