- **OpenFOAM Running, Solving & CFD**
(*https://www.cfd-online.com/Forums/openfoam-solving/*)

- - **How to modify the viscosity model**
(*https://www.cfd-online.com/Forums/openfoam-solving/59607-how-modify-viscosity-model.html*)

Hi,
I am working with simplHi,
I am working with simpleFoam on polymer extrusion problem, using Bird-Carreau viscosity model. As is seen from source code, you used the velocity field (U) and the surface integration field (phi) to initialise the viscosity model: autoPtr<transportmodel> laminarTransport ( transportModel::New(U, phi) ); My question is: how to add new factors into the viscosity model? For example, viscosity is also a function of pressure and temperature (called the WLF-Arrhenius equation). If I want to implement this effect, I think I have to modify the sourcecode of transportModel and add pressure and/or temperature into the member functions. Can I have some guideline on the implementation? In addition, is the solution speed and convergence going to be affected seriously? Thanks very much. |

Create your own viscositymodelCreate your own viscositymodel and when you need your T look it up from the mesh (the mesh is also a database and holds all the fields on it)
Something like: const volScalarField& T = U_.mesh().lookupObject<volscalarfield>("T"); The solution speed should not be affected. Convergence only if there is a strong temperature dependence. |

Hi,
I've also started to Hi,
I've also started to implement a solver for polymerflow. Dissipation in that case is important - has anybody experience in adding this to the energy equation? br Stefan |

Hi Stefan,
have a look here |

help pleaseHi Foamers,
I was wondering, how one can directly implement a new visosityLaw even as function of a Field like "T" inside the solver directly, and without going to call the predefined viscosityModels, without even to use them. The problem is just to re-update each time the new viscosity at the new time step due to the new values of the Field "T" . How this can be done ? tell me if this example is true or not, where should be the update for varables? the Example for the problem inside the solver: if i am solving: etc . . . //My new viscosity law as function of field T volScalaField new_nu = 2*T-5; solve ( fvm::ddt(T) + fvm::div(phi, T) == fvm::laplacian(new_nu, T) ) . . . etc thanks a lot |

All times are GMT -4. The time now is 15:58. |