Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

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.

General Projection Bulk Temperature Example & Question

Please login with a confirmed email address before reporting spam

Dear all,

The following model may prove useful to somebody (other than myself) who wishes to calculate the average of some scalar value as a function of axial distance. In this case it's the bulk fluid temperature.

The model was made on COMSOL 4.2.0.228 with basic 'classkit' licence.

It does this:

- Calculates the surface integral of temperature in the xy plane.

- Displays a line graph of the average xy temperature variations in the axial z direction using a general projection.

Also, it has fully developed inlet flow specified with boundary PDE solution.

The general projection method used relies on the symmetry of the geometry, it takes a slice right down the middle of the pipe to calculate the average temperature at different axial positions.


THE PROBLEM:

If I cut the pipe in half the technique used to calculate the bulk average temperature would no longer be valid.

Does anyone have any advice for how average bulk temperature could be calculated for a semi-circular geometry?


Thanks,

Adam Parrott


6 Replies Last Post Nov 22, 2013, 10:17 a.m. EST
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 12, 2013, 3:59 a.m. EDT
Hi

a comment to your model: use the boundary layers for the non slip condition walls, it changes the results

for your average heat flux, you can take the average energy out using the flow velocity as normalisation
And your model is really 2D-axi, it would solve quicker in 2d-axi so you have more time to play with the values



--
Good luck
Ivar
Hi a comment to your model: use the boundary layers for the non slip condition walls, it changes the results for your average heat flux, you can take the average energy out using the flow velocity as normalisation And your model is really 2D-axi, it would solve quicker in 2d-axi so you have more time to play with the values [math] \frac{\iint_A\;T\;\bold{u} \;dA} { \iint_A\;\bold{u}\;dA} [/math] -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 13, 2013, 1:54 a.m. EDT
Hi Ivar,


I've attached the geometry that I'm trying to implement the General Projection integration tool in. The objective is to be able to calculate the heat transfer coefficient along the length, so I need the average temperature at different cross-sectional locations. How would you go about achieving this in COMSOL? Would you write a MATLAB script or would you tackle it within the GUI? I think that I should be able to do some revolution integration with the general projection tool... but actually getting this to work I'm finding elusive, I'm finding the documentation is not clear as I see other users in the forum have discovered as well.

The reason I switched off the boundary layer mesh was that I found it was causing the velocity field to be unstable - I found that if I compared the max_exit_velocity/average_exit_velocity for a long duct it would give a different answer every time I increased the mesh density. When I used a swept triangular mesh the solution became stable as I increased the mesh density. I'm trying to recreate this in a neat way but it's made me distrustful of the boundary layer mesh!

Thank you for your advice,

Adam
Hi Ivar, I've attached the geometry that I'm trying to implement the General Projection integration tool in. The objective is to be able to calculate the heat transfer coefficient along the length, so I need the average temperature at different cross-sectional locations. How would you go about achieving this in COMSOL? Would you write a MATLAB script or would you tackle it within the GUI? I think that I should be able to do some revolution integration with the general projection tool... but actually getting this to work I'm finding elusive, I'm finding the documentation is not clear as I see other users in the forum have discovered as well. The reason I switched off the boundary layer mesh was that I found it was causing the velocity field to be unstable - I found that if I compared the max_exit_velocity/average_exit_velocity for a long duct it would give a different answer every time I increased the mesh density. When I used a swept triangular mesh the solution became stable as I increased the mesh density. I'm trying to recreate this in a neat way but it's made me distrustful of the boundary layer mesh! Thank you for your advice, Adam


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 14, 2013, 10:57 a.m. EDT
Hi

well for me you should keep the boundary layer and identify why it goes unstable and rather fix that ;)
But then I take this comment back, because the projection operator do not work on other than thets, but you can always do a mesh convert on the domain as last mesh operation, then you keep the fine mesh along the edges, always cleaner, numerically

Another point, is it a half tube with symmetry conditions on the flat cut plane ? in which case you need to add "symmetry" BC, so that the flow remains invariant (and boundary normal = 0 ) along this boundary, also for the HT

In this case you probably do not need your projection variable either (I might have misunderstood though)

