Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.
Non-passive Lagrangian particles / modifying Comsol solution vectors
Posted Jul 20, 2010, 10:55 p.m. EDT 0 Replies
Please login with a confirmed email address before reporting spam
By way of background, I am modeling low Reynolds number thermochemical convection in a compositionally heterogeneous, viscous fluid that is subject to irreversible phase changes. I handle the compositional heterogeneity using Lagrangian particles, and I have written a routine in MATLAB that allows me to track large numbers (>1e6) of particles through the velocity and temperature fields obtained from a Comsol model. Knowing the p and T of the individual particles over time, as well as their phase history, allows me to determine when/where each particle experiences a phase transition.
My problem is this. Currently the interaction between the particles and the velocity and temperature fields obtained from Comsol is one way: u, p and T from Comsol determine the p-T trajectories of the particles. What I would like to do is to allow information from the particles to feedback on the flow. The simplest example of this is the enthalpy (latent heat) associated with the various phase changes, which alters the temperature (and thereby buoyancy and viscosity) of the system locally. I can currently calculate the latent heat loss associated with each particle at each time step within my MATLAB routine, and I would like to simply "correct" the temperature field after each time step to account for this. Basically the algorithm I have in mind is as follows:
1. Given u, p and T at time t, solve for u, p and T at time t+dt using Comsol
2. Advect particles given u, p and T from Comsol
3. Calculate latent heat associated with phase change for each particle over timestep, given its p, T and composition
4. Correct T field using latent heat obtained from particles ==> call this modified field T'
5. Repeat from #1, using modified temperature field (T') as starting point for next time step
I have implemented this approach before in CFD models at a source code level (Fortran, C), but I'm having trouble figuring out how exactly to go about it in Comsol. (The instructions for the API seem somewhat opaque.) Any suggestions/advice would be greatly appreciated.
Thanks!
Paul
Hello Paul Hall
Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.
If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.