CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Normal vector variable of curved surface (https://www.cfd-online.com/Forums/cfx/198217-normal-vector-variable-curved-surface.html)

Pled January 30, 2018 10:56

Normal vector variable of curved surface
 
I looking out to find a function which outputs, NOT the average normal vector of a boundary syrface, BUT the varying normal vector depended on the point of the curved surface. Does anybody knows anything about it?

Opaque January 30, 2018 11:31

The variable is called Normal, its vector component names are Normal X, Normal Y, Normal Z.

If you want the area vector, then it is named Normal Area, and its vector component names are Normal Area X, Y and Z .

Hope the above helps,

You can see other available variables in the documentation section.

Pled January 31, 2018 04:24

But when I use it as a mesh displacement expression, errors happen at solving...
Is it not functioning well or should I do something else?
I have a curved surface and I want a mesh displacement of 0.0001m at the normal of its point of that surface. So for a x component of displacement I put an expression with value "Normal X*0,0001" and it crashes... The same I do for the y and z component.
Is Normal X^2+Normal Y^2+Normal Z^2=1??? meaning that the length of Normal is 1????

Pled February 1, 2018 05:26

I found what the problem was!
Using Normal X,Y or Z in expressions related to mesh displacement is not allowed (at least for ansys 17.0, it is a beta feature), and it needs to be unlocked as an expert parameter through the command editor because it is not located at expert parameter list.
The command is "cel allow boundary normal = t".
To add it right click on expert parameter list in outline->click edit on command editor.

Louisgirucl September 4, 2023 04:28

Follow-Up On Normal on node
 
Dear pled,
I am looking to use the same method as you are using, I want to displace nodes following only one Normal.
So you can confirm from your experience that using Normal X will displace the node in the direction of its local X normal?

Thanks

ghorrocks September 4, 2023 05:22

Will the "Parallel to Boundary" option for the mesh motion on that boundary do what you need and not require any expert parameters?

Louisgirucl September 5, 2023 05:35

Thank you. I do not think the parallel movement would fix it, as I do not have a hand on the displacement that I am aiming for.

I have a complex cylinder-shaped structure with two inner surfaces creating two chambers inside the cylinder. There is a void between these inner surfaces. The outer wall of this structure moves with a specified displacement. What I want to achieve is for the two inner surfaces to move in response to the pressure difference between the two chambers. These inner surfaces should move symmetrically, meaning when one surface moves, the other one should move in the same direction and by a similar amount. This symmetry is maintained because the distance between the two surfaces remains roughly constant.

I initially applied a specific displacement along one axis, but due to the curved surface, I encountered issues with negative volume for larger displacements. To address this, you are considering using the "Normal Y * DisplacementExpression" to align each node along the normal direction, which would help maintain the structural integrity of the model

So far I have applied a specific displacement following only one axis as the nodes are globally oriented in the y direction, however as it is a curved surface, I run into negative volume for the largest displacements.

I hope I made the explanation clear!

ghorrocks September 5, 2023 06:53

Sorry, I do not understand what you are trying to do. I think some images explaining it would help.

But you seem to mention that the mesh motion is dependent on pressure. This sounds like FSI.

A general point: If you have complex mesh motion then you may need to forget the built in displacement diffusion model and use User Fortran to directly specify your mesh motion. Then you have complete control over everthing.

Louisgirucl September 5, 2023 07:05

1 Attachment(s)
Thank you.
The specificity of the method is that it is not FSI. It is a moving mesh approach that you can find described here "10.1016/j.medengphy.2018.04.014"

I have attached a picture of the local geometry on which we can see the two volumes and the surfaces on which the grid is visible. I would like the surfaces to get displaced perpendicularly to them basically, following the arrows that I have justified.

ghorrocks September 5, 2023 18:52

I still do not understand what you are doing, but you say you want the mesh to be constrained to move perpendicular to the surface. I do not know of any way of doing this other than to write a Junction Box user fortran routine to do it.

Also does the reference you quote mean you are trying to apply a simplified FSI approach where the mesh motion is a simple function of the flow condition such that a full FEA solver is not required, but the displacement can be modelled using a simple function that hopefully can be done inside CFX?

Louisgirucl September 8, 2023 04:22

Thank you,

yes, that is what I mean regarding the simplified motion of the wall, there is not FEA.

Do you know any post I could refer myself to on how to use the Fortran routines?

ghorrocks September 8, 2023 04:55

A comment on your general approach - the model you propose will have implications on numerical stability and may not converge without help. You may need to under-relax it or use some other method to get it to converge. Alternately it may need very small time steps. Time will tell on that issue.

CFX user fortran is described in the Solver Modelling guide, Ch 19. It is not simple :) There use to be examples in the ANSYS Customer page but they have all been moved to the ANSYS Learning Hub and I can't work the new hub out.

Louisgirucl September 8, 2023 05:00

Hello,

Yes, I have to use under relaxation factors and have been pushing the method to its limit. I am having issues at the moment and am trying to find a way to avoid the instabilities with the pressure source coefficient. I have added a picture to present my issue in which we see the instabilities coming at high displacement.

However, the relaxation factor is only accessible in the additional variable, which I am not using in my method, I use only expressions.

Thanks

Louisgirucl September 8, 2023 05:03

1 Attachment(s)
That is the picture I was mentioning.

ghorrocks September 8, 2023 05:11

Are you talking about the under relaxation factors already in CFX (so for momentum and other equations), or underrelaxation on your mesh motion?

Louisgirucl September 8, 2023 05:15

I am using the source coefficient on every wall boundary as the Mass Flux Pressure Coefficient.
However I do not have an under-relaxation coefficient in my mesh motion as it is only defined as an expression and then used in the Specified displacement; I might be able to set up the method to allow them though.

Louisgirucl September 8, 2023 05:16

Is there an under-relaxation factor that I could activate regarding the mesh displacement?

ghorrocks September 8, 2023 05:17

OK - but I assume that the mesh motion is not implemented yet, hence this thread.

No, you will have to implement an URF on your mesh motion yourself. This will be easy if you do the motion in fortran (but the motion will be hard :) )

Louisgirucl September 8, 2023 05:36

1 Attachment(s)
The mesh motion is implemented already when the displacement is in x,y, and z directions and is applied to a tube.

I have attached a simplified schematic so I can explain.

I have this tube, separated in two volumes by two surfaces, between which there is a void ( no fluid). The displacement of the surfaces is calculated from the average pressure difference between them; if pressure is higher on the right surface, they move to the left and vice versa.

However, I want the surface to only move in one direction as they can not expand on the sides and vertically.

But they are not flat and perfectly oriented along the y-axis, hence the issue with the normal that I want to implement.

Hope it is easier to understand now

ghorrocks September 8, 2023 05:58

I think I get the idea now, thanks.

I cannot think of any way to do this other than User Fortran via a junction box.


All times are GMT -4. The time now is 17:35.