32

I've always found the approach to describing finite element methods that focuses on the discrete linear system and works backward unnecessarily confusing. It is much clearer to go the other way, even if that involves a bit of mathematical notation in the beginning (which I'll try to keep to a minimum). Assume that you are trying to solve an equation $A u = ...


30

Nitsche's method is related to discontinuous Galerkin methods (indeed, as Wolfgang points out, it is a precursor to these methods), and can be derived in a similar fashion. Let's consider the simplest problem, Poisson's equation: $$ \left\{\begin{aligned} -\Delta u &= f \qquad\text{on }\Omega,\\ u &= g \qquad\text{on }\partial\Omega. \end{aligned}\...


28

Error estimates usually have the form $$ \|u - u_h\| \leq C(h),$$ where $u$ is the exact solution you are interested in, $u_h$ is a computed approximate solution, $h$ is an approximation parameter you can control, and $C(h)$ is some function of $h$ (among other things). In finite element methods, $u$ is the solution of a partial differential equation and $...


25

When I studied the finite element method in graduate school, this notion of multiplying by a weight function was also very alien to me. Eventually, I did find a nice (albeit non-rigorous) analogy that helped me understand it. This analogy is based on 3D vector geometry and an understanding of projections and dot-product. 3D Geometry Imagine a 2D plane ...


20

