Steady-state fluid flow in the human eye

The graphical user interface of Elmer
cosswald
Posts: 10
Joined: 17 Oct 2013, 23:06
Antispam: Yes

Steady-state fluid flow in the human eye

Post by cosswald »

I am attempting to model steady-state fluid flow throughout the posterior segment of the human eye. It's a simple geometry I created using GMSH. To give a little background, fluid is flowing in from the hyaloid (vertical lines on left), through the vitreous (central area) and out through the retina (large semi-circle on the right). The lens (small semi-circle on the left) is impervious.
Image
I am ignoring gravity. All my units are in SI, however my geometry is in mm, so I've utilized "Coordinate Scaling = 0.001" in the free text under Simulation.

For my boundary conditions:
  • The lens is impervious, so I've utilized the no-slip condition (BC 1). Not sure how else to address no flux across the lens.
  • Outflow from the retina (BC 2) is 3.888e-8 m/s tangential to the retinal surface. I wasn't sure how to incorporate this, so I selected the normal-tangential velocity option and set it equal to 2.749e-8 m/s in both the x and y directions. I think within here may be my problem. There is an external pressure of 1200 Pa.
  • Inflow from the hyaloid (BC 3) is 6.9444e-8 m/s in the +x direction. There is an external pressure of 2000 Pa.
As far as I know, I have included all the necessary information in order for the problem to be solved. However, when I run the simulation, the solution does not converge. After 20 iterations it ends at 2. I have read through several of the other forum posts suggestions but none have yet to work (e.g., changing the Linear System Iterative Method, System Max Iterations, etc.).

I'm quite inexperienced in FEM and any and all help is greatly appreciated!

Here is my sif file for reference:

Code: Select all

Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 4
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  Solver Input File = case.sif
  Post File = case.ep
Coordinate Scaling = 0.001
End

Constants
  Gravity(4) = 0 0 0 0
  Stefan Boltzmann = 5.67e-08
  Permittivity of Vacuum = 8.8542e-12
  Boltzmann Constant = 1.3807e-23
  Unit Charge = 1.602e-19
End

Body 1
  Target Bodies(1) = 13
  Name = "Body 1"
  Equation = 1
  Material = 1
End

Solver 1
  Equation = Navier-Stokes
  Procedure = "FlowSolve" "FlowSolver"
  Variable = Flow Solution[Velocity:2 Pressure:1]
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-8
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = TFQMR
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Equation 1
  Name = "Navier-Stokes"
  NS Convect = False
  Active Solvers(1) = 1
End

Material 1
  Name = "Vitreous"
  Reference Temperature = 310.15
  Density = 1000
  Compressibility Model = Incompressible
  Viscosity = 0.7
  Porous Resistance = 1.7e10
  Porous Media = True
End

Boundary Condition 1
  Target Boundaries(1) = 35
  Name = "Lens"
  Normal-Tangential Velocity Rotate = False
  Noslip wall BC = True
  Normal-Tangential Velocity = True
End

Boundary Condition 2
  Target Boundaries(1) = 36
  Name = "Retina"
  Velocity 1 = 3.888e-8
  Velocity 2 = 3.888e-8
  Normal-Tangential Velocity = True
  External Pressure = 1200
End

Boundary Condition 3
  Target Boundaries(1) = 14
  Name = "Hyaloid"
  Velocity 1 = 6.9444e-8
  External Pressure = 2000
End
raback
Site Admin
Posts: 4823
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Steady-state fluid flow in the human eye

Post by raback »

Hi

Interesting application.

When you use normal tangential coordinate the "Velocity 1" will refer to normal component and "Velocity 2" for tangential one.

You should either set normal velocity or external pressure. You cannot define both at the same time.

If you define normal velocity around the whole domain you must be very sure that the total flux will be zero. Otherwise you cannot obtain convergence since the divergence free condition of incompressible fluid cannot be met.

-Peter
cosswald
Posts: 10
Joined: 17 Oct 2013, 23:06
Antispam: Yes

Re: Steady-state fluid flow in the human eye

Post by cosswald »

Peter, thank you for help regarding pressure/velocity and how to define tangential/normal velocity. I'm still having issues with convergence even when defining just pressure. I'm also having issues now of Elmer recognizing my viscosity and porous resistance even though I haven't touched those parameters, but I've seen a few others have had this problem, too. I'll update when I get it working.

Thanks again.
cosswald
Posts: 10
Joined: 17 Oct 2013, 23:06
Antispam: Yes

Re: Steady-state fluid flow in the human eye

Post by cosswald »

