Skip to content

Finite Element code primarily focused on fluid-dynamics applications

License

Notifications You must be signed in to change notification settings

pseastham/eFEM.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eFEM.jl

Build Status Codecov

Finite Element code in the Julia language focused on fluid-dynamics applications.

This repository allows the use of Finite Elements discretizations to solve common problems in fluid dynamics. Functionally, this package is designed to be used with the larger eFEMpart.jl, which also includes the ability to simulate particles.

Installation

eFEM.jl is an unregistered package. To install eFEM.jl using the REPL, type

pkg> add https://github.com/pseastham/eFEM.jl

To enter the Pkg environment from the REPL, type ].

Meshes

For simple geometries (rectangles...), you can use the built-in geometry code but for more complicated geometries we suggest building your mesh with an external library (such as GMSH).

Equations

As of right now, the following equations are solvable:

  • Poisson's Equation (:Poisson2D)

  • Darcy's Equation (:Darcy2D)

  • Advection-Diffusion Equation (:AdvDiff2D)

  • Stokes' Equation (:Stokes2D)

  • Brinkman's Equation (:Brinkman2D)

  • Brinkman's Multiphase Equation (:BrinkmanMP2D)

All parameterized equations can be solvable with either constant or variable-in-space parameters. Additionally, Axisymmetric version of the Advection-Diffusion and Stokes equations are available with the Operator Types of :AdvDiffAS and :StokesAS, respectively.

Equations in this README were generated by the GitHub app TeXify

Auxiliary Information

Boundary conditions are treated intuitively, based on the mesh given. The functions Dirichlet, Neumann, and Robin allow assignment of boundaries to have certain boundary conditions, and the functions Dirichlet, Neumann, Forcing allow for the definition of the actual boundary conditions at these boundaries. See examples for how this is used in practice.

Visualization

We export all solutions in a legacy VTK format. For visualizing these files, we suggest using VisIt or ParaView.

Examples

Check out the examples folder to see how to use our syntax.

About

Finite Element code primarily focused on fluid-dynamics applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages