The NURBS and GeoPDEs packages Octave software for research on IGA

Similar documents
Isogeometric Collocation Method

Motivation Patch tests Numerical examples Conclusions

Frequency Domain Analysis for Isogeometric Element in LS-DYNA

Recent Developments in Isogeometric Analysis with Solid Elements in LS-DYNA

Algebraic Flux Correction Schemes for High-Order B-Spline Based Finite Element Approximations

Modelling of Isogeometric Analysis for Plane Stress Problem Using Matlab GUI Norliyana Farzana Binti Zulkefli, Ahmad Razin Bin Zainal Abidin

AN ISOGEOMETRIC REISSNER-MINDLIN SHELL WITH LAGRANGE BASIS

Abaqus User Element implementation of NURBS based Isogeometric Analysis

ICES REPORT February The Institute for Computational Engineering and Sciences The University of Texas at Austin Austin, Texas 78712

3D NURBS-ENHANCED FINITE ELEMENT METHOD

Isogeometric Analysis of Fluid-Structure Interaction

Interactive modelling and simulation using blending techniques. Aleksander Pedersen

MAFELAP Mini-Symposium: Advanced FEM methodologies and isogeometric analysis. Organisers: Matthias Möller and Bernd Simeon

Adaptive Isogeometric Analysis by Local h-refinement with T-splines

Introduction to the Mathematical Concepts of CATIA V5

Efficient Multigrid based solvers for Isogeometric Analysis

Polynomial Splines over locally refined box-partitions

Current Status of Isogeometric Analysis in LS-DYNA

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Curves and Surfaces for Computer-Aided Geometric Design

ICES REPORT September M.A. Scott, T.J.R. Hughes, T.W. Sederberg, M.T. Sederberg

A Study of Isogeometric Analysis for Scalar Convection-Diffusion Equations

A comparison of accuracy and computational efficiency between the Finite Element Method and the Isogeometric Analysis for twodimensional

Isogeometric Analysis (IGA) Part I (MS62) and Part II (MS78)

Lecture 1 Course Introduction

A POINTWISE APPROACH FOR ENFORCEMENT OF ESSENTIAL BOUNDARY CONDITIONS IN THE ISOGEOMETRIC ANALYSIS * Y. BAZARGAN-LARI **

MODELLING STIFFENED LIGHTWEIGHT STRUCTURES WITH ISOGEOMETRIC ANALYSIS VIA MORTAR METHODS

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

IsoGeometric Analysis: Be zier techniques in Numerical Simulations

Important Properties of B-spline Basis Functions

Algorithms for construction of Element Partition Trees for Direct Solver executed over h refined grids with B-splines and C 0 separators

Isogeometric Analysis for Compressible Flows with Application in Turbomachinery

3D Modeling Parametric Curves & Surfaces

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

Singularities in Isogeometric Analysis

An adaptive isogeometric finite element analysis

AN A PRIORI MODEL REDUCTION FOR ISOGEOMETRIC BOUNDARY ELEMENT METHOD

Generating analysis-ready NURBS models of cloth for isogeometric analysis

Isogeometric analysis with Axel

ICES REPORT March Isogeometric Finite Element Data Structures based on Bezier Extraction of NURBS

Knot Insertion and Reparametrization of Interval B-spline Curves

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Isogeometric Analysis of Solids & Structures Small and Finite Deformation Applications

Need for Parametric Equations

Construction of polynomial spline spaces over quadtree and octree T-meshes

Element Quality Metrics for Higher-Order Bernstein Bézier Elements

Computergrafik. Matthias Zwicker. Herbst 2010

The effect of parameterization on isogeometric analysis of free-form curved beams

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

arxiv: v1 [cs.ce] 18 Sep 2017

B and F Projection Methods for Nearly Incompressible Linear and Nonlinear Elasticity and Plasticity using Higher-order NURBS Elements

Curves and Surfaces 1

B-spline Curves. Smoother than other curve forms

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

VALLIAMMAI ENGINEERING COLLEGE

Nodal Basis Functions for Serendipity Finite Elements

Isogeometric models for impact analysis with LS-DYNA

MAHARAVO H. RANDRIANARIVONY

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Curve and Surface Basics

Consiglio Nazionale delle Ricerche. Istituto di Matematica Applicata e Tecnologie Informatiche Enrico Magenes PUBBLICAZIONI

DISPERSION ERRORS OF B-SPLINE BASED FINITE ELEMENT METHOD IN ONE-DIMENSIONAL ELASTIC WAVE PROPAGATION

CS-184: Computer Graphics