I've been trying to solve for the coupled Advection Diffusion equation (convection computed) and Navier-Stokes. The issue I'm having is Elmer recognizing the porous resistance value that I've inputted:
ERROR:: Model Input:
ERROR:: Model Input: Unknown specifier: [1.7e10]
ERROR:: Model Input: In section: [material 1]
ERROR:: Model Input: For property name:[porous resistance]
When I remove the value, which is a necessary material property, it proceeds to solve. However, it doesn't converge (similar to what I mentioned in my above post) and the values make no sense. Has anyone ever run into this problem before? When searching through other posts regarding porous resistivity, only a few other posts come up and they don't really relate to what I'm doing.

Here is my case.sif:

Code: Select all

Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 4
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 1
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  Solver Input File = case.sif
  Post File = case.ep
  Coordinate Scaling = 0.001
End

Constants
  Gravity(4) = 0 0 0 9.82
  Stefan Boltzmann = 5.67e-08
  Permittivity of Vacuum = 8.8542e-12
  Boltzmann Constant = 1.3807e-23
  Unit Charge = 1.602e-19
End

Body 1
  Target Bodies(1) = 13
  Name = "Body 1"
  Equation = 1
  Material = 1
  Initial condition = 1
End

Solver 1
  Equation = Navier-Stokes
  Variable = Flow Solution[Velocity:2 Pressure:1]
  Procedure = "FlowSolve" "FlowSolver"
  Exec Solver = Always
  Stabilize = True
  Bubbles = True
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-8
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Solver 2
  Equation = Advection Diffusion Equation
  Variable = -dofs 1 Concentration
  Procedure = "AdvectionDiffusion" "AdvectionDiffusionSolver"
  Exec Solver = Always
  Stabilize = True
  Bubbles = False
  Lumped Mass Matrix = False
  Optimize Bandwidth = True
  Steady State Convergence Tolerance = 1.0e-5
  Nonlinear System Convergence Tolerance = 1.0e-8
  Nonlinear System Max Iterations = 20
  Nonlinear System Newton After Iterations = 3
  Nonlinear System Newton After Tolerance = 1.0e-3
  Nonlinear System Relaxation Factor = 1
  Linear System Solver = Iterative
  Linear System Iterative Method = BiCGStab
  Linear System Max Iterations = 500
  Linear System Convergence Tolerance = 1.0e-8
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 1
  Linear System Precondition Recompute = 1
End

Equation 1
  Name = "N-S and Diffusion"
  Concentration Units = Absolute Mass
  Concentration Convection = Computed
  Active Solvers(2) = 1 2
End

Material 1
  Name = "Vitreous"
  Concentration Diffusivity = 1e-11
  Viscosity = 7e-4
  Compressibility Model = Incompressible
  Porous Media = True
  Density = 1000
  Porous Resistance = 1.7e10
End

Initial Condition 1
  Name = "[Vitreous] Initial"
  Concentration = 0
End

Boundary Condition 1
  Target Boundaries(1) = 35
  Name = "Lens"
  Noslip wall BC = True
  Concentration Flux = 0
End

Boundary Condition 2
  Target Boundaries(1) = 36
  Name = "Retina"
  Normal-Tangential Velocity = True
  External Pressure = 1200
End

Boundary Condition 3
  Target Boundaries(1) = 14
  Name = "Hyaloid"
  Concentration = 0
  External Pressure = 2000
End
Last edited by cosswald on 19 Nov 2013, 19:18, edited 1 time in total.
annier
Posts: 1168
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Steady-state fluid flow in the human eye

Post by annier »

hi,
when i see your boundary conditions related with advection diffusion equation, you have set either concentration =0 or zero flux condition (specifying it or not mentioning it in the boundary concerned means zero net flux). this means there is no net mass flux in your system concerned. are you only using the advection part of the advection diffusion equation? i guess you have to set a non-zero boundary condition for the net diffusion flux and/or concentration value if you are also dealing with the diffusion part.

Code: Select all

 Boundary Condition 1
      Target Boundaries(1) = 35
      Name = "Lens"
      Noslip wall BC = True
      Concentration Flux = 0  !Zero flux
    End

    Boundary Condition 2
      Target Boundaries(1) = 36
      Name = "Retina"
      Normal-Tangential Velocity = True
      External Pressure = 1200
      ! Nothing here means zero flux condition
    End

    Boundary Condition 3
      Target Boundaries(1) = 14
      Name = "Hyaloid"
      Concentration = 0  !Zero concentration
      External Pressure = 2000
    End