If you want to get an average per Z height you can also make a series of Data Set cut planes and integrate over these. Or use two projections: general projection on all domain from z,x,y to z,x, and another one on the flat boundary x,y=0,z from z,x to z and then combine both (the latter one can also be a linear projection from vertex source 1,11,2 to vertex destination 5,6

something like 1[K]*linproj1(genproj1(T[1/K])/genproj1(1))/linproj1(1)

as you can only go one DoF at the time, and projection only works on thets mesh check the doc

--
Good luck
Ivar
Hi well for me you should keep the boundary layer and identify why it goes unstable and rather fix that ;) But then I take this comment back, because the projection operator do not work on other than thets, but you can always do a mesh convert on the domain as last mesh operation, then you keep the fine mesh along the edges, always cleaner, numerically Another point, is it a half tube with symmetry conditions on the flat cut plane ? in which case you need to add "symmetry" BC, so that the flow remains invariant (and boundary normal = 0 ) along this boundary, also for the HT In this case you probably do not need your projection variable either (I might have misunderstood though) If you want to get an average per Z height you can also make a series of Data Set cut planes and integrate over these. Or use two projections: general projection on all domain from z,x,y to z,x, and another one on the flat boundary x,y=0,z from z,x to z and then combine both (the latter one can also be a linear projection from vertex source 1,11,2 to vertex destination 5,6 something like 1[K]*linproj1(genproj1(T[1/K])/genproj1(1))/linproj1(1) as you can only go one DoF at the time, and projection only works on thets mesh check the doc -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 18, 2013, 8:21 p.m. EDT
Ivar,

I've attached the model with the bulk average fluid temperature calculated with your suggestions implemented. I used two general projections:

1[K]*genproj2(genproj1(T[1/K])/genproj1(1))/genproj2(1)

So, I have genproj1() z,x,y to z,x, which is integration through the volume projected onto the 2D plane z,x,

And then genproj2() that gives an integration on the flat boundary x,y=0,z from z,x to z,

I drew myself a picture of how it works, I would not have worked that out from the manual! (I attached it as a .zip as well because I found I could not re-open the first file.)

Thank you very much for your help,

Adam
Ivar, I've attached the model with the bulk average fluid temperature calculated with your suggestions implemented. I used two general projections: 1[K]*genproj2(genproj1(T[1/K])/genproj1(1))/genproj2(1) So, I have genproj1() z,x,y to z,x, which is integration through the volume projected onto the 2D plane z,x, And then genproj2() that gives an integration on the flat boundary x,y=0,z from z,x to z, I drew myself a picture of how it works, I would not have worked that out from the manual! (I attached it as a .zip as well because I found I could not re-open the first file.) Thank you very much for your help, Adam


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 19, 2013, 3:43 p.m. EDT
Hi

one thing to be aware off, the average is generally written
ave_of_a_field = integration_over_entity(your variable) / integration_over_entity(1)

but when you do a mapping you have a set of integrations, then you have always to consider the issue of integration of a value over s separate integration of the area, and the sum of the ( line integration / line integration of 1 = line length )

I'm not sure that in all generality, for any skewed surface in 3D you can swap integration and division.
But it seems certainly the case for you nice "cubic model well aligned on the Cartesian coordinates.

An example the aveop(T*(x<0)) to get the average temperature over the domain(s) for (x<0) IS NOT the same as the true "average" ave = intop(T*(x<0)) / intop((x<0)).
The former is giving you intop(T*(x<0)) / intop(1)

So check carefully the hypothesis when combining projections and complex formulas

--
Good luck
Ivar
Hi one thing to be aware off, the average is generally written ave_of_a_field = integration_over_entity(your variable) / integration_over_entity(1) but when you do a mapping you have a set of integrations, then you have always to consider the issue of integration of a value over s separate integration of the area, and the sum of the ( line integration / line integration of 1 = line length ) I'm not sure that in all generality, for any skewed surface in 3D you can swap integration and division. But it seems certainly the case for you nice "cubic model well aligned on the Cartesian coordinates. An example the aveop(T*(x

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Nov 22, 2013, 10:17 a.m. EST
I actually made a mistake in the file I uploaded "BulkModel2.zip" the plot for the fluid should actually read:

genproj2(genproj1(T))/genproj2(genproj1(1))

I actually made a mistake in the file I uploaded "BulkModel2.zip" the plot for the fluid should actually read: genproj2(genproj1(T))/genproj2(genproj1(1))

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.