viscosity udfs -- cfd online discussion forums

Upload: bhargav-rala

Post on 19-Oct-2015

313 views

Category:

Documents


0 download

DESCRIPTION

CFD COURSE

TRANSCRIPT

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 1/7

    [Sponsors]

    HomeNewsForumsWikiLinksJobsBooksEventsToolsFeedsAboutSearch

    Home > Forums > Fluent UDF and Scheme Programming

    Viscosity UDFsUser Name User Name Remember Me

    Password Log in

    REGISTER BLOGS COMMUNITY NEW POSTS UPDATED THREADS SEARCH

    LINKBACK THREAD TOOLS DISPLAY MODES

    April 21, 2009, 12:22 Viscosity UDFs #1

    SupernovaNew Member RichardJoin Date: Apr 2009Posts: 3Rep Power: 6

    Dear all,

    I am trying to get some udfs for variable viscosity working in Fluent 6.3, althoughI'm having a great deal of problems in doing so...

    I want to interpret the following code:

    #include "udf.h"//Works Casson DEFINE_PROPERTY(cell_viscosity,c,t){double mu_lam

    double tiny = 0.0000000001;double tauy = 0.01083;double muinf = 0.0031;double m = 200;double strain;double first;

    strain = pow(C_DUDX(c, t),2)+ pow(C_DVDY(c, t),2)+pow(C_DWDZ(c, t),2)+2*pow(C_DUDY(c, t)+ C_DVDX(c, t),2)+2*pow(C_DUDZ(c, t)+ C_DWDX(c, t),2)+2*pow(C_DVDZ(c, t)+ C_DWDY(c, t),2);

    strain = pow(strain, 0.5);

    first = 1-exp(-pow(m*strain,0.5));

    mu_lam = pow(muinf,0.5) + pow(tauy/(strain + tiny),0.5)*first;

    mu_lam = pow(mu_lam, 2);if(cell==100){printf("viscosity = %f",mu_lam);}return mu_lam;}

    However, when I read my case file, and try to interpret this, I get the followingerror:

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 2/7

    Error: c:\fluent.inc\fluent6.3.26/src/dpm.h: line 1192: parse error.

    I would greatly appreciate any help I could get on this.

    Many thanks in advance. Richard

    April 22, 2009, 12:13 #2

    SupernovaNew Member RichardJoin Date: Apr 2009Posts: 3Rep Power: 6

    Can anyone please help me with this?

    My final year project depends on this, and I don't know much about programming...

    Thank you.

    April 23, 2009, 06:36 #3

    SupernovaNew Member RichardJoin Date: Apr 2009Posts: 3Rep Power: 6

    Actually forget it, I figured it out in the end: I had my header file in the same folderas my code, so it didn't work!

    May 11, 2009, 02:30 #4

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Hi, Supernova

    strain = pow(C_DUDX(c, t),2)+ pow(C_DVDY(c, t),2)+pow(C_DWDZ(c, t),2)+2*pow(C_DUDY(c, t)+ C_DVDX(c, t),2)+2*pow(C_DUDZ(c, t)+ C_DWDX(c, t),2)+2*pow(C_DVDZ(c, t)+ C_DWDY(c, t),2);

    may i know how do you difine the C_DUDX (c,t) and the rest in your UDF??

    May 11, 2009, 04:37 #5

    coglioneSenior Member MaxJoin Date: Mar 2009Posts: 130Rep Power: 7

    hello Jane,

    C_DUDX(c,t) is a predefined macro which returns the derivative of x-velocity withrespect to x-coordinate. You do not have to define it by yourself. However there is

    also a macro C_STRAIN_RATE_MAG(c,t) to access the strain rate foreach cell itself, thus there is no reason to compute this value byhand.

    cheers

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 3/7

    May 11, 2009, 05:14 #6

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Hi, coglione

    Thank you for your reply.

    for example if i wan to code the equation as show in figure. below is the equationthat i code for UDF.

    shear_rate = sqrt (SQR(C_DUDX(c,t))+ SQR(C_DVDY(c,t) +SQR(C_DWDZ(c,t));

    may i know the equation that i code into UDF is correct or not?

    May 11, 2009, 20:46 #7

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Quote:

    Originally Posted by Jane Hi, coglione

    Thank you for your reply.

    for example if i wan to code the equation as show in figure. below is theequation that i code for UDF.

    shear_rate = sqrt (SQR(C_DUDX(c,t))+ SQR(C_DVDY(c,t) +SQR(C_DWDZ(c,t));

    may i know the equation that i code into UDF is correct or not?

    Help me please...

    i'm just a UDF beginner...please tell me

    May 12, 2009, 02:57 #8

    coglioneSenior Member MaxJoin Date: Mar 2009Posts: 130Rep Power: 7

    Hello Jane,

    the correct equation for strain rate is given by supernova in the first message ofthis thread. Use his coding or simply the macro C_STRAIN_RATE_MAG(c,t). It willreturn excactly the same and is much more efficient in terms of cpu-time.

    cheers

    May 12, 2009, 03:46 #9

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Quote:

    Originally Posted by coglione Hello Jane,

    the correct equation for strain rate is given by supernova in the firstmessage of this thread. Use his coding or simply the macroC_STRAIN_RATE_MAG(c,t). It will return excactly the same and is muchmore efficient in terms of cpu-time.

    cheers

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 4/7

    Hi coglione,

    thank you for your reply

    i've tried macro C_STRAIN_RATE_MAG(c,t) in the UDF, the problem occurs when isimulate using this predefined strain rate. the continuity graph increase until fluentshow errors message.

    i suspect my shear rate equation caused the increase of continuity, but i still cannotfind the solution.

    can you give me some idea?

    May 12, 2009, 07:44 #10

    coglioneSenior Member MaxJoin Date: Mar 2009Posts: 130Rep Power: 7

    Hello Jane,non-newtonian fluids are always prone for numerical problems due to the highly non-linear nature of the momentum equation involved. I usually start the simulation witha moderate shear dependency of the viscosity (or even constant one) and switch tothe actual rheological model when the approximate solution has converged. Thisprovides a realistic and quite smooth strain field and may help convergence. Ifinstability is still observed lower your relaxation, use first order discretization and ifnothing helps at all switch to transient simulation using a small time-step.

    Hope this helps

    May 12, 2009, 08:00 #11

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Quote:

    Originally Posted by coglione Hello Jane,non-newtonian fluids are always prone for numerical problems due to thehighly non-linear nature of the momentum equation involved. I usually startthe simulation with a moderate shear dependency of the viscosity (or evenconstant one) and switch to the actual rheological model when theapproximate solution has converged. This provides a realistic and quitesmooth strain field and may help convergence. If instability is still observedlower your relaxation, use first order discretization and if nothing helps atall switch to transient simulation using a small time-step.

    Hope this helps

    Thank you for your advice, finally i get the stable continuity.Thank you very much

    I found my UDF unable to print the numbers to console.

    Below is my "message" in UDF.

    /*Message("UDF: time=%f,shear_rate=%f");*/

    May 13, 2009, 11:06 #12

    Daniel TannerMember

    Leave out the outer quotation marks.

    "Message("UDF: time=%f,shear_rate=%f");"

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 5/7

    Daniel TannerJoin Date: Apr 2009Posts: 54Rep Power: 6

    should be of the form

    Message("UDF: time=%f,shear_rate=%f", X, Y);

    where X and Y are the time and shear_rate variables, i.e., you have not told theMESSAGE macro where to find the time and shear rate variables.

    May 13, 2009, 20:49 #13

    JaneNew Member JaneJoin Date: Mar 2009Posts: 18Rep Power: 7

    Quote:

    Originally Posted by Daniel Tanner Leave out the outer quotation marks.

    "Message("UDF: time=%f,shear_rate=%f");"

    should be of the form

    Message("UDF: time=%f,shear_rate=%f", X, Y);

    where X and Y are the time and shear_rate variables, i.e., you have nottold the MESSAGE macro where to find the time and shear rate variables.

    Thank you very much

    March 4, 2011, 10:53 Help #14

    mapleNew Member Join Date: Mar 2011Posts: 1Rep Power: 0

    Quote:

    Originally Posted by coglione hello Jane,

    C_DUDX(c,t) is a predefined macro which returns the derivative of x-velocity with respect to x-coordinate. You do not have to define it by

    yourself. However there is also a macro C_STRAIN_RATE_MAG(c,t)to access the strain rate for each cell itself, thus there is noreason to compute this value by hand.

    cheers

    Hi Coglione,

    Your input here has been very useful in my project.I would like to ask a few questions:

    C_STRAIN_RATE_MAG(c,t) deos it give a dimensionless value? or just the strainrate?

    This is me code for my model:#include"udf.h"DEFINE_PROPERTY(c_effective_viscosity, cell, thread){double e_viscos;double m = 200;double a_viscos = 0.0031;double y_stress = 0.01082;double strain;double a;double b;double c;strain = C_STRAIN_RATE_MAG(cell,thread);a = y_stress/strain;

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 6/7

    b = m*strain;c = 1-exp(-pow(b,0.5));e_viscos = pow(a_viscos,0.5)+(pow(a,0.5)*c);e_viscos = pow(e_viscos,2);return e_viscos;}

    However, when I try to run it, Fluent does not start iterating and shows thefollowing error message. Error: Floating point error: invalid numberError Object: ()

    Can you please help?

    Regards,Maple

    April 10, 2011, 11:03 #15

    wendywuMember xianghong wuJoin Date: Mar 2009Posts: 57Rep Power: 6

    Hello, I am writing a nonNewtonian viscosity model of my own, in the myViscosityModel.c, I wroteshearrate=max(minshearrate, sqrt(2.0*(symm(fvc::grad(u)))&&(symm(fvc::grad(u)))/3.0);

    when I compile it with "wmake",error is given as :arguments in max()function has different dimensions[0 0 -1 0 0 0 0] and [0 0 0 0 0 0 0],then I tried to delete one argument, as:shearrate= sqrt(2.0*(symm(fvc::grad(u)))&&(symm(fvc::grad(u)) )/3.0;wmake it, still one error exist, but I didn't found out the error, then I changed it back, as original:shearrate=max(minshearrate, sqrt(2.0*(symm(fvc::grad(u)))&&(symm(fvc::grad(u)))/3.0);then I wmake it, still one error ,but this time the output is much more than the firsttime, I can not find where the error is, I am confused, the same code, leads to different output, what is the problem?I checked the dimensions of the two arguments of max(), there are both 1/second,why it thinks the second argument 's dimension is [0 0 0 0 0 0 0]? anybody has any idea? thank you. and sorry for disturbing.

    wendy

    April 11, 2011, 03:08 #16

    coglioneSenior Member MaxJoin Date: Mar 2009Posts: 130Rep Power: 7

    Are you sure this is the right forum for this question?It sounds pretty much like OpenFoam which has its own userforum here on cfd-online.cheers

    April 12, 2011, 09:08 #17

    wendywuMember

    Quote:

    Originally Posted by coglione

  • 3/21/2014 Viscosity UDFs -- CFD Online Discussion Forums

    http://www.cfd-online.com/Forums/fluent-udf/63840-viscosity-udfs.html 7/7

    xianghong wuJoin Date: Mar 2009Posts: 57Rep Power: 6

    Are you sure this is the right forum for this question?It sounds pretty much like OpenFoam which has its own userforum here oncfd-online.cheers

    yeah, Thank you for reminding.

    Previous Thread | Next Thread

    Posting Rules

    You may not post new threadsYou may not post repliesYou may not post attachmentsYou may not edit your posts

    BB code is OnSmilies are On[IMG] code is OnHTML code is OffTrackbacks are OnPingbacks are OnRefbacks are On

    Forum Rules

    Similar Threads

    Thread Thread Starter Forum Replies Last Post

    Unsteady and Flux UDFs for UDSs tom FLUENT 0February 13, 2009

    10:27

    Turbulence viscosity limited Madhukar Rapaka FLUENT 0 June 26, 2006 03:17

    kinematic viscosity at difftemperatures,pressures

    Mecobio Main CFD Forum 0November 7, 2005

    12:55

    Turbulent viscosity in a riser ap FLUENT 8 April 19, 2003 08:00

    Problem of Turbulent Viscosity Ratio Limited David Yang FLUENT 3 June 3, 2002 06:13

    All times are GMT -4. The time now is 02:48.

    Contact Us - CFD Online - Top

    CFD Online