Since there is mass transfer (fluid transfer) into the hyaloid and out from the retina,i guess it would be more realistic if you use the non zero mass flux at these boundaries by specifying "mass transfer coefficient" and "external concentration" Or since you have already mentioned the velocities of fluid at the boundaries, they can be numerically scaled to the units of concentration/mass flux.
yours
annier
Anil Kunwar
Faculty of Mechanical Engineering, Silesian University of Technology, Gliwice
cosswald
Posts: 10
Joined: 17 Oct 2013, 23:06
Antispam: Yes

Re: Steady-state fluid flow in the human eye

Post by cosswald »

Annier, thanks for your reply. I am incorporating the advection-diffusion (A-D) equation because my ultimate goal is to model drug delivery and how a drug would diffuse throughout the eye. At the moment, however, I am only interested in solving for the convection gradient (hence my zero concentration boundaries) as there is existing literature that I want to compare to.

I took your suggestions and added a flux condition to the retina boundary. The model still fails to converge. To address your other comments and to explain my BCs: the lens is a highly compacted, avascular tissue and we assume no drug or fluid permeates it, hence no-slip and no flux. The hyaloid is relatively thin and highly porous. We assume there is no resistance to flow across it, implying that the pressure is equal across the membrane (2000 Pa). It is also assumed that it has no resistance to passive transport from the vitreous humor to the aqueous humor (fluid chamber anterior to the vitreous, across the hyaloid). The aqueous has a very short residence time compared to the vitreous, thus we assume that the concentration of any species at the hyaloid is zero.

If I only activate the A-D equation, I am not able to input external pressures as boundary conditions for the hyaloid and retina. This is why I have activated both the A-D and Navier-Stokes equations.

I am still having issues with Elmer recognizing porous resistance, so in the attached archive, it have not included the value of porous resistance of 1e7. I have also uploaded the study I am attempting to recreate (freely available from umn.edu).

Thanks in advance for any further assistance.
Attachments
cosswald.zip
Archive of all necessary files
(37.89 KiB) Downloaded 704 times
Stay et al - 2003 - Computer Simulation of Intravitreal Transport of Controlled-Release Drugs.pdf
Study I am trying to recreate
(342.43 KiB) Downloaded 792 times
raback
Site Admin
Posts: 4823
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Steady-state fluid flow in the human eye

Post by raback »

Pressure in the eye
Pressure in the eye
EyePressure.png (53.96 KiB) Viewed 17094 times
Hi cosswold

I studied the case for a while. I also read the attached article and would be very careful trusting the results too much. In the attached case I got things to converge but the BCs for the pressure should be somehow more physical to avoid the sharp (real) singularity that comes at some corners. I tried to check the overall operation only so far to make the pictures look ok ;-)

The .sif file has quite many comments. Replace the previous sif file with this and go to the directory and run "ElmerSolver". Hope this helps.

-Peter
Attachments
case.sif
Modified command file
(4.9 KiB) Downloaded 664 times
Concentration in the eye
Concentration in the eye
EyeConcentration.png (23.08 KiB) Viewed 17094 times
mzenker
Posts: 1999
Joined: 07 Dec 2009, 11:49
Location: Germany

Re: Steady-state fluid flow in the human eye

Post by mzenker »

Hi Peter,

slightly offtopic: How did you manage to have the attached images displayed?

Thanks,

Matthias
raback
Site Admin
Posts: 4823
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Steady-state fluid flow in the human eye

Post by raback »

Hi

They come automatically inlined images if they are small enough when you choose "Upload attachments" below this edit window where I'm typing right now.

-Peter
cosswald
Posts: 10
Joined: 17 Oct 2013, 23:06
Antispam: Yes

Re: Steady-state fluid flow in the human eye

Post by cosswald »

Peter, thank you for your help and suggestions regarding the singularity. I have run ElmerSolver with a much finer mesh generated in Gmsh and am attempting to open the case.vtu file with ParaView (3.14.1 64-bit). I have never used ParaView, nor other post-processors, and it is asking for a reader to open the VTU file.

I've tried opening the VTU file with all of my available options (see list). The only one that maybe works is the MFIX Unstructured Grid, however ParaView crashes due to not enough memory.
  • AVS UCD Binary/ASCII Files
    Comma-separated-values
    Cosmology files
    Digital Elevation Map files
    Enzo Files
    Flash Files
    Fluent Case Files
    Gaussian Cube Files
    MFIX Unstructured Grid Files
    OpenFOAM
    PLOT3D Files
    POP Ocean Files
    POP Ocen NetCDF (Rectilinear)
    ProSTAR Files
    Protein Data Bank Files
    Raw (binary) Files
    SESAME
    Spy Plot History Files
    Stereo Lithography
    Tecplot Files
    VPIC Files
    VTK Particle Files
    Wavefront OBJ Files
Post Reply