CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Transient, Prescribed Mesh Displacement at a Boundary-Wall (https://www.cfd-online.com/Forums/cfx/81515-transient-prescribed-mesh-displacement-boundary-wall.html)

Majed_A October 28, 2010 20:15

Transient, Prescribed Mesh Displacement at a Boundary-Wall
 
I am trying to setup a transient simulation where a Complex 3D-wall boundary is moving in time. The locations of the nodes on the wall are known for every timestep prior to running the solver. A file for each timestep has been generated which contains the displacements of all the FEA nodes at the boundary of interest in the format X,Y,Z,Xdisp,Ydisp,Zdisp. Using ICEM CFX, I generate a fluid domain with the exact geometry as the wall boundary in the FEA simulation and now I would like to move the CFX nodes at the boundary of interest in a similar manner. I am attempting to implement this by using the profile boundary data method to specify the displacement for the nodes, different for each time step. So far i have only been able to implement this method successfully for the first time step. I would like to know how to use the profile boundary data method to implement a 3d-boundary wall displacement, different for each time step, using ANSYS CFX 12.1. If there is another method that will allow this simulation to work please indicate so.

ghorrocks October 29, 2010 07:05

This would probably be best implemented in fortran. There used to be an example of using fortran to do moving mesh but it got removed in CFX V12 I think. Have a look at the ball valve tutorial in CFX V11 or ask support for an example fortran to do moving mesh.

Majed_A November 1, 2010 17:19

Thanks for your reply. So far i have implemented a junction box routine(JBR) that is executed after each time step which replaces the content of the profile boundary data file with that corresponding to the current time step. For example, i set ‘readmyfile’ as the boundary profile data file for the wall boundary of interest. At the start of each timestep the JBR is executed and takes file content from ‘readmyfile_t1’, ‘readmyfile_t2’.... ‘readmyfile_tn’, which corresponds to the current timesteps and re-writes it in ‘readmyfile’. In effect, ‘readmyfile’ is updated everytime step with the corresponding timestep file. After running several simulations, I noticed that the boundary profile data is read only once at the start of the run. Is there any way to enforce the boundary profile data to be read at every timestep in CFX which would be an ideal solution to my problem.

ghorrocks November 1, 2010 20:39

You will want to keep the mesh topology the same and the boundry definitions the same as much as possible. To update the mesh topology or boundary condition definitions you will need to do an interpolation step - CFX V12 I think has some new stuff for this but I am not too familiar with it.

adeban November 2, 2010 07:10

Hello,

Perhaps you could use the same technique as i did in this tutorial for a transient boundary profile. I haven't tried it but i cant see why it wouldn't work.

http://www.edr.no/blogg/ansys_blogge...nsient_profile



Klas Johansson, Ph.D.
Technical Consultant at EDR
mailto:klas.johansson@edr.se




EDR blog
http://www.edr.se/blogg
Newsletter
http://www.edr.se/nyhetsbrev

Majed_A November 3, 2010 14:27

Hi,

Thanks for the reply. The profile boundary data is read only for the initial boundary profile. I need this file to be re-read every timestep becuase the deformation is different every timestep. I have a fortran junction box routine executed at the start of each timestep that replaces the boundary profile data file in the current directory. But the problem is that this file is only read once that start of the run. Your method does work, but only works for the initial timestep, and i am not sure if you force cfx to read the profile data file every timestep.

Majed

adeban November 4, 2010 02:36

Aha,

So the deformation you prescribe is actually changing with the solution then. That makes it more complicated. This method will only work if the displacement is know before the simulation actually starts.

/klas

Majed_A November 4, 2010 08:10

Aklan,

Yes the deformaiton is different at every timestep, but it has been solved already with FEM using LSDYNA. I have simply taken the transient solution from the FEA solver and generated about 200 .csv files for each timestep. Each file follows the format for the initialized boundary profile data. The problem that i am trying to solve is having cfx-solver read each file at the corresponding timestep. So far it seems that the only way to solve this is to use a fortran routing. I have implemented this already but i am unsure of how to return the data to the RET variable.
Thanks, Majed

adeban November 4, 2010 09:49

Ok.

Since the motion is fixed you can actually use the method i described. You just merge the csv files and add another column for the time (X,Y,Z,time,Xdisp,Ydisp,Zdisp). The read it in and use as normal. The setup of this file should be like this:

http://www.edr.no/var/edr/storage/im...profile_02.png

WOuldnt that work to merge them? Then the displacements for the entire simulation is read in at the start and used later on during the solution. Havent done anything like it so im a bit unsure.

/klas

Majed_A November 4, 2010 10:08

Thanks for reply. The problem is when calling the function. CFX only allows a maximum of 3 spatial fields. For my situation there is 4 spatial fields, (X,Y,Z,t). So if i merge all my files to one .csv file in the format you have suggested i will not be able to call a function as myMeshDisp(x,y,z,t) because CFX is limited by 3 spatial fields. I am now working on creating a fortran routine to see where it takes me.Again thanks a lot for your interest and replies.

adeban November 4, 2010 10:25

ok. That gives this a big limitation. I understand that you end up with a problem.

Good luck with the fortran.

Nenad November 26, 2010 08:59

Hello,
I have problem similar to this one http://simutechny.blogspot.com/2010/...g-wall-in.html but I can't make any progress. I have splited geometry, so now it's made of two bodies. I should make spliting plane move in Z direction for 0.3mm displacement (as black arrow shows), but somehow I can't define it very well. My simulation brakes immediately.
http://img809.imageshack.us/i/duese08.jpg/
http://img139.imageshack.us/i/duese07.jpg/
Do you have any ideas how to do this?

Thank you

Nenad

ghorrocks November 27, 2010 04:42

There are tutorial examples which come with CFX which show how to do this sort of modelling.

vmlxb6 April 15, 2011 13:54

@ adeban:
 
The link that you shared:

http://www.edr.no/blogg/ansys_blogge...nsient_profile

The step where you enter myin.Velocity(x,z,t), gives me an error saying expected units for Normal component is ms^-1.

Is the expression myin.velocity(x,z,t) correct ???????

Is there another way to do it ?????

Thanks

Mina_Shahi March 15, 2012 08:43

mesh displacement or total mesh displacement
 
Quote:

Originally Posted by ghorrocks (Post 281742)
You will want to keep the mesh topology the same and the boundry definitions the same as much as possible. To update the mesh topology or boundary condition definitions you will need to do an interpolation step - CFX V12 I think has some new stuff for this but I am not too familiar with it.


Hi

I am trying to messure the mesh displacement in CFX, so i i set some monitor points in the walls but i am just wondering that which one i should messure total mesh displacement or mesh displacement? i defined both and i saw different results, i am going to compare the result of CFD with data from Experiment so it is very important for me to know which one is the one i should look for?

i would apppreciate if you can help me

Lance March 15, 2012 11:18

Quote:

Originally Posted by Mina_Shahi (Post 349614)
Hi

I am trying to messure the mesh displacement in CFX, so i i set some monitor points in the walls but i am just wondering that which one i should messure total mesh displacement or mesh displacement? i defined both and i saw different results, i am going to compare the result of CFD with data from Experiment so it is very important for me to know which one is the one i should look for?

i would apppreciate if you can help me

Total mesh displacement is the displacement relative to the initial mesh, while mesh displacement is the displacement relative to the previous mesh location

avk March 17, 2014 10:58

mesh displacement
 
Hi,

Please help me if someone find a way to model mesh displacement with (x,y,z,t) variables?

Thank you,
AVK

ghorrocks March 17, 2014 16:18

What do you mean by xyzt variables? Do you have the xyz position of the body as a function of time? Or the xyz position of the nodes as a function of time?

avk March 18, 2014 14:14

Glenn,

I have the x,y,z values of the nodes changing with time. I have 6 different files denoting 6 different positions of the nodes changing in time in sequence. I was wondering if I can apply these as wall displacement boundary condition and call it at particular time steps.

Thanks a lot,
Avk

ghorrocks March 18, 2014 16:51

If you know the location of each node at each time step then you can use a fortran routine to prescribe the mesh motion. Contact ANSYS support for an example of using this approach, I know they have an example.

avk March 18, 2014 20:00

Thank you Glenn........


All times are GMT -4. The time now is 08:00.