2 research outputs found

    A broken FEEC framework for electromagnetic problems on mapped multipatch domains

    Full text link
    We present a framework for the structure-preserving approximation of partial differential equations on mapped multipatch domains, extending the classical theory of finite element exterior calculus (FEEC) to discrete de Rham sequences which are broken, i.e., fully discontinuous across the patch interfaces. Following the Conforming/Nonconforming Galerkin (CONGA) schemes developed in [http://dx.doi.org/10.1090/mcom/3079, arXiv:2109.02553, our approach is based on: (i) the identification of a conforming discrete de Rham sequence with stable commuting projection operators, (ii) the relaxation of the continuity constraints between patches, and (iii) the construction of conforming projections mapping back to the conforming subspaces, allowing to define discrete differentials on the broken sequence. This framework combines the advantages of conforming FEEC discretizations (e.g. commuting projections, discrete duality and Hodge-Helmholtz decompositions) with the data locality and implementation simplicity of interior penalty methods for discontinuous Galerkin discretizations. We apply it to several initial- and boundary-value problems, as well as eigenvalue problems arising in electromagnetics. In each case our formulations are shown to be well posed thanks to an appropriate stabilization of the jumps across the interfaces, and the solutions are extremely robust with respect to the stabilization parameter. Finally we describe a construction using tensor-product splines on mapped cartesian patches, and we detail the associated matrix operators. Our numerical experiments confirm the accuracy and stability of this discrete framework, and they allow us to verify that expected structure-preserving properties such as divergence or harmonic constraints are respected to floating-point accuracy

    PSYDAC: a high-performance IGA library in Python

    Get PDF
    Psydac is a Python 3 library for the solution of partial differential equations, which combines the convenience of a domain specific language with the speed of a high-performance parallel engine. Its main focus is on isogeometric analysis using tensor-product B-spline finite elements; to this end it uses an optimized sparse format called 'stencil matrix', which drastically reduces memory storage compared to the popular CSR/CSC formats. It supports multi-patch mapped geometries, and finite element exterior calculus. It can distribute each domain patch across many MPI processes, with multiple OpenMP threads operating in each block. The users of Psydac define a weak form of the model equations through SymPDE, an extension of Sympy that provides the mathematical expressions and checks their semantic validity. Simple mappings can be defined analytically, and multi-patch NURBS geometries can be imported from file. Once a finite element discretization is chosen, Psydac maps abstract concepts onto concrete objects, the basic building blocks being MPI-distributed vectors and matrices. Python code is automatically generated for the model-specific operations, namely matrix and vector assembly, and user-defined diagnostics. Finally, Psydac accelerates all computationally intensive operations using Pyccel, a transpiler which converts Python code to either C or Fortran. We present the library design, the typical usage workflow, the user interface for a simple 2D example, and the parallel scaling results in a large 3D simulation. In addition we show a few complex applications in fluid dynamics and electromagnetism, where the accuracy of the solver is verified against manufactured and reference solutions
    corecore