CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Programming & Development

adding density eqn"Mille and Poisson" in pisoFoam

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 24, 2016, 05:11
Default adding density eqn"Mille and Poisson" in pisoFoam
  #1
Senior Member
 
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11
sinatahmooresi is on a distinguished road
Hi foamers!
as i wrote in Title, i want to add in calculation density based on Mille and Poisson in pisoFoam.C i want to caculate the density in each step as function of S and T (concentration and temperature) so how can i do this ?
and "Mille and Poisson" is :

rho==(rho/1000*(999.842594+6.793952e-2*T-(9.095290e-3*pow(T,2))+
(1.001685e-4*pow(T,3))-(1.120083e-6*pow(T,4))+(6.536336e-9*pow(T,5))+
S*(8.24493e-1-4.0899e-3*T+(7.6438e-5*pow(T,2))-(8.2467e-7*pow(T,3))+
(5.3875e-9*pow(T,4)))+(pow(S,1.5))*(-5.72466e-3+1.0227e-4*T-1.6546e-6*pow(T,2))+S*(4.8314e-4)))

and rho is my density that is identified in transportperoperties and creatField.H
when i compile the code the error message is :
my_pisoFoam.C:81:96: error: no match for ‘operator==’ in ‘rho == Foam:perator*(const Foam::dimensioned<double>&, const Foam::tmp<Foam::GeometricField<Type, PatchField, GeoMesh> >&) [with Type = double, PatchField = Foam::fvPatchField, GeoMesh = Foam::volMesh]((*(const Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >*)(& Foam:perator+(const Foam::tmp<Foam::GeometricField<TypeR, PatchField, GeoMesh> >&, const Foam::tmp<Foam::GeometricField<Type1, PatchField, GeoMesh> >&) [with Type1 = double, Type2 = double, PatchField = Foam::fvPatchField, GeoMesh = Foam::volMesh, typename Foam::typeOfSum<Type, Form>::type = double]((*(const Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >*)(& Foam:perator*(const Foam::GeometricField<Type, PatchField, GeoMesh>&, const scalar&) [with Type = double, PatchField = Foam::fvPatchField, GeoMesh = Foam::volMesh, Foam::scalar = double]((* &4.83140000000000012590067877127353312971536070108 413696289e-4))))))))’


my_pisoFoam is the name of modified pisoFoam.
any help would appreciated.
all the bests
sinatahmooresi is offline   Reply With Quote

Old   April 28, 2016, 03:15
Default
  #2
Member
 
W.T
Join Date: Oct 2012
Posts: 35
Rep Power: 14
dybuk is on a distinguished road
Hi
You should use a "=" operator instead of "=="
dybuk is offline   Reply With Quote

Old   April 30, 2016, 03:57
Default
  #3
Senior Member
 
CFD_Lovers
Join Date: Mar 2015
Posts: 168
Rep Power: 11
sinatahmooresi is on a distinguished road
Hi dybuk!
thank u very much, but i used this before and again i faced with the problem, i heard from someone that this problem come from dimensional agreement! for example rho has a different dimension from T ! do u know something about this ?
thank u again
sinatahmooresi is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 07:50.