For an overview of the finite element method functionality provided by the Wolfram language also see
​https://www.wolfram.com/language/core-areas/finite-element-method/

NDSolve

◼
  • Ordinary Differential Equations
  • ◼
  • Boundary Value Problems
  • ◼
  • Delay Differential Equations
  • ◼
  • Hybrid and Discontinuous Equations
  • ◼
  • Differential-Algebraic Equations
  • ◼
  • Partial Differential Equations
  • ◼
  • Rectangular Regions
  • ◼
  • Arbitrary Regions
  • Why Finite Elements

    Arbitrary shaped domains

    Large class of PDEs

    Solving PDEs

    Problem setup

    ◼
  • {x,y,..}∈Ω
  • ◼
  • PDE
  • ◼
  • Γ
  • NDSolve

    Specification

    -
    2
    ∇
    u=1
    Ω∈Disk
    Γ
    D
    =0;x>=0

    Setup

    In[]:=
    pde=-
    2
    ∇
    {x,y}
    u[x,y]==1;
    In[]:=
    Ω=Disk[];
    In[]:=
    Γ
    D
    =DirichletCondition[u[x,y]0,x≥0];

    Solve

    In[]:=
    uif=NDSolveValue[{pde,
    Γ
    D
    },u,{x,y}∈Ω]
    Out[]=
    InterpolatingFunction
    Domain: {{-1.,1.},{-1.,1.}}
    Output: scalar
    

    Visualize

    In[]:=
    Plot3D[uif[x,y],{x,y}∈Ω]
    Out[]=

    Specific PDEs

    CoefficientForm:​​m
    2
    ∂
    ∂
    2
    t
    u+d
    ∂
    ∂t
    u+∇·(-c∇u-αu+γ)+β·∇u+au=f
    Laplace:∇·(-c∇u-αu+γ)+β·∇u+au=0
    Poisson:∇·(-c∇u-αu+γ)+β·∇u+au=f
    Helmholtz:∇·(-c∇u-αu+γ)+β·∇u+au=f
    ConvectionDiffusionReaction:​​ ∇·(-c∇u-αu+γ)+β·∇u+au=f
    Heat:
    2
    ∂
    ∂
    2
    t
    u+
    ∂
    ∂t
    u+∇·(-c∇u-αu+γ)+β·∇u+au=f
    Wave:
    2
    ∂
    ∂
    2
    t
    u+
    ∂
    ∂t
    u+∇·(-c∇u-αu+γ)+β·∇u+au=0

    Poisson’s equation

    PDE
    Poisson:∇·(-c∇u-αu+γ)+β·∇u+au=f
    Boundary conditions
    hu=ron∂Ω
    n
    ·(c∇u+αu-γ)=g-quon∂Ω
    Ω

    Poisson’s equation

    Setup
    Ω=ImplicitRegion[0≤x≤5&&0≤y≤10&&!((x-5)^2+(y-5)^2≤3^2),{x,y}];​​op=-Laplacian[u[x,y],{x,y}]-20;
    hu=ron∂
    Γ
    D
    In[]:=
    Γ
    D
    =DirichletCondition[u[x,y]0,x0&&8≤y≤10];
    n
    ·(c∇u+αu-γ)=g-quon∂
    Γ
    N
    In[]:=
    Γ
    N
    =NeumannValue-2u[x,y],(
    2
    (x-5)
    +
    2
    (y-5)
    
    2
    3
    );
    Solve:
    In[]:=
    uif=NDSolveValue[{op
    Γ
    N
    ,
    Γ
    D
    },u,{x,y}∈Ω];
    Out[]=

    Boundary

    Default

    How To Set Up:

    ◼
  • Geometry/Mesh
  • ◼
  • PDEs
  • ◼
  • Boundary Conditions
  • Heat sink

    Ω
    PDE

    Heat sink

    Γ

    Heat sink

    Solve
    Visualize

    Solid Mechanics

    Crankshaft held fixed at both ends, forces from the pistons deform the object.
    Mesh
    PDE parameters
    PDE
    Solve:
    Visualize:
    ​

    How To Set Up:

    ◼
  • Geometry/Mesh
  • ◼
  • PDEs
  • ◼
  • Boundary Conditions
  • Geometry/Mesh

    ◼
  • Import: STEP, stl, dxf, ...
  • ◼
  • Create your own
  • OpenCascadeLink

    ◼
  • Link to OpenCascade CAD engine
  • OpenCascadeLink

    Load OpenCascadeLink:
    Convert a Ball to an OpenCascadeShape:
    Inspect the type of the object:
    Convert to a mesh:
    Visualize the mesh:

    OpenCascadeLink Supports

    OpenCascadeLink

    Mesh Generation

    Manual

    Symbolic Regions

    Create the region product of a 2D mesh with a coarse 1D mesh.

    Graded Meshes

    Construct a region product.
    Visualize the region product of the anisotropic mesh.

    Multi-materials

    PMLs, Images, Contours,

    Mesh Generation

    Mesh Generation

    ​

    PDEs/BCs with Material Regions

    Shielded micro strip

    Ω

    Shielded micro strip

    PDE
    Γ

    Shielded micro strip

    Solve
    Visualize

    Automation

    Solvers

    ◼
  • Linear/Nonlinear Stationary (both iterative/direct)
  • ◼
  • Transient
  • ◼
  • Frequency
  • ◼
  • Parametric
  • ◼
  • Eigenvalues
  • Transient

    Transient

    ​

    Transient

    Eigenvalue Problem

    NDEigensystem

    NDEigensystem

    NDEigensystem

    Mask tool  boundary graphics :

    NDEigensystem

    NDEigensystem

    NDSolve rocks!

    Summary:
    non-linear, variable coefficient, transient systems of PDEs over arbitrary regions in
    1D/2D/3D

    Thanks

    Wave equation

    POVRay rendering
    Ca. 50K Elements, compute time ca. 5min, render time ca. 5 hours.

    Specific PDEs

    NeumannValues

    In this case, the generalized Neumann conditions are
    FEM derivation:
    Integration by parts gives:
    If NeumannValue[-1,x5] floats around in the list of equations, we do not know with which equation to associate it!

    Init

    CITE THIS NOTEBOOK

    Wolfram R&D LIVE: PDE Modeling​
    by Oliver Ruebenkoenig​
    Wolfram Community, STAFF PICKS, February 3 2023
    ​https://community.wolfram.com/groups/-/m/t/2823264