Hot answers tagged

13 votes
Accepted

Under what circumstances is parallel scaling of the finite element method not "solved"?

There are multiple questions in the post, so let me address these separately: Scaling: Every parallel program is composed of sequential and parallel tasks, and Amdahl's law then guarantees that there ...
Wolfgang Bangerth's user avatar
9 votes
Accepted

FEM for vector valued problems: reference request

Short answer: Just replicate the vector of interpolation functions into a block-diagonal matrix, as showed e.g. on page 5 in this lecture note. Detailed answer: Mathematically oriented texts typically ...
Zoltán Csáti's user avatar
8 votes

Comparing various implementations/software packages for large-scale finite element simulations

As one of the library's authors, I would of course love for deal.II to come out on top with this comparison. But I suspect it may not, and the answer lies in a factor you omit from your comparison: ...
Wolfgang Bangerth's user avatar
5 votes

Spectral Element vs Finite Element

The SEM is a FEM! It's almost like all these different names are designed to confuse the newcomer. I will speak primarily about the most popular form which uses a tensor product Lagrange basis with ...
L. Young's user avatar
  • 188
5 votes
Accepted

Spectral Element vs Finite Element

The main advantage is that it reduces the Runge phenomenon and leads to faster convergence rates. It also presents less numerical dispersion and need less nodes per wavelength (see 1 and 2). So, I ...
nicoguaro's user avatar
  • 8,207
4 votes

Errors imposing boundary conditions weakly with DG

I'm not familiar with deal.II. However, to show that DG is able to reproduce the constant gradient solution I will post some results with a different tool using IP. The penalty is about $\sigma\...
ConvexHull's user avatar
  • 1,092
4 votes

FEM for vector valued problems: reference request

We can show how it works on the example of linear elasticity. In classical finite elements formulations, on every node, we will have a scalar shape (base) function to which we have associated number ...
likask's user avatar
  • 906
4 votes

Developing a C++ solid mechanics program

Specific answers to this question are probably time-limited. However, the following general approach (from the great Eric S. Raymond) works very well: Rule of Modularity: Write simple parts ...
Biswajit Banerjee's user avatar
4 votes
Accepted

Comparing various implementations/software packages for large-scale finite element simulations

Unfortunately there's no tool for this. You can run each on a variety of input sizes to establish the computational complexity they appear to have, i.e. the $f$ in the $O(f(n))$ that characterizes ...
Bill Barth's user avatar
  • 10.9k
4 votes
Accepted

Step3 in deal.II - Convergence of the mean

$h$ is a measure of the mesh size. In the example, they are using rectangular elements. For which a commonly used measure of the mesh size is the length of the largest diagonal. Looking at the table ...
Abdullah Ali Sivas's user avatar
3 votes

Nitsche's method for imposition of Dirichlet boundary conditions: implementation standpoint

If I understand your question right then yes, you're correct. The most common approach to enforcing Dirichlet boundary conditions with the finite element method is to modify the linear system of ...
Daniel Shapero's user avatar
2 votes
Accepted

Gradient-jump penalty term in FEM

You go the grouping in the term $\nabla u^+-\nabla u^-$ mostly right but not quite. To see this, remember that the functions $\phi_i^{\pm}$ are discontinuous, and that consequently $u_0^+$ is not ...
Wolfgang Bangerth's user avatar
2 votes

Library for Discontinuous Galerkin method: FEniCS vs deal.ii

For Hyperbolic PDEs I can highly recommend Trixi, a (if you want) high order Discontinuous Galerkin based solver with adaptive mesh refining capabilities written in ...
Dan Doe's user avatar
  • 849
2 votes
Accepted

Topics about the deal.II finite element library class "SparsityPattern"

I will try answer based on my experience with deal.ii. The max_per_row=5 means that at most there will be 5 non-zeros per row in the matrix. Since we now know ...
James's user avatar
  • 1,859
