10
votes
Are there any "light-weight" FEM packages around?
I've been developing a lightweight finite element library in Python 2.7 harnessing the power of NumPy arrays and SciPy sparse matrices. The general idea is that given a mesh and a finite element, you ...
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
Accepted
How to use MeshFunction in FEniCS (dolfin)?
The different specialized VertexFunction, EdgeFunction, FaceFunction, ...
4
votes
Are there any "light-weight" FEM packages around?
I think you have some confusion. PETSc is not in the same league as Fenics, Libmesh, Moose etc. In fact, all of these (heavyweight) packages use PETSc for linear algebra.
IMHO PETSc is as lightweight ...
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
Are there any "light-weight" FEM packages around?
I can recommend nutils.
nutils meets at least a few your "light-weight" requirements.
it is pure python and easy to install since it only depends on standard Python libraries numpy, scipy, and ...
3
votes
Neumann BC in the current configuration in a finite-strain problem
As far as I understand, you basically want to express your traction vector from deformed (current) configuration to undeformed (reference) configuration in your integral. Would it be possible to just ...
2
votes
Accepted
What would be a simple approach to validate a wave propagation code?
I agree with the suggestion of starting with a simple problem and
with the elastic solution.
Probably the simplest wave problem is the 1D, infinite bar/string.
The analytical solution to this problem ...
2
votes
imposing "measured data" to Dirichlet boundary conditions in fenics
I don't know how to do this in FEciCS, but that question should probably be asked of the developers or their mailing list per this SE's policy. That being said, I'm not sure such a problem is well-...
2
votes
Accepted
FENICS subdomains - restriction/ prolongation operators
There is currently no documented 'FEniCS way' to do this. However, since FEniCS is a pretty standard finite element code behind all the UFL and code generation magic, you can implement things like ...
2
votes
FEniCS: how to specify boundary conditions on a circle inside 2D mesh
I have also had this problem and spent a lot of time on various forums and I have finally come up with a good solution. This solution will allow you to specify a boundary condition on any whole ...
2
votes
Fenics: msh to xml conversion
meshio (a small project of mine) has as command-line tool that can do it:
meshio-convert cylinder6.msh out.xml
2
votes
Accepted
Schrödinger equation with time dependent Hamiltonian
I'd suggest to try it on your own. Do an expansion of your wavefunction in terms of spherical harmonics,
$$
\psi(\mathbf r) \ = \ \sum_{\ell} R_\ell(r,t) \, Y_{\ell 0} (\theta,\phi)\,.
$$
Note that ...
2
votes
Schrödinger equation with time dependent Hamiltonian
FEniCS users have solved this problem before, but keep in mind that FEniCS does not natively support complex numbers right now in its code. Therefore you have to make a workaround.
See: https://...
2
votes
Accepted
Penalization parameter for DG with jump penalization
TL;DR: Let $k$ be the diffusion coefficient, $\theta$ the minimum angle between any two edges of the mesh, $d$ the space dimension, and $p$ the polynomial degree of the finite element basis you're ...
2
votes
Accepted
Fenics: solving the same PDE multiple times
The following approach should work.
A = assemble(a)
bc.apply(A)
solver = LUSolver(A)
solver.parameters['reuse_factorization'] = True # maybe not needed
Now you ...
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
Load the mesh file with boundary marks
Since GMSH was mentioned in the comments as a possible meshing tool, the common way to deal with it there is to create a Physical Line.
The simplest ...
2
votes
Accepted
How can I define an equipotential surface/volume in FEniCS?
This does not easily fit into a PDE formulation because it is a nonlocal constraint. But for all practical aspects, choosing a very large permittivity is usually good enough. Just choose it several ...
1
vote
Solving for two interconducting fluids in FEniCS
You need to define your function space of your trial and test functions as the product space of the corresponding elements.
...
1
vote
FEM with elastic inhomogeneous properties leads to mesh-induced anisotropy
I believe that the issue you are facing emanates from the type of triangular mesh you are using. This particular discretisation has in-built anisotropy; note the alignment of all of the longest edges ...
1
vote
How to use natural logarithm inside Expression on FENICS
Or simply
import math
u_e = Constant(math.log(5))
1
vote
How to use natural logarithm inside Expression on FENICS
Double quotes(" ") represent strings in python, and hence the argument of the function Expression() is a string literal rather than a floating-point number, i.e., <...
1
vote
Accepted
Solving Vectorial Poisson Equation in FENICS
Ok I will answer my own question:
The problem is in the line solve(L==a,A,bc) which needs to be replaced by solve(a==L,A,bc). ...
1
vote
How to use MeshFunction in FEniCS (dolfin)?
If you're using the latest version of FEniCS, the meshing tools are deprecated as you've noticed. These tools are now under mshr module.
You can install it via ...
1
vote
Computable alternative to "almost everywhere"
Regarding the question of how to check whether $|v|<g$ (which I would recommend to split into $v(x)<g(x)$ and $v(x)>-g(x)$, since $|v|$ will in general not be a piecewise polynomial), this is ...
1
vote
Anyone knows where I can find a simple FEniCS code where I can understand basic implantation?
You could try the FEniCS book or the FEniCS Tutorial.
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
What would be a simple approach to validate a wave propagation code?
I've found the Aldridge-Blake solution for spherical wave propagation quite useful for verification. You can find the code in Prof. Brannon's repository at https://csmbrannon.net/2012/03/13/aldridge-...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
fenics × 100finite-element × 49
pde × 18
python × 18
boundary-conditions × 11
fluid-dynamics × 6
mesh × 5
electromagnetism × 5
deal.ii × 5
wave-propagation × 4
nonlinear-equations × 3
c++ × 3
petsc × 3
navier-stokes × 3
poisson × 3
discontinuous-galerkin × 3
solid-mechanics × 3
optimization × 2
mesh-generation × 2
diffusion × 2
comsol × 2
finite-difference × 1
numerics × 1
computational-physics × 1
parallel-computing × 1