The property follows from the property of the corresponding (weak form of the) partial differential equation; this is one of the advantages of finite element methods compared to, e.g., finite difference methods. To see that, first recall that the finite element method starts from the weak form of the Poisson equation (I'm assuming Dirichlet boundary ...


18

In the finite element method, the matrix entries and right hand side entries are defined as integrals. We can, in general, not compute these exactly and apply quadrature. But there are many quadrature formulas one could choose, and one often chooses them in a way so that (i) the error introduced by quadrature is of the same order as that due to ...


17

I do not think that there is a definite answer to this, because it might change from one topic to other (and also depends on the type of elements you are using). There are some recent papers talking about that, as well [2]. So, it is not a closed discussion. Furthermore, you can have different inertial components (at least in mechanics), when you have ...


17

The following picture illustrates a mesh with a hanging node and a mesh containing no hanging node: Usually with a finite element mesh the vertices are shared with their other neighbouring elements, but the circled node does not belong to the bottom triangle. We call this node a hanging node. This commonly occurs during the process of adaptive mesh ...


16

Here's the deal with GPUs. On a GPU, every single core is slow. Really slow. However, you have thousands of cores. If you can effectively use the thousands of cores at a time, then your algorithm will run better on the GPU. If you cannot, then it will run much slower on the GPU. Linear algebra is one domain where parallelism is really well established. ...


14

Chapter 8 of Brenner and Scott's Mathematical Theory of Finite Element Methods is devoted to this subject. In particular, theorem 8.1.11 and the corollary give you that $ \|u - u_h\|_{W^1_\infty} \le C h^{k - 1}\|u\|_{W^k_\infty}$ for linear elliptic problems with sufficiently smooth coefficients, provided that the finite element space satisfies some other ...


14

You're coming at it backwards. The justification is better seen by starting from the variational setting and working towards the strong form. Once you've done this, the concept of multiplying by a test function and integrating can then be applied to problems where you don't start with a minimization problem. So consider the problem where we want to ...


13

Not sure if you find the COMSOL Model Wizard somewhere else, maybe other commercial Multi-physics software but not in the open-source community. I had the same question a couple of years ago and I listed all Finite-element, Multi-physics framework. As you may know there are many of them. The one that I found really useful and close, at least in the way that ...


12

Adams-Moulton method is significantly more stable. The analogy used when I was taught the difference is the same as extrapolation and interpolation. Interpolation is relatively safe numerically. Extrapolation can blow up if you happen to have an asymptote or some other odd feature. For instance, solving the ode $y'(t) = -y(t)$ with $y(0) = 1$ using ...


12

A perfectly matched layer (PML) is generally introduced as a continuous concept without reference to the discretization method. A damping term is multiplied by the advection operator: $$ \frac{\partial}{\partial x} \rightarrow \frac{\partial}{\partial x}\left(\frac{1}{1 + i\sigma/\omega}\right) $$ If $\sigma$ is positive, the imaginary component in the above ...


12

I don't think you can avoid using a tolerance for floating-point comparisons. Error due to round-off, discretization, and so on using floating-point numbers is unavoidable. What I typically do to test FEM code I write is: test the stiffness & mass matrices on a single element to make sure I get local element assembly right, compare against a known ...


12

In general, you cannot just transfer the same polynomial basis from tetrahedral to quadrilateral elements.1 In particular, the whole point of quadrilateral elements is to work with tensor products of one-dimensional polynomials, which is not possible for tetrahedral elements. There are in fact quadrilateral Raviart-Thomas elements, but their definition is ...


12

As I mention before, I prefer to think about the weak form as a weighted residual. We want to find an approximate solution $\hat{u}$. Let us define the residual as $$R = c^2 \nabla \cdot \nabla \hat{u} - \frac{\partial^2 \hat{u}}{\partial t^2} - f(x,t)$$ for the case of the exact solution the residual is the zero function over the domain. We want to find ...


12

Yes, this is the standard Aubin-Nitsche (or duality) trick. The idea is to use the fact that $L^2$ is its own dual space to write the $L^2$-norm as an operator norm $$\|u\|_{L^2} = \sup_{\phi\in L^2\setminus\{0\}} \frac{(u,\phi)}{\|\phi\|_{L^2}}.$$ We thus have to estimate $(u-u_h,\phi)$ for arbitrary $\phi\in L^2$. To do that, we "lift" $u-u_h$ to $H^1_0$ ...


12

Suppose that the solution $u$ of the PDE lives in some function space $X$. We'll write the PDE as a bilinear form $A(u, v) = f(v)$ for all $v$ in $X$, where $f$ is some element of the dual space $X^*$. To approximate the solution $u$ of this PDE, we can instead look for some field $u_N$ that lives in a finite-dimensional subspace $V_N$ of $X$. Typically, ...


12

The term is commonly used in the following way in the finite element context: Let's assume that $u\in V$ is the exact solution of the PDE, and $u_h\in V_h$ the finite element approximation. Then we ask for the convergence order of the norm of the error $\|u-u_h\|_X$ with regard to some norm $\|\cdot\|_X$. We then say that the approximate solution "...


12

I'm going to assume since you mention electrodynamics that you're interested in PDEs. You've already mentioned FEniCS in your comment. FEniCS offers a domain-specific language (DSL) called UFL. This language makes it simple to express the weak form of a PDE for discretization via the finite element method. There's another package called Firedrake*, which ...


11

The Finite Element Method (FEM) is the parent method which has inspired many, many other methods and methods which are actually FEM but pretend not to be. In the finite element method, "shape functions" are used to provide an approximation space so that the solution can be represented by a vector. In the classical FEM, these shape functions are polynomials. ...


11

A good introduction to how issues of element shape influence quality and ease of solution, with pictures, is Jon Shewchuk's "What Is a Good Linear Finite Element? Interpolation, Conditioning, Anisotropy, and Quality Measures" http://www.cs.berkeley.edu/~jrs/papers/elemj.pdf


11

In deal.II (http://www.dealii.org -- disclaimer: I'm one of the principal authors of that library), we do eliminate whole rows and columns, and it is not too expensive overall. The trick is to use the fact that the sparsity pattern is typically symmetric, so you know which rows you need to look into when eliminating a whole column. The better approach, in ...


11

Your example is a pretty good indication that the two derivatives (with respect to $x$ and with respect to $u$) do not commute :) (In fact, they're very different beasts -- one is a Fréchet derivative, the other a weak derivative.) Rather, you should consider $a(u) = (\partial_x u)^2$ as the composition $a = f\circ g$, of two functions $$ f: v(x)\mapsto v(...


11

Stability does indeed mean that small changes in the data lead to small changes in the solution. This can be shown for the linear advection equation through the energy method; in proving the stability of a discretization, we seek to mimic the energy estimate of the exact problem. Considering the PDE, $$ \frac{\partial u}{\partial t} + a \frac{\partial u}{\...


11

Julia is built in such a way that you will never see a full PETSc-like library, and that's on purpose. PETSc is not a single thing: it is an HPC library with some utility functions, linear solvers, nonlinear solvers, ... a whole can of soup that works within its own world but not outside of it. Julia's package ecosystem is build on generics and composability....


10

I would recommend gmsh. I have just started working with this program actually only a few days ago. But it is straight-forward to use. You can create various 2D and even 3D-geometries and it offers a ton of information, boundary nodes, etc.. Here is a link to the website: http://geuz.org/gmsh/ They have many useful references, there is a manual of course ...


10

People use all sorts of bases in practice. For example, people use orthonormal bases in DG methods to ensure that the mass matrix in time stepping schemes is diagonal. People also use hierarchical bases when doing $p$ adaptivity because it makes the construction of constraints at faces where different polynomial degrees come together trivial. For higher ...


10

For parabolic/elliptic PDE's, I highly recommend Beatrice Riviere's book: Discontinuous Galerkin methods for solving elliptic and parabolic equations: theory and implementation. For hyperbolic PDE's and general (i.e. nonlinear) conservation laws, I recommend Hesthaven & Warburton's book: Nodal discontinuous Galerkin methods: algorithms, analysis, and ...


Only top voted, non community-wiki answers of a minimum length are eligible