(Refer Slide Time: 00:02:24 min)

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

CS-184: Computer Graphics. Today

SPLINE-BASED MESHING TECHNIQUES FOR INDUSTRIAL APPLICATIONS

Shape Gradient for Isogeometric Structural Design

Shape Modeling and Geometry Processing

The Free-form Surface Modelling System

Flank Millable Surface Design with Conical and Barrel Tools

PetIGA. A Framework for High Performance Isogeometric Analysis. Santa Fe, Argentina. Knoxville, United States. Thuwal, Saudi Arabia

Lecture 3 Box-partitions and dimension of spline spaces over Box-partition

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer

Physically-Based Modeling and Animation. University of Missouri at Columbia

Parameterization of triangular meshes

Computer Graphics Curves and Surfaces. Matthias Teschner

To mesh or not to mesh: that is the question

KU Leuven vibro-acoustics activities in an Industry 4.0 context

A story about Non Uniform Rational B-Splines. E. Shcherbakov

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

GEOMETRIC LIBRARY. Maharavo Randrianarivony

Almost Curvature Continuous Fitting of B-Spline Surfaces

A NURBS-BASED APPROACH FOR SHAPE AND TOPOLOGY OPTIMIZATION OF FLOW DOMAINS

Rational Bezier Surface

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

arxiv: v1 [cs.na] 12 Jun 2015

B-bar and F-bar projection methods for nearly incompressible linear and non-linear elasticity and plasticity using higher-order NURBS elements

FEAP - - A Finite Element Analysis Program

Curves. Computer Graphics CSE 167 Lecture 11

Swept Volume Parameterization for Isogeometric Analysis

2D Spline Curves. CS 4620 Lecture 13

ICES REPORT January D. Schillinger, L. Dede, M.A. Scott, J.A. Evans, M.J. Borden, E. Rank, T.J.R. Hughes

3D Modeling techniques

Computational Physics PHYS 420

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

Available online at ScienceDirect. Procedia Engineering 155 (2016 )

2D & 3D Finite Element Method Packages of CEMTool for Engineering PDE Problems

Transcription:

The NURBS and GeoPDEs packages Octave software for research on IGA Rafael Vázquez IMATI Enrico Magenes, Pavia Consiglio Nazionale delle Ricerche R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt / 24

Motivation In 2008/2009 in Pavia we started to work in isogeometric analysis within the GeoPDEs project. Software development was one of the objectives. Starting point: different codes, different problems, different developers. First goal: a uniform implementation of the different codes. Second goal: it should be clear and easy to use, for didactic purposes, and for new researchers coming into the research group. The result were two Octave packages: the NURBS package, for geometry construction and manipulation, and GeoPDEs, for isogeometric methods. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 2 / 24

The NURBS package: B-splines and NURBS B-splines and NURBS: mathematical definitions Functions and examples 2 The GeoPDEs package: isogeometric analysis Isogeometric analysis: definition The development of GeoPDEs Some examples R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 3 / 24

The NURBS package: B-splines and NURBS B-splines and NURBS: mathematical definitions Functions and examples 2 The GeoPDEs package: isogeometric analysis Isogeometric analysis: definition The development of GeoPDEs Some examples R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 4 / 24

Non-Uniform Rational B-Splines Non Uniform Rational B-Splines (NURBS) NURBS are the most commonly used computer aided geometric design NURBS (non-uniform rational B-splines) are probably the most commonly (CAGD) in engineering used CAD technologytechnology for engineering design. NURBS are a generalization of B-splines. R. Va zquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 5 / 24

