CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Pulsatile Flow Blood Vessel (https://www.cfd-online.com/Forums/cfx/119948-pulsatile-flow-blood-vessel.html)

 omni89 June 27, 2013 08:03

Pulsatile Flow Blood Vessel

1 Attachment(s)
Hi All,

I'm trying to conduct a 1-Way FSI for a simple blood vessel deformation
in response to a pulse blood flow.

To recreate blood flow, I'm using a inlet expression that forms a sine wave

The solution converges correctly, however, when I monitor the velocity input
I get an increasing input instead of a proper sine wave.

Should I be doing something different?

Here's the expression I'm using - (VelCentre)+(VelAmp*(sin(t/1[s])))
Where VelCentre = 2.5, and VelAmp = 2.5. This plots a sine
wave with a maximum of 5, and a minimum of 0.

When I plot the expression by itself it comes out exactly like I want it.

However, below is the monitored velocity.

Attachment 23006

 mvoss June 27, 2013 08:32

You can check every expression in PRE via the Diagramm when creating it.

 omni89 June 27, 2013 16:20

Hi Matthias,

I'm using a time step of 1 [s], with
substeps of 0.1 [s].

Exactly, and in PRE it shows a perfect
sine wave.

 ghorrocks June 27, 2013 18:52

sin(t/1[s]) with time steps of 1[s] is not going to work. Are you sure your equation is correct? Either you goofed up the equation or your timesteps need to be a factor of 100 smaller.

 mvoss June 28, 2013 03:16

@omni89
donīt mix up the cfd "timestep" for the 1-way fsi and the substeps from the mechanical setup. could you describe your setup from the iteration/stagger-iteration/coupling-step-point-of-view?

 omni89 June 28, 2013 04:40

Apologies, I wrote it wrong the first time Matthias.

Here is my Setup:

Time per run: 1[s]
Timestep: 0.01[s] - I've tried changing it to a timestep of 0.001[s] to no
avail Glenn.

Coefficient loops (maximum): 10 - I have tried a larger maximum of 100,
but it usually converges well within that limit (around 20 loops at the most).

I tried changing the input expression around, but I'm still encountering the
same velocity monitoring. I think I'll revisit some of the tutorials and see if
I can get accurate results with them.

After that I'll give this a go again then get back to you guys. I'd rather not
waste you're time unless I've thought of the rest first.

Thanks for helping out so far!

 mvoss June 28, 2013 09:55

reviewing your plot it doesnīt look that bad... did you (accidentally) activated "Plot Coefficient Loop Data" (Solver -->WorkspaceProp.-->GlobalPlotSettings)? Are you monitoring the expression or a "point" in the mesh? How does the Flow>Boundary>INLET>P-Mass Boundary Flow on INLET look like?

 omni89 June 30, 2013 05:54

1 Attachment(s)
Okay, so it turns out I wasn't far off. I didn't have anything wrong with my
expression but the resolution I was getting from my timesteps etc made it
so that the wave wasn't fully observed during analysis.

I changed my parameters to:

Time per run: 6.5[s]
Timesteps: 0.005[s]

Which gives me a pulsatile velocity input exactly how I wanted. (See the
attached picture).

The issue I now have is, matching the timesteps in Transient Structural when
doing a 1-Way coupling. If I use the exact same step parameters, it doesn't
solve.

i.e:

No. of steps: 1
Current Step No.: 1
Step end time: 6.5[s]

Auto Time Stepping: On
Define By: Time
Intial Time Step: 0.005[s]
Minimum Time Step: 0.005[s]
Maximum Time Step: 0.005[s]

Everything else is left in default. The error I get is:

"Time specified for an imported load does not match any of the step
end times. Please enter a valid time value so that the imported load
time matches a step end time."

In previous practice runs, I have tried several combinations of the above
parameters and it seems almost arbitrary as to what to use to get a
correctly matched solution. The material I have (ANSYS Tutorials) don't
have too much detail on this, or I cannot find the exact that mentions the
relationship between the two.

Can you please point me towards any resource you think can help educate
over trivial questions.

Cheers.

 mvoss July 1, 2013 03:31

i am actually not sure about the whole setup. You are running transient structural with small deformations and couple to a steady cfx simulation right?

 omni89 July 1, 2013 04:48

Sorry should have been more clear.

I'm running CFX (transient) Fluid Flow and importing the subsequent pressures into a
Transient Structural.

The end goal is to have a 2-Way FSI between the two.

 mvoss July 1, 2013 05:15

For 2-Way FSI
-same Endtime (6.5s)
-use the same Timestepsize in ANSYS and CFX (e.g 5E-03 s) by setting the stepping in ANSYS, CFX will use it automatically no matter what you set on CFX ("from coupling")

if both cases are transient, youīll automatically end up with a 2-Way-FSI.

 omni89 July 1, 2013 05:22

If we wanted an implicit solution then don't we have to use ANSYS Multifield to solve both systems iteratively?
Using the setup you've described will provide me with a explicit solution which might not be accurate enough for
blood vessel mechanics. Do correct me if I'm wrong, as far as I can tell the implicit solution is preferred for
bio-mechanical analyses.

Using the above setup, which would make it much easier for me, how do I separate the fluid and solid meshes in the
Transient Structural system?

 mvoss July 1, 2013 05:56

Quote:
 Originally Posted by omni89 (Post 437010) If we wanted an implicit solution then don't we have to use ANSYS Multifield to solve both systems iteratively? Using the setup you've described will provide me with a explicit solution which might not be accurate enough for blood vessel mechanics. Do correct me if I'm wrong, as far as I can tell the implicit solution is preferred for bio-mechanical analyses. Using the above setup, which would make it much easier for me, how do I separate the fluid and solid meshes in the Transient Structural system?
The vector-coupling or partitioned approach when using two different solvers for FSI like described is afaik also an implicit one but donīt pin me down on this. The solvers iterate multiple times on every timestep.
Iīve seen blood vessel sim. done with ANSYS-wb. From the point of accuracy i think you can achieve proper results depending on the interface-convergence settings - so check for the values of interest.

If you need matrix-coupling/ monolithic approaches then u are right. You have to solve the whole system in a single matrix, which is not possible with the structural since it cannot solve for the fluid-mechanics.

For the meshing: not sure what you mean, but you can simply suppress the bodies/meshes you donīt need in the mechanical ( by creating the appropriate bodies in upstream DM - if the meshes need to be 1:1 put them in one assembly in DM).

 omni89 July 1, 2013 06:12

Got it. I've got a decent idea of what you've described so I'll give it a go and see how
the results look.

Just for confirmation, in the ANSYS Workbench (I'm using 14.5), this would look like the following:

Transient Structural System (with boundary conditions the same as before - fixed
supports on either end of the the cylindrical pipe, and pressure on walls is just blood
pressure varying with time).

This "couples" with a CFX System in the SETUP section, or is it a full Fluid Flow CFX
System that includes Geometry/Mesh? (with boundary conditions same as before - sine/cosine
wave of velocity varying with time at inlet of pipe, static pressure of 1 [Pa] at outlet).

Both systems have the same time per run, and timestep, thus leading to an "indirect"
2-Way FSI?

 mvoss July 1, 2013 06:47

yap. but you need to provide a (geoemtry and) mesh for the CFX-Cell. Send the geometry from the mech. to an extra mesh-cell and link this to the CFX-Setup. Same geometry but diff. meshes, the mesh from the mech-mesh. is discarded and just a dummy.

 omni89 July 1, 2013 06:58

I'm getting an error for Timesteps again unfortunately:

"Invalid time step settings. Please review inputs for all load steps. You may use
the worksheet view"

I'm trying to compute the whole system on an order of magnitude lower so
I can observe the results sooner.

Time Per Run: 1[s]
Timestep: 0.01[s]

The error I'm getting is in the Mechancial System, where I have the following settings:

Steps: 5
Current Step: 1
Step End Time: 1[s]
Auto Time Stepping: On
Define By: Time (or Substeps - Same error)
Initial Time Step: 0.01[s]
Min Time Step: 0.01[s]
Max Time Step: 0.01[s]

The tabular data I'm using to place a normal pressure on the inside of the blood
vessel wall is at the same time distance of 0.01 increment, so I'm unable to see
where the time step settings are wrong.

Please ignore this, I've just figured out that I hadn't entered in all the Time Steps
at each individual Step.

I'll keep you posted on how the rest goes

 mvoss July 1, 2013 10:08

Quote:
 Originally Posted by omni89 (Post 437041) I'm getting an error for Timesteps again unfortunately: "Invalid time step settings. Please review inputs for all load steps. You may use the worksheet view" I'm trying to compute the whole system on an order of magnitude lower so I can observe the results sooner. Time Per Run: 1[s] Timestep: 0.01[s] The error I'm getting is in the Mechancial System, where I have the following settings: Steps: 5 Current Step: 1 Step End Time: 1[s] Auto Time Stepping: On Define By: Time (or Substeps - Same error) Initial Time Step: 0.01[s] Min Time Step: 0.01[s] Max Time Step: 0.01[s] The tabular data I'm using to place a normal pressure on the inside of the blood vessel wall is at the same time distance of 0.01 increment, so I'm unable to see where the time step settings are wrong. Please ignore this, I've just figured out that I hadn't entered in all the Time Steps at each individual Step. I'll keep you posted on how the rest goes
just to be clear ... on mechanical you set the end time and the time per step WITH 1 Step with no AutoTimestep.

 omni89 July 10, 2013 05:52

Hi All,

The run you gave me went well (Matthias), unfortunately, the level of accuracy
(semi-implicit as it is indirect) isn't enough so I'm currently running
a Multiphysics simulation.

I successfully completed a 1[s] run of the Mutliphysics model with reasonably
accurate results (using the Velocity wave at the inlet, just like the prior model
I mentioned).

To improve the model now, I'm using a pressure wave at the inlet (gained from
empirical data). However, after 6 timesteps, I'm encountering the following error:

ERROR #001100279 has occurred in subroutine ErrAction.
Message:
CFX encountered the error: Read. Fatal error occurred when reque-
sting Total Mesh Displacement for Interface.

ERROR #001100279 has occurred in subroutine ErrAction.
Message:
cplg_SendCommand failed to send the command: ERROR -- CFX encount-
ered the error: Read. Fatal error occurred when requesting Total
Mesh Displacement for Interface.

ERROR #001100279 has occurred in subroutine ErrAction.
Message:
Stopped in routine cplg_SendCommand

I think the fault is in my mesh, however I'm not sure how exactly.
I saw you (Glenn) point another member towards the FAQ when they
got a similar error (i.e same "ERROR #001100279", but theirs was to
do with "Floating point exception: Overflow").

If you can point me towards to how to go about fixing this, I'd greatly
appreciate it :)

 mvoss July 10, 2013 06:07