2 votes
Accepted

Nitsche's method for imposition of Dirichlet boundary conditions: implementation standpoint

You are correct, all degrees-of-freedom are constrained weakly so there is no need to post process the matrix. Here is an example with $f=10$ and $u_0(x) = \sin(2 \pi x)$: The example source code ...
knl's user avatar
  • 2,041
2 votes

Find intersections between mesh and curve inside it

The other answers and comments have good suggestions already. In practice, you will probably find that on coarse meshes most cells have no intersection with the curve and, assuming that your curve is ...
Wolfgang Bangerth's user avatar
1 vote

Find intersections between mesh and curve inside it

When I faced this problem in the past, in the context of domain decomposition across mismatched surface tessellations, I ended up basically using the Sutherland-Hodgman algorithm (polygon-to-polygon ...
rchilton1980's user avatar
  • 4,759
1 vote
Accepted

How is the integral of a projection over an element $T$ computed in practice? (deal.II related)

You need to compute the projection $\Pi(f-cU_h)$ as a first step. This is a finite element field, so you can create a global field (in deal.II lingo: Create the corresponding finite element and a <...
Wolfgang Bangerth's user avatar
1 vote

SIPG method for $-\nabla \cdot (\nu \nabla u)=f$

I don't think so, you would violate the product rule.
ConvexHull's user avatar
  • 1,092
1 vote

Time discretization Navier Stokes equation

I don't see what you're not seeing. You've written out a perfectly good non-linear weak form of the PDE in your last two equations. If you invert $M$ and apply it, then you have a non-linear equation ...
Bill Barth's user avatar
  • 10.9k
1 vote

deal.ii - ParaView "warp by scalar" of my output is not continuous

It seems like you are using deal-ii for your simulations. Its a well established fem solver and there is a very less chance that the mistake is with the FEM solver. However, Please check the BC that ...
ThivinAnandh's user avatar
1 vote
Accepted

Displacement field not correct?

As mentioned by @Wolfgang Bangerth , the value may be at the interior points. However, to visualise that better in paraview, You can use a filter called "plot over line" which plots the data ...
ThivinAnandh's user avatar
1 vote

Confusion about bilinear form for elasticity equation in deal.ii tutorial

Its not the summation that is wrong, but the lack of indices inside it. Below this expression on their site they define: $$\epsilon(\mathbf{u})=\frac{1}{2}([\nabla\mathbf{u}]+[\nabla\mathbf{u}]^{\...
Tyberius's user avatar
  • 1,023
1 vote
Accepted

Manufactured solution for $-\operatorname{div}(a(x) \nabla{u}) = f$ when $\alpha(x)$ is discontinuous

@cfdlab's answer gives a general way to construct solutions for discontinuous coefficients, but here is a slightly more theoretical perspective to it as well. All of this can be understood in 1d, so ...
Wolfgang Bangerth's user avatar
1 vote

Manufactured solution for $-\operatorname{div}(a(x) \nabla{u}) = f$ when $\alpha(x)$ is discontinuous

If you want to use the coefficient of the form $$ \alpha = \begin{cases} \alpha_1 & r < 0.5 \\ \alpha_2 & r > 0.5 \end{cases} $$ it is useful to work in polar coordinates. You build two ...
cfdlab's user avatar
  • 2,993
1 vote

Developing a C++ solid mechanics program

This is not really a program as much as a big repository of codes. John Burkardt from Florida State University maintains a rich collection of scripts in C++, Matlab and Fortran for a large range of ...
ptev's user avatar
  • 66
1 vote

Boundary elements method -- calculation of solid angle

If a homogeneous Neumann problem is considered, i.e. $f=0$ in $\Omega$ and $\mathbf{n}\cdot\nabla\phi$ on $\Gamma$, one solution is given by the constant function $$ \phi\left(\mathbf{x}\right)=\...
sebastian_g's user avatar

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