B-splines: definition Given an ordered knot vector ξ... ξ n+p+, define the n B-splines of degree p by the recursion formula { if ξi ζ ξ N i,0 (ζ) = i+ 0 otherwise N i,p (ζ) = ζ ξ i N i,p (ζ) + ξ i+p+ ζ N i+,p (ζ) ξ i+p ξ i ξ i+p+ ξ i+ R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 6 / 24

B-splines: definition Given an ordered knot vector ξ... ξ n+p+, define the n B-splines of degree p by the recursion formula { if ξi ζ ξ N i,0 (ζ) = i+ 0 otherwise N i,p (ζ) = ζ ξ i N i,p (ζ) + ξ i+p+ ζ N i+,p (ζ) ξ i+p ξ i ξ i+p+ ξ i+ 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 Degree 0 0 0 2 3 4 5 6 Degree R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 6 / 24

B-splines: definition Given an ordered knot vector ξ... ξ n+p+, define the n B-splines of degree p by the recursion formula { if ξi ζ ξ N i,0 (ζ) = i+ 0 otherwise N i,p (ζ) = ζ ξ i N i,p (ζ) + ξ i+p+ ζ N i+,p (ζ) ξ i+p ξ i ξ i+p+ ξ i+ 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 0 0 2 3 4 5 6 Degree 2 0 0 2 3 4 5 6 Degree 3 R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 6 / 24

B-splines: the basis functions 0 0,0,0,0 2,2 3 4 5,5,5 6 7 8,8,8,8 B-spline basis functions have the following properties: They are non-negative and form a partition of unity. Locally linearly independent on each knot span (ξ i, ξ i+ ) The function N i,p is supported in the interval [ξ i, ξ i+p+ ]. Piecewise polynomials of degree p, and regularity at most p. The regularity at ξ i is controlled by the knot multiplicity. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 7 / 24

B-spline curves: definition.2 0.4 0.6 0.8 A B-spline curve in R d is defined as a linear combination of B-splines: F(ζ) = n C i N i,p (ζ) i= To define the parametrization F we only need: The basis functions N i,p, given by the knot vector. The control points C i R d. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 8 / 24

NURBS curves: definition NURBS are rational B-splines, used to represent conic sections. 3 F w (t) 2 spline curve 3 2 C w i 0 F(t) NURBS curve 0 C i w i 2 0 2 3 2 0 2 3 2 0 2 3 2 0 2 3 NURBS in R d are projections of B-splines in R d+. In practice, a weight w i is associated to each B-spline function, to obtain the NURBS basis functions and the control points. The NURBS curve is determined by: degree, knot vector, control points and weights. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 9 / 24

Tensor product surfaces: B-splines B-splines and NURBS surfaces are defined by tensor product. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 0 / 24

Tensor product surfaces: B-splines B-splines and NURBS surfaces are defined by tensor product. A control point C i R d is associated to each basis function to define F: F(ζ) = i C i N i,p (ζ) The control points define the control net. With a similar idea, one can define B-spline and NURBS volumes. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 0 / 24

The NURBS package The package is intended to work with NURBS geometries. Based on the NURBS toolbox, developed by M. Spink in 2000. From 2009, extended and maintained by Carlo de Falco and myself. Supports curves, surfaces and (simple) volumes. Geometry manipulation: rotation, extrusion, revolution... It also serves for basis function evaluation (B-splines and NURBS). Most of the algorithms come from The NURBS book. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt / 24

The NURBS package The package is intended to work with NURBS geometries. Based on the NURBS toolbox, developed by M. Spink in 2000. From 2009, extended and maintained by Carlo de Falco and myself. Supports curves, surfaces and (simple) volumes. Geometry manipulation: rotation, extrusion, revolution... It also serves for basis function evaluation (B-splines and NURBS). Most of the algorithms come from The NURBS book. Some technical info: The package is part of the octave-forge project. All the functions are well documented, including several examples. Several tests included, but still some are missing (27 of 68 functions). The package contains oct-files. http://octave.sourceforge.net/nurbs/ R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt / 24

NURBS curves: definition in the NURBS package The construction and manipulation of NURBS geometries is based on a structure with the following fields: number: the number of control points. coefs: control points coordinates (for NURBS also the weights). order: the degree plus one. knots: the knot vector in each direction. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 2 / 24

NURBS curves: definition in the NURBS package The construction and manipulation of NURBS geometries is based on a structure with the following fields: number: the number of control points. coefs: control points coordinates (for NURBS also the weights). order: the degree plus one. knots: the knot vector in each direction. NURBS geometries can be constructed by hand with the function nrbmak, giving the knot vector and the control points. c r v = nrbmak ( c o e f s, knt ) ; The package contains several functions to define simple geometries: nrbline, nrbrect, nrbcirc, nrbcylind. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 2 / 24

Examples of functions in the package Functions to plot: nrbkntplot, nrbctrlplot Revolution and extrusion: nrbrevolve, nrbextrude Affine transformations: nrbtform Extract the boundaries of a NURBS: nrbextract R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 3 / 24

Examples of functions in the package Functions to plot: nrbkntplot, nrbctrlplot Revolution and extrusion: nrbrevolve, nrbextrude Affine transformations: nrbtform Extract the boundaries of a NURBS: nrbextract R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 3 / 24

Examples of functions in the package Functions to plot: nrbkntplot, nrbctrlplot Revolution and extrusion: nrbrevolve, nrbextrude Affine transformations: nrbtform Extract the boundaries of a NURBS: nrbextract R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 3 / 24

Examples of functions in the package Functions to plot: nrbkntplot, nrbctrlplot Revolution and extrusion: nrbrevolve, nrbextrude Affine transformations: nrbtform Extract the boundaries of a NURBS: nrbextract R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 3 / 24

Some doubts and work to do Add more tests. Compatibility with the splines package? The package is not intended to be a CAD software. But it would be so nice to move the control points in the figure... R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 4 / 24

The NURBS package: B-splines and NURBS B-splines and NURBS: mathematical definitions Functions and examples 2 The GeoPDEs package: isogeometric analysis Isogeometric analysis: definition The development of GeoPDEs Some examples R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 5 / 24

Isogeometric Analysis: overview Isogeometric Analysis (IGA) is a method for discretization of partial differential equations, similar to the finite element method (FEM). The idea is to run the simulation directly on a NURBS geometry, approximating the solution also with NURBS (or splines) functions. It is having a big impact in computational engineering, especially in computational mechanics. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 6 / 24

Isogeometric Analysis: overview Isogeometric Analysis (IGA) is a method for discretization of partial differential equations, similar to the finite element method (FEM). The idea is to run the simulation directly on a NURBS geometry, approximating the solution also with NURBS (or splines) functions. It is having a big impact in computational engineering, especially in computational mechanics. Compared to FEM, the method provides: Higher continuity of basis functions. Easier mesh generation and refinement. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 6 / 24

The concept of IGA Hughes, Cottrell, Bazilevs (2005) Reference domain Ω = (0, ) d, and physical domain Ω = F( Ω). F We want to solve numerically a certain problem in the NURBS domain Ω. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 7 / 24

The concept of IGA Hughes, Cottrell, Bazilevs (2005) Reference domain Ω = (0, ) d, and physical domain Ω = F( Ω). F We want to solve numerically a certain problem in the NURBS domain Ω. In Ω we take the space of NURBS functions, V h := span{r i,p }. Isoparametric paradigm: in Ω we define V h := span{v i := R i,p F }. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 7 / 24

The concept of IGA Hughes, Cottrell, Bazilevs (2005) Reference domain Ω = (0, ) d, and physical domain Ω = F( Ω). F We want to solve numerically a certain problem in the NURBS domain Ω. In Ω we take the space of NURBS functions, V h := span{r i,p }. Isoparametric paradigm: in Ω we define V h := span{v i := R i,p F }. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 7 / 24

The concept of IGA Hughes, Cottrell, Bazilevs (2005) Reference domain Ω = (0, ) d, and physical domain Ω = F( Ω). F We want to solve numerically a certain problem in the NURBS domain Ω. In Ω we take the space of NURBS functions, V h := span{r i,p }. Isoparametric paradigm: in Ω we define V h := span{v i := R i,p F }. Once the space is defined, everything is similar to FEM: numerical integration, assembly of the global matrices, solution of the linear system... R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 7 / 24

Refinement in IGA The coarsest mesh is given by the parametrization F of the geometry. Coarsest mesh: geometry description F {R i } N 0 i= {v i = R i F } N 0 i= R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 8 / 24

Refinement in IGA The coarsest mesh is given by the parametrization F of the geometry. First refinement step F {R i } N i= {v i = R i F } N i= A better approximation is obtained by refining the space, either taking a finer mesh (h-refinement) or raising the degree (p-refinement). R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 8 / 24

Refinement in IGA The coarsest mesh is given by the parametrization F of the geometry. Second refinement step F {R i } N 2 i= {v i = R i F } N 2 i= A better approximation is obtained by refining the space, either taking a finer mesh (h-refinement) or raising the degree (p-refinement). The geometry Ω and the parametrization F remain fixed after refinement. Since the mesh is structured, refinement is very easy. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 8 / 24

GeoPDEs: development GeoPDEs was originally developed in Pavia, by Carlo de Falco, Alessandro Reali, and myself. 2009/200: join forces to obtain a single/uniform code. 200: first public release of GeoPDEs. 20: presentation at the first IGA conference. 202: version 2.0, efficient use of tensor-product features. 205: version 2. (to be released), dimension independent. 206 (expected): adaptivity with hierarchical splines. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 9 / 24

GeoPDEs: development GeoPDEs was originally developed in Pavia, by Carlo de Falco, Alessandro Reali, and myself. 2009/200: join forces to obtain a single/uniform code. 200: first public release of GeoPDEs. 20: presentation at the first IGA conference. 202: version 2.0, efficient use of tensor-product features. 205: version 2. (to be released), dimension independent. 206 (expected): adaptivity with hierarchical splines. Other developers and contributors Andrea Bressan, Elena Bulgarello, Durkbin Cho, Jacopo Corno, Adriano Côrtes, Luca Dedè, Sara Frizziero, Eduardo M. Garau, Timo Lähivaara, Marco Pingaro, Anna Tagliabue. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 9 / 24

GeoPDEs: description of the software GeoPDEs consists of a set of interrelated packages for different problems: base: the main package, with examples for Laplace problem. elasticity: a simple package for linear elasticity problems. fluid: Stokes equations, with generalization of face finite elements. maxwell: Maxwell equations, generalization of edge finite elements. multipatch: extension to multi-patch defined geometries. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 20 / 24

GeoPDEs: description of the software GeoPDEs consists of a set of interrelated packages for different problems: base: the main package, with examples for Laplace problem. elasticity: a simple package for linear elasticity problems. fluid: Stokes equations, with generalization of face finite elements. maxwell: Maxwell equations, generalization of edge finite elements. multipatch: extension to multi-patch defined geometries. The main features (structures, classes and functions) are defined in geopdes base. The other packages are based on the structures defined in base, with the same nomenclature in each package. All the packages are built as in octave-forge. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 20 / 24

The main structures of GeoPDEs GeoPDEs has been implemented following an abstract framework. The code is based on three main structures/classes: Geometry: the parametrization F and its derivatives. Mesh: the partition of the domain for numerical integration. Space: the basis functions of the approximation space. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 2 / 24

The main structures of GeoPDEs GeoPDEs has been implemented following an abstract framework. The code is based on three main structures/classes: Geometry: the parametrization F and its derivatives. Mesh: the partition of the domain for numerical integration. Space: the basis functions of the approximation space. The geometry can use the NURBS package, but is not limited to it. In version 2.0, mesh and space became classes, to avoid precomputing. The structures/classes are used in different applications without changes. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 2 / 24

Other important features The core of GeoPDEs are the operator functions, a family of functions to assemble the matrices and vectors of the method. This is the most time-consuming part. For efficiency, they are implemented in oct-files. Several examples are already present: Laplacian, bilaplacian, convection terms, SUPG stabilization, Stokes, linear elasticity, Maxwell equations... R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 22 / 24

Other important features The core of GeoPDEs are the operator functions, a family of functions to assemble the matrices and vectors of the method. This is the most time-consuming part. For efficiency, they are implemented in oct-files. Several examples are already present: Laplacian, bilaplacian, convection terms, SUPG stabilization, Stokes, linear elasticity, Maxwell equations... GeoPDEs also includes several functions for postprocessing. Export to Paraview. Evaluate the solution at given points. Compute the error in academic problems with known solution. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 22 / 24

Some examples Linear elasticity. Maxwell problem in a deformed waveguide. Stokes flow in a twisted pipe. The TM00 mode for a TESLA cavity. Bressan, Sangalli (202) R. Va zquez (IMATI-CNR Italy) Courtesy of Jacopo Corno The NURBS and GeoPDEs packages OctConf 205, Darmstadt 23 / 24

Current and future work I am currently working on A dimension-independent implementation (it will be released soon). Reduction of number of classes, functions and lines of code. Simplifies the imposition of boundary conditions. Hierarchical splines with adaptivity (joint work with E. Garau). Still in a preliminary stage. Works in geopdes base. Needs to be extended to other packages. Some theorems that (almost) nobody will understand. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 24 / 24

Current and future work I am currently working on A dimension-independent implementation (it will be released soon). Reduction of number of classes, functions and lines of code. Simplifies the imposition of boundary conditions. Hierarchical splines with adaptivity (joint work with E. Garau). Still in a preliminary stage. Works in geopdes base. Needs to be extended to other packages. Some theorems that (almost) nobody will understand. Actually, I should also work on Adding a test suite. Only 3 functions have a test. Change the repository (subversion in sourceforge). Rewrite the classes using classdef. A new web page. R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 24 / 24

Current and future work I am currently working on A dimension-independent implementation (it will be released soon). Reduction of number of classes, functions and lines of code. Simplifies the imposition of boundary conditions. Hierarchical splines with adaptivity (joint work with E. Garau). Still in a preliminary stage. Works in geopdes base. Needs to be extended to other packages. Some theorems that (almost) nobody will understand. Actually, I should also work on Adding a test suite. Only 3 functions have a test. Change the repository (subversion in sourceforge). Rewrite the classes using classdef. A new web page. http://geopdes.sourceforge.net Thanks for your attention! R. Vázquez (IMATI-CNR Italy) The NURBS and GeoPDEs packages OctConf 205, Darmstadt 24 / 24