the ansys part is crashing... check the *.err file in your *.ansys directory.

 omni89 July 17, 2013 23:04

1 Attachment(s)
I've checked the Ansys part and the error it gives me is as follows:

*** WARNING *** CP = 257.948 TIME= 18:38:51
There are 1031 small equation solver pivot terms.

*** ERROR *** CP = 260.397 TIME= 18:40:00
One or more elements have become highly distorted. Excessive
distortion of elements is usually a symptom indicating the need for
applying the load (KBC,1). You may need to improve your mesh to
obtain elements with better aspect ratios. Also consider the behavior
of materials, contact pairs, and/or constraint equations. If this
message appears in the first iteration of first substep, be sure to
run shape checking of elements.

*** WARNING *** CP = 260.412 TIME= 18:40:00
The unconverged solution (identified as time 2.E-02 substep 999999) is
output for analysis debug purposes. Results should not be used for
any other purpose.

To combat this, I've increased the number of coupling loops & coefficient loops,
so that the solution has longer to converge; I've also increased the number of
elements in my pipe wall (Ansys section) which should allow better transfer of
loads in the Multifield/Multiphysics solver. However, the same error comes up,
and the changes haven't even affected the solver, as it stops roughly at the
same timestep.

The pressure wave I'm using now is an actual pressure wave seen in the blood,
so it's equation is lengthy in order to form an accurate waveform (refer to the
attached image). Is the error in the Ansys part occurring because of a meshing
problem?

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