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 ...
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 ...
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: ...
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 ...
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 ...
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\...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 <...
1
vote
SIPG method for $-\nabla \cdot (\nu \nabla u)=f$
I don't think so, you would violate the product rule.
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 ...
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 ...
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 ...
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}]^{\...
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 ...
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 ...
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 ...
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)=\...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
deal.ii × 26finite-element × 22
fenics × 5
elasticity × 4
boundary-conditions × 3
c++ × 3
poisson × 3
discontinuous-galerkin × 3
weak-solution × 3
pde × 2
numerics × 2
parallel-computing × 2
convergence × 2
error-estimation × 2
navier-stokes × 2
mesh × 2
fluid-dynamics × 1
ode × 1
sparse-matrix × 1
reference-request × 1
interpolation × 1
numerical-modelling × 1
petsc × 1
quadrature × 1
libraries × 1