libmesh Finite Element Library

Size: px
Start display at page:

Download "libmesh Finite Element Library"

Transcription

1 libmesh Finite Element Library Roy Stogner Derek Gaston 1 Univ. of Texas at Austin 2 Sandia National Laboratories Albuquerque,NM August 22, 2007

2 Outline 1 Introduction 2 Object Models Core Classes BVP Framework 3 System Assembly Basic Example Coupled Variables Essential Boundary Conditions 4 Examples Fluid Dynamics Biology Material Science 5 Summary

3 Goals libmesh is not

4 Goals libmesh is not A physics implementation.

5 Goals libmesh is not A physics implementation. A stand-alone application.

6 Goals libmesh is not A physics implementation. A stand-alone application. libmesh is

7 Goals libmesh is not A physics implementation. A stand-alone application. libmesh is A software library and toolkit.

8 Goals libmesh is not A physics implementation. A stand-alone application. libmesh is A software library and toolkit. Classes and functions for writing parallel adaptive finite element applications.

9 Goals libmesh is not A physics implementation. A stand-alone application. libmesh is A software library and toolkit. Classes and functions for writing parallel adaptive finite element applications. An interface to linear algebra, meshing, partitioning, etc. libraries.

10 For most applications we assume there is a Boundary Value Problem to be approximated in a Finite Element function space M u t = F(u) Ω G(u) = 0 Ω u = u D Ω D N(u) = 0 Ω N u(x, 0) = u 0 (x) δω D δω N Ω

11 Associated to Ω is the Mesh data structure A Mesh is basically a collection of geometric elements and nodes Ω h Ω h := e Ω e

12 Object Oriented Programming

13 Object Oriented Programming Abstract Base Classes define user interfaces.

14 Object Oriented Programming Abstract Base Classes define user interfaces. Concrete Subclasses implement functionality.

15 Object Oriented Programming Abstract Base Classes define user interfaces. Concrete Subclasses implement functionality. One physics code can work with many discretizations.

16 Core Classes Geometric Element Classes DofObject #_nodes: Node ** #_neighbors: Elem ** #_parent: Elem * #_children: Elem ** #_*flag: RefinementState #_p_level: unsigned char #_subdomain_id: unsigned char Elem +n_{faces,sides,vertices,edges,children}(): unsigned int +centroid(): Point +hmin,hmax(): Real NodeElem -_n_systems: unsigned char -_n_vars: unsigned char * -_n_comp: unsigned char ** -_dof_ids: unsigned int ** -_id: unsigned int -_processor_id: unsigned short int Node Edge Face Cell InfQuad InfCell Prism Hex Pyramid Tet Abstract interface gives mesh topology Concrete instantiations of mesh geometry Hides element type from most applications Hex8 Hex20 Hex27

17 Core Classes Finite Element Classes FEBase +phi, dphi, d2phi +quadrature_rule, JxW +reinit(elem) +reinit(elem,side) Lagrange Hierarchic Finite Element object builds data for each Geometric object User only deals with shape function, quadrature data Hermite Monomial

18 Core Classes Core Features Mixed element geometries in unstructured grids Adaptive mesh h refinement with hanging nodes, p refinement Integration w/ PETSc, LASPack, METIS, ParMETIS, Triangle, TetGen Support for UNV, ExodusII, Tecplot, GMV, UCD files Mesh creation, modification utilities

19 Core Classes Degree of Freedom Handling

20 Core Classes Degree of Freedom Handling DofObject subclasses store global Degree of Freedom indices

21 Core Classes Degree of Freedom Handling DofObject subclasses store global Degree of Freedom indices DofMap class assigns indices to a partitioned mesh

22 Core Classes Degree of Freedom Handling DofObject subclasses store global Degree of Freedom indices DofMap class assigns indices to a partitioned mesh FE classes calculate hanging node, periodic constraints

23 Core Classes Degree of Freedom Handling DofObject subclasses store global Degree of Freedom indices DofMap class assigns indices to a partitioned mesh FE classes calculate hanging node, periodic constraints DofMap class applies constraints

24 Core Classes Degree of Freedom Handling DofObject subclasses store global Degree of Freedom indices DofMap class assigns indices to a partitioned mesh FE classes calculate hanging node, periodic constraints DofMap class applies constraints System class handles AMR/C projections

25 Core Classes Generic Constraint Calculations To maintain function space continuity, constrain hanging node Degrees of Freedom coefficients on fine elements in terms of DoFs on coarse neighbors. u F = u C u F i φ F i = j i u C j φ C j A ki u i = B kj u j u i = A 1 ki B kj u j Integrated values (and fluxes, for C 1 continuity) give element-independent matrices: A ki (φ F i, φ F k ) B kj (φ C j, φ C k )

26 Core Classes Generic Projection Calculations Upon element coarsening (or refinement in non-nested spaces): Copy nodal Degree of Freedom coefficients Project edge DoFs, holding nodal DoFs constant Project face DoFs, holding nodes/edges constant Project interior DoFs, holding boundaries constant Advantages / Disadvantages Requires only local solves Consistent in parallel May violate physical conservation laws

27 Core Classes libmesh Parallelization Parallel code

28 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra

29 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc.

30 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc.

31 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc. Serial code

32 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc. Serial code Mesh storage on every node

33 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc. Serial code Mesh storage on every node DoF renumbering, constraint calculations

34 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc. Serial code Mesh storage on every node DoF renumbering, constraint calculations Refinement/Coarsening flagging

35 Core Classes libmesh Parallelization Parallel code PetscVector, DistributedVector classes for Linear Algebra Parallel assembly, error indicators, etc. Mesh partitioning with ParMETIS, etc. Serial code Mesh storage on every node DoF renumbering, constraint calculations Refinement/Coarsening flagging Mesh, solution I/O

36 Core Classes ParallelMesh Parallel subclassing of MeshBase Start from unstructured Mesh class Add methods to delete, reconstruct non-semilocal Elem and Node objects Parallelize DofMap methods Parallelize MeshRefinement methods Add parallel or chunked I/O support Add load balancing support Also want parallel BoundaryInfo, BoundaryMesh, Data, Function, Generation, Modification, Smoother, and Tools classes

37 BVP Framework Boundary Value Problem Framework Goals Goals Improved test coverage and reliability Hiding implementation details from user code Rapid prototyping of new formulations Physics-dependent error estimators Methods Object-oriented System and Solver subclasses Factoring common patterns into library code Per-element Numerical Jacobian verification

38 BVP Framework FEM System Classes FEMSystem +elem_solution: DenseVector<Number> +elem_residual: DenseVector<Number> +elem_jacobian: DenseMatrix<Number> #elem_fixed_solution: DenseVector<Number> #*_fe_var: std::vector<febase *> #elem: Elem * +*_time_derivative(request_jacobian) +*_constraint(request_jacobian) +*_postprocess() NavierStokesSystem LaplaceYoungSystem CahnHilliardSystem SurfactantSystem Generalized IBVP representation FEMSystem does all initialization, global assembly User code only needs weighted time derivative residuals ( u, v t i) = F i (u) and/or constraints G i (u, v i ) = 0

39 BVP Framework ODE Solver Classes TimeSolver +*_residual(request_jacobian) +solve() +advance_timestep() SteadySolver AdamsMoultonSolver EulerSolver EigenSolver Calls user code on each element Assembles element-by-element time derivatives, constraints, and weighted old solutions

40 BVP Framework Nonlinear Solver Classes LinearSolver NonlinearSolver +*_tolerance +*_max_iterations +solve() ContinuationSolver QuasiNewtonSolver Acquires residuals, jacobians from FEMSystem assembly Handles inner loops, inner solvers and tolerances, convergence tests, etc

41 Basic Example System Assembly For simplicity we will focus on the weighted residual statement arising from the Poisson equation, with Ω N =, (R(u h ), v h ) := Ω h [ uh v h fv h] dx = 0 v h V h

42 Basic Example The element integrals... Ω e [ uh v h fv h] dx

43 Basic Example The element integrals... Ω e [ uh v h fv h] dx are written in terms of the local φ i basis functions N s j=1 u j φ j φ i dx f φ i dx, i = 1,..., N s Ω e Ω e

44 Basic Example The element integrals... Ω e [ uh v h fv h] dx are written in terms of the local φ i basis functions N s j=1 u j φ j φ i dx f φ i dx, i = 1,..., N s Ω e Ω e This can be expressed naturally in matrix notation as K e U e F e

45 Basic Example The integrals are performed on a reference element ˆΩ e, transformed via Lagrange basis to the geometric element. x Ω e x(ξ) ξ Ω e

46 Basic Example The integrals are performed on a reference element ˆΩ e, transformed via Lagrange basis to the geometric element. x Ω e x(ξ) ξ Ω e The Jacobian of the map x(ξ) is J. F e i = f φ i dx = Ω e f (x(ξ))φ i J dξ ˆΩ e

47 Basic Example The integrals are performed on a reference element ˆΩ e, transformed via Lagrange basis to the geometric element. x Ω e x(ξ) ξ Ω e

48 Basic Example The integrals on the reference element are approximated via numerical quadrature.

49 Basic Example The integrals on the reference element are approximated via numerical quadrature. The quadrature rule has N q points ξ q and weights w q.

50 Basic Example The integrals on the reference element are approximated via numerical quadrature. The quadrature rule has N q points ξ q and weights w q. F e i = f φ i J dξ ˆΩ e N q q=1 f (x(ξ q ))φ i (ξ q ) J(ξ q ) w q

51 Basic Example The integrals on the reference element are approximated via numerical quadrature. The quadrature rule has N q points ξ q and weights w q. K e ij = φ j φ i J dξ ˆΩ e N q q=1 φ j (ξ q ) φ i (ξ q ) J(ξ q ) w q

52 Basic Example At the qth quadrature point, LibMesh can provide variables including: Code Math Description JxW[q] J(ξ q ) w q Jacobian times weight phi[i][q] φ i (ξ q ) value of i th shape fn. dphi[i][q] φ i (ξ q ) value of i th shape fn. gradient d2phi[i][q] φ i (ξ q ) value of i th shape fn. Hessian xyz[q] x(ξ q ) location of ξ q in physical space normals[q] n(x(ξ q )) normal vector at x on a side

53 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]);

54 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); N q F e i = f (x(ξ q ))φ i (ξ q ) J(ξ q ) w q q=1

55 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); N q F e i = f (x(ξ q ))φ i (ξ q ) J(ξ q ) w q q=1

56 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); N q F e i = f (x(ξ q ))φ i (ξ q ) J(ξ q ) w q q=1

57 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); N q F e i = f (x(ξ q ))φ i (ξ q ) J(ξ q ) w q q=1

58 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); K e ij = N q q=1 ˆ ξ φ j (ξ q ) ˆ ξ φ i (ξ q ) J(ξ q ) w q

59 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); K e ij = N q q=1 ˆ ξ φ j (ξ q ) ˆ ξ φ i (ξ q ) J(ξ q ) w q

60 Basic Example The LibMesh representation of the matrix and rhs assembly is similar to the mathematical statements. for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(dphi[j][q]*dphi[i][q]); K e ij = N q q=1 ˆ ξ φ j (ξ q ) ˆ ξ φ i (ξ q ) J(ξ q ) w q

61 Basic Example Convection-Diffusion Equation The matrix assembly routine for the linear convection-diffusion equation, k u + b u = f for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(k*(dphi[j][q]*dphi[i][q]) + (b*dphi[j][q])*phi[i][q]);

62 Basic Example Convection-Diffusion Equation The matrix assembly routine for the linear convection-diffusion equation, k u + b u = f for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(k*(dphi[j][q]*dphi[i][q]) + (b*dphi[j][q])*phi[i][q]);

63 Basic Example Convection-Diffusion Equation The matrix assembly routine for the linear convection-diffusion equation, k u + b u = f for (q=0; q<nq; ++q) for (i=0; i<ns; ++i) { Fe(i) += JxW[q]*f(xyz[q])*phi[i][q]; } for (j=0; j<ns; ++j) Ke(i,j) += JxW[q]*(k*(dphi[j][q]*dphi[i][q]) + (b*dphi[j][q])*phi[i][q]);

64 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e We have an array of submatrices: Ke[ ][ ]

65 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e We have an array of submatrices: Ke[1][1]

66 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e We have an array of submatrices: Ke[2][2]

67 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e We have an array of submatrices: Ke[3][2]

68 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e And an array of right-hand sides: Fe[].

69 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e And an array of right-hand sides: Fe[1].

70 Coupled Variables Stokes Flow For multi-variable systems like Stokes flow, p ν u = f u = 0 Ω R 2 The element stiffness matrix concept can extended to include sub-matrices Ku e 1 u 1 Ku e 1 u 2 Ku e 1 p U Ku e 2 u 1 Ku e 2 u 2 Ku e u e 1 F 2 p U e u e 1 Kpu e 1 Kpu e 2 Kpp e u 2 F e Up e u 2 Fp e And an array of right-hand sides: Fe[2].

71 Coupled Variables Stokes Flow The matrix assembly can proceed in essentially the same way. For the momentum equations: for (q=0; q<nq; ++q) for (d=0; d<2; ++d) for (i=0; i<ns; ++i) { Fe[d](i) += JxW[q]*f(xyz[q],d)*phi[i][q]; } for (j=0; j<ns; ++j) Ke[d][d](i,j) += JxW[q]*nu*(dphi[j][q]*dphi[i][q]);

72 Essential Boundary Conditions Essential Boundary Data Dirichlet boundary conditions can be enforced after the global stiffness matrix K has been assembled This usually involves 1 placing a 1 on the main diagonal of the global stiffness matrix

73 Essential Boundary Conditions Essential Boundary Data Dirichlet boundary conditions can be enforced after the global stiffness matrix K has been assembled This usually involves 1 placing a 1 on the main diagonal of the global stiffness matrix 2 zeroing out the row entries

74 Essential Boundary Conditions Essential Boundary Data Dirichlet boundary conditions can be enforced after the global stiffness matrix K has been assembled This usually involves 1 placing a 1 on the main diagonal of the global stiffness matrix 2 zeroing out the row entries 3 placing the Dirichlet value in the rhs vector

75 Essential Boundary Conditions Essential Boundary Data Dirichlet boundary conditions can be enforced after the global stiffness matrix K has been assembled This usually involves 1 placing a 1 on the main diagonal of the global stiffness matrix 2 zeroing out the row entries 3 placing the Dirichlet value in the rhs vector 4 subtracting off the column entries from the rhs

76 Essential Boundary Conditions Essential Boundary Data Dirichlet boundary conditions can be enforced after the global stiffness matrix K has been assembled This usually involves 1 placing a 1 on the main diagonal of the global stiffness matrix 2 zeroing out the row entries 3 placing the Dirichlet value in the rhs vector 4 subtracting off the column entries from the rhs k 11 k 12 k 13. f g 1 k 21 k 22 k 23. k 31 k 32 k 33., f 2 f 3 0 k 22 k k 32 k 33., f 2 k 21 g 1 f 3 k 31 g

77 Essential Boundary Conditions Cons of this approach :

78 Essential Boundary Conditions Cons of this approach : Works for an interpolary finite element basis but not in general.

79 Essential Boundary Conditions Cons of this approach : Works for an interpolary finite element basis but not in general. May be inefficient to change individual entries once the global matrix is assembled.

80 Essential Boundary Conditions Cons of this approach : Works for an interpolary finite element basis but not in general. May be inefficient to change individual entries once the global matrix is assembled. Need to enforce boundary conditions for a generic finite element basis at the element stiffness matrix level.

81 Essential Boundary Conditions A penalty term is added to the standard weighted residual statement (R(u), v) + 1 (u u D )v dx = 0 v V ɛ Ω } D {{} penalty term

82 Essential Boundary Conditions A penalty term is added to the standard weighted residual statement (R(u), v) + 1 (u u D )v dx = 0 v V ɛ Ω } D {{} penalty term Here ɛ 1 is chosen so that, in floating point arithmetic, 1 ɛ + 1 = 1 ɛ.

83 Essential Boundary Conditions A penalty term is added to the standard weighted residual statement (R(u), v) + 1 (u u D )v dx = 0 v V ɛ Ω } D {{} penalty term Here ɛ 1 is chosen so that, in floating point arithmetic, 1 ɛ + 1 = 1 ɛ. This weakly enforces u = u D on the Dirichlet boundary, and works for general finite element bases.

84 Essential Boundary Conditions LibMesh provides: A quadrature rule with Nqf points and JxW f[] A finite element coincident with the boundary face that has shape function values phi f[][] for (qf=0; qf<nqf; ++qf) { for (i=0; i<nf; ++i) { Fe(i) += JxW_f[qf]* penalty*ud(xyz[q])*phi_f[i][qf]; } } for (j=0; j<nf; ++j) Ke(i,j) += JxW_f[qf]* penalty*phi_f[j][qf]*phi_f[i][qf];

85 Essential Boundary Conditions LibMesh provides: A quadrature rule with Nqf points and JxW f[] A finite element coincident with the boundary face that has shape function values phi f[][] for (qf=0; qf<nqf; ++qf) { for (i=0; i<nf; ++i) { Fe(i) += JxW_f[qf]* penalty*ud(xyz[q])*phi_f[i][qf]; } } for (j=0; j<nf; ++j) Ke(i,j) += JxW_f[qf]* penalty*phi_f[j][qf]*phi_f[i][qf];

86 Essential Boundary Conditions LibMesh provides: A quadrature rule with Nqf points and JxW f[] A finite element coincident with the boundary face that has shape function values phi f[][] for (qf=0; qf<nqf; ++qf) { for (i=0; i<nf; ++i) { Fe(i) += JxW_f[qf]* penalty*ud(xyz[q])*phi_f[i][qf]; } } for (j=0; j<nf; ++j) Ke(i,j) += JxW_f[qf]* penalty*phi_f[j][qf]*phi_f[i][qf];

87 Fluid Dynamics Introduction Laplace-Young equation model surface tension effects for enclosed liquids.

88 Fluid Dynamics Introduction Laplace-Young equation model surface tension effects for enclosed liquids. Combining surface tension, gravity and contact the energy functional for Laplace-Young is: 1 + u 2 1 dω + 2 κu2 dω σu ds Ω Ω Ω

89 Fluid Dynamics Introduction Laplace-Young equation model surface tension effects for enclosed liquids. Combining surface tension, gravity and contact the energy functional for Laplace-Young is: 1 + u 2 1 dω + 2 κu2 dω σu ds Ω Where κ is the ratio of surface energy to gravitational energy and u is the height of the liquid. Ω Ω

90 Fluid Dynamics Introduction Laplace-Young equation model surface tension effects for enclosed liquids. Combining surface tension, gravity and contact the energy functional for Laplace-Young is: 1 + u 2 1 dω + 2 κu2 dω σu ds Ω Where κ is the ratio of surface energy to gravitational energy and u is the height of the liquid. Ω While the weak formulation of the stationary condition is given by: ( ) u, ϕ + κ (u, ϕ) 1 + u 2 Ω = σ (1, ϕ) Ω (1) Ω Ω

91 Fluid Dynamics Introduction Laplace-Young equation model surface tension effects for enclosed liquids. Combining surface tension, gravity and contact the energy functional for Laplace-Young is: 1 + u 2 1 dω + 2 κu2 dω σu ds Ω Where κ is the ratio of surface energy to gravitational energy and u is the height of the liquid. Ω While the weak formulation of the stationary condition is given by: ( ) u, ϕ + κ (u, ϕ) 1 + u 2 Ω = σ (1, ϕ) Ω (1) Ω Ω

92 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

93 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

94 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

95 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

96 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

97 Fluid Dynamics Instead of explicitly finding the Jacobian, we ll use FEMSystem to finite difference the weak form. element constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { Number u = interior_value(0, qp); Gradient grad_u = interior_gradient(0, qp); Number K = 1. / sqrt(1. + (grad_u * grad_u)); for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) += JxW[qp] * ((_kappa * u * phi[i][qp]) + (K * grad_u * dphi[i][qp])); } } side constraint() for (unsigned int qp=0; qp!= n_qpoints; qp++) { for (unsigned int i=0; i!= n_u_dofs; i++) { Fu(i) -= JxW[qp] * _gamma * phi[i][qp]; } } 0 1 B u ϕa q1 + u 2 + κ (u, ϕ) Ω σ (1, ϕ) Ω = 0 ϕ V Ω

98 Fluid Dynamics Solution An overkill solution containing 200,000 DOFs. (a) 2D. (b) Contour Elevation.

99 Fluid Dynamics Compressible Shocked Flow Original compressible flow code written by Ben Kirk utilizing libmesh.

100 Fluid Dynamics Compressible Shocked Flow Original compressible flow code written by Ben Kirk utilizing libmesh. Solves both Compressible Navier Stokes and Inviscid Euler.

101 Fluid Dynamics Compressible Shocked Flow Original compressible flow code written by Ben Kirk utilizing libmesh. Solves both Compressible Navier Stokes and Inviscid Euler. Includes both SUPG and a shock capturing scheme.

102 Fluid Dynamics Problem Specification The problem studied is that of an oblique shock generated by a 10 o wedge angle.

103 Fluid Dynamics Problem Specification The problem studied is that of an oblique shock generated by a 10 o wedge angle. This problem has an exact solution for density which is a step function.

104 Fluid Dynamics Problem Specification The problem studied is that of an oblique shock generated by a 10 o wedge angle. This problem has an exact solution for density which is a step function. Utilizing libmesh s exact solution capability the exact L 2 error can be solved for.

105 Fluid Dynamics Problem Specification The problem studied is that of an oblique shock generated by a 10 o wedge angle. This problem has an exact solution for density which is a step function. Utilizing libmesh s exact solution capability the exact L 2 error can be solved for. The exact solution is shown below:

106 Fluid Dynamics Uniformly Refined Solutions For comparison purposes, here is a mesh and a solution after 1 uniform refinement with DOFs. 1 1 r y y x x (c) Mesh after 1 uniform (d) Solution after 1 uni-

107 Fluid Dynamics H-Adapted Solutions A flux jump indicator was employed as the error indcator along with a statistical flagging scheme.

108 Fluid Dynamics H-Adapted Solutions A flux jump indicator was employed as the error indcator along with a statistical flagging scheme. Here is a mesh and solution after 2 adaptive refinements containing DOFs: 1 1 r y y x x

109 Fluid Dynamics Redistributed Solutions Redistribution utilizing the same flux jump indicator. 1 1 r y y x x (i) Mesh after 8 redistributions. (j) Solution after 8 redistributions.

110 Fluid Dynamics Redistributed and Adapted Now combining the two, here are the mesh and solution after 2 adaptations beyond the previous redistribution containing DOFs. 1 1 r y y x x

111 Fluid Dynamics Solution Comparison For a better comparison here are 3 of the solutions, each with around DOFs: r r r y y y x x x (m) Uniform. (n) Adaptive. (o) R + H.

112 Fluid Dynamics Error Plot libmesh provides capability for computing error norms against an exact solution.

113 2 0 Fluid Dynamics Error Plot libmesh provides capability for computing error norms against an exact solution. The exact solution is not in H 1 therefore we only obtain the L 2 convergence plot: -1.2 Uniform Adaptivity Redist + Adapt (L Error ) log log 10 D ofs

114 Introduction Fluid Dynamics Object Models System Assembly Examples Summary

115 Fluid Dynamics Natural Convection Tetrahedral mesh of pipe geometry. Stream ribbons colored by temperature.

116 Fluid Dynamics Surface-Tension-Driven Flow Adaptive grid solution shown with temperature contours and velocity vectors.

117 Fluid Dynamics Double-Diffusive Convection Solute contours: a plume of warm, low-salinity fluid is convected upward through a porous medium.

118 Biology Tumor Angiogenesis The tumor secretes a chemical which stimulates blood vessel formation.

119 Material Science Free Energy Formulation Cahn-Hilliard systems model phase separation and interface evolution f (c, c) f 0 (c) + f γ ( c) f γ ( c) ɛ2 c c c 2 f 0 (c) NkT (c ln (c) + (1 c) ln (1 c)) + Nωc(1 c) c t = M c ( f 0(c) ɛ 2 c c )

120 Material Science Phase Separation - Spinodal Decomposition Initial Evolution Initial homogeneous blend quenched below critical T Random perturbations anti-diffuse into two phases divided by narrow interfaces Gradual coalescence of single-phase regions Additional physics leads to pattern self-assembly

121 Summary libmesh Development Open Source (LGPL) Leveraging existing libraries Public site, mailing lists, CVS tree, examples, etc. at 18 examples including: Infinite Elements for the wave equation. Helmholtz with complex numbers. Laplace in L-Shaped Domain. Biharmonic Equation. Using SLEPc for an Eigen Problem. Unsteady Navier Stokes. And More!

LibMesh Experience and Usage

LibMesh Experience and Usage LibMesh Experience and Usage John W. Peterson peterson@cfdlab.ae.utexas.edu and Roy H. Stogner roystgnr@cfdlab.ae.utexas.edu Univ. of Texas at Austin September 9, 2008 1 Introduction 2 Weighted Residuals

More information

LibMesh Experience and Usage

LibMesh Experience and Usage LibMesh Experience and Usage John W. Peterson peterson@cfdlab.ae.utexas.edu Univ. of Texas at Austin January 12, 2007 1 Introduction 2 Weighted Residuals 3 Poisson Equation 4 Other Examples 5 Essential

More information

Cahn-Hilliard Phase Decomposition and

Cahn-Hilliard Phase Decomposition and Decomposition and Roy H. Stogner 1 Graham F. Carey 1 1 Computational Fluid Dynamics Lab Institute for Computational Engineering and Sciences University of Texas at Austin 9th US National Congress on Computational

More information

Predictive Engineering and Computational Sciences. Current Directions in libmesh Development. Roy H. Stogner

Predictive Engineering and Computational Sciences. Current Directions in libmesh Development. Roy H. Stogner PECOS Predictive Engineering and Computational Sciences Current Directions in libmesh Development Roy H. Stogner Institute for Computational Engineering and Sciences The University of Texas at Austin May

More information

Adaptive C1 Macroelements for Fourth Order and Divergence-Free Problems

Adaptive C1 Macroelements for Fourth Order and Divergence-Free Problems Adaptive C1 Macroelements for Fourth Order and Divergence-Free Problems Roy Stogner Computational Fluid Dynamics Lab Institute for Computational Engineering and Sciences University of Texas at Austin March

More information

The Discontinuous Galerkin Finite Element Method

The Discontinuous Galerkin Finite Element Method The Discontinuous Galerkin Finite Element Method Michael A. Saum msaum@math.utk.edu Department of Mathematics University of Tennessee, Knoxville The Discontinuous Galerkin Finite Element Method p.1/41

More information

Scientific Computing I

Scientific Computing I Scientific Computing I Module 8: An Introduction to Finite Element Methods Tobias Neckel Winter 2013/2014 Module 8: An Introduction to Finite Element Methods, Winter 2013/2014 1 Part I: Introduction to

More information

An Introduction to the Discontinuous Galerkin Method

An Introduction to the Discontinuous Galerkin Method An Introduction to the Discontinuous Galerkin Method Krzysztof J. Fidkowski Aerospace Computational Design Lab Massachusetts Institute of Technology March 16, 2005 Computational Prototyping Group Seminar

More information

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends Lecture 3: Finite Elements in 2-D Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Finite Element Methods 1 / 18 Outline 1 Boundary

More information

Is My CFD Mesh Adequate? A Quantitative Answer

Is My CFD Mesh Adequate? A Quantitative Answer Is My CFD Mesh Adequate? A Quantitative Answer Krzysztof J. Fidkowski Gas Dynamics Research Colloqium Aerospace Engineering Department University of Michigan January 26, 2011 K.J. Fidkowski (UM) GDRC 2011

More information

Implicit Solution of Viscous Aerodynamic Flows using the Discontinuous Galerkin Method

Implicit Solution of Viscous Aerodynamic Flows using the Discontinuous Galerkin Method Implicit Solution of Viscous Aerodynamic Flows using the Discontinuous Galerkin Method Per-Olof Persson and Jaime Peraire Massachusetts Institute of Technology 7th World Congress on Computational Mechanics

More information

Scientific Computing WS 2017/2018. Lecture 18. Jürgen Fuhrmann Lecture 18 Slide 1

Scientific Computing WS 2017/2018. Lecture 18. Jürgen Fuhrmann Lecture 18 Slide 1 Scientific Computing WS 2017/2018 Lecture 18 Jürgen Fuhrmann juergen.fuhrmann@wias-berlin.de Lecture 18 Slide 1 Lecture 18 Slide 2 Weak formulation of homogeneous Dirichlet problem Search u H0 1 (Ω) (here,

More information

Finite Difference Methods for Boundary Value Problems

Finite Difference Methods for Boundary Value Problems Finite Difference Methods for Boundary Value Problems October 2, 2013 () Finite Differences October 2, 2013 1 / 52 Goals Learn steps to approximate BVPs using the Finite Difference Method Start with two-point

More information

A High-Order Discontinuous Galerkin Method for the Unsteady Incompressible Navier-Stokes Equations

A High-Order Discontinuous Galerkin Method for the Unsteady Incompressible Navier-Stokes Equations A High-Order Discontinuous Galerkin Method for the Unsteady Incompressible Navier-Stokes Equations Khosro Shahbazi 1, Paul F. Fischer 2 and C. Ross Ethier 1 1 University of Toronto and 2 Argonne National

More information

Lecture 9 Approximations of Laplace s Equation, Finite Element Method. Mathématiques appliquées (MATH0504-1) B. Dewals, C.

Lecture 9 Approximations of Laplace s Equation, Finite Element Method. Mathématiques appliquées (MATH0504-1) B. Dewals, C. Lecture 9 Approximations of Laplace s Equation, Finite Element Method Mathématiques appliquées (MATH54-1) B. Dewals, C. Geuzaine V1.2 23/11/218 1 Learning objectives of this lecture Apply the finite difference

More information

LEAST-SQUARES FINITE ELEMENT MODELS

LEAST-SQUARES FINITE ELEMENT MODELS LEAST-SQUARES FINITE ELEMENT MODELS General idea of the least-squares formulation applied to an abstract boundary-value problem Works of our group Application to Poisson s equation Application to flows

More information

Numerical Solutions to Partial Differential Equations

Numerical Solutions to Partial Differential Equations Numerical Solutions to Partial Differential Equations Zhiping Li LMAM and School of Mathematical Sciences Peking University Numerical Methods for Partial Differential Equations Finite Difference Methods

More information

Multi-Point Constraints

Multi-Point Constraints Multi-Point Constraints Multi-Point Constraints Multi-Point Constraints Single point constraint examples Multi-Point constraint examples linear, homogeneous linear, non-homogeneous linear, homogeneous

More information

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost Game and Media Technology Master Program - Utrecht University Dr. Nicolas Pronost Soft body physics Soft bodies In reality, objects are not purely rigid for some it is a good approximation but if you hit

More information

A simple FEM solver and its data parallelism

A simple FEM solver and its data parallelism A simple FEM solver and its data parallelism Gundolf Haase Institute for Mathematics and Scientific Computing University of Graz, Austria Chile, Jan. 2015 Partial differential equation Considered Problem

More information

Optimal multilevel preconditioning of strongly anisotropic problems.part II: non-conforming FEM. p. 1/36

Optimal multilevel preconditioning of strongly anisotropic problems.part II: non-conforming FEM. p. 1/36 Optimal multilevel preconditioning of strongly anisotropic problems. Part II: non-conforming FEM. Svetozar Margenov margenov@parallel.bas.bg Institute for Parallel Processing, Bulgarian Academy of Sciences,

More information

ALGEBRAIC FLUX CORRECTION FOR FINITE ELEMENT DISCRETIZATIONS OF COUPLED SYSTEMS

ALGEBRAIC FLUX CORRECTION FOR FINITE ELEMENT DISCRETIZATIONS OF COUPLED SYSTEMS Int. Conf. on Computational Methods for Coupled Problems in Science and Engineering COUPLED PROBLEMS 2007 M. Papadrakakis, E. Oñate and B. Schrefler (Eds) c CIMNE, Barcelona, 2007 ALGEBRAIC FLUX CORRECTION

More information

Soft Bodies. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies

Soft Bodies. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies Soft-Body Physics Soft Bodies Realistic objects are not purely rigid. Good approximation for hard ones. approximation breaks when objects break, or deform. Generalization: soft (deformable) bodies Deformed

More information

Lehrstuhl Informatik V. Lehrstuhl Informatik V. 1. solve weak form of PDE to reduce regularity properties. Lehrstuhl Informatik V

Lehrstuhl Informatik V. Lehrstuhl Informatik V. 1. solve weak form of PDE to reduce regularity properties. Lehrstuhl Informatik V Part I: Introduction to Finite Element Methods Scientific Computing I Module 8: An Introduction to Finite Element Methods Tobias Necel Winter 4/5 The Model Problem FEM Main Ingredients Wea Forms and Wea

More information

The Virtual Element Method: an introduction with focus on fluid flows

The Virtual Element Method: an introduction with focus on fluid flows The Virtual Element Method: an introduction with focus on fluid flows L. Beirão da Veiga Dipartimento di Matematica e Applicazioni Università di Milano-Bicocca VEM people (or group representatives): P.

More information

Finite Difference Solution of the Heat Equation

Finite Difference Solution of the Heat Equation Finite Difference Solution of the Heat Equation Adam Powell 22.091 March 13 15, 2002 In example 4.3 (p. 10) of his lecture notes for March 11, Rodolfo Rosales gives the constant-density heat equation as:

More information

HYPERSONIC AERO-THERMO-DYNAMIC HEATING PREDICTION WITH HIGH-ORDER DISCONTINOUS GALERKIN SPECTRAL ELEMENT METHODS

HYPERSONIC AERO-THERMO-DYNAMIC HEATING PREDICTION WITH HIGH-ORDER DISCONTINOUS GALERKIN SPECTRAL ELEMENT METHODS 1 / 36 HYPERSONIC AERO-THERMO-DYNAMIC HEATING PREDICTION WITH HIGH-ORDER DISCONTINOUS GALERKIN SPECTRAL ELEMENT METHODS Jesús Garicano Mena, E. Valero Sánchez, G. Rubio Calzado, E. Ferrer Vaccarezza Universidad

More information

The Plane Stress Problem

The Plane Stress Problem The Plane Stress Problem Martin Kronbichler Applied Scientific Computing (Tillämpad beräkningsvetenskap) February 2, 2010 Martin Kronbichler (TDB) The Plane Stress Problem February 2, 2010 1 / 24 Outline

More information

LECTURE # 0 BASIC NOTATIONS AND CONCEPTS IN THE THEORY OF PARTIAL DIFFERENTIAL EQUATIONS (PDES)

LECTURE # 0 BASIC NOTATIONS AND CONCEPTS IN THE THEORY OF PARTIAL DIFFERENTIAL EQUATIONS (PDES) LECTURE # 0 BASIC NOTATIONS AND CONCEPTS IN THE THEORY OF PARTIAL DIFFERENTIAL EQUATIONS (PDES) RAYTCHO LAZAROV 1 Notations and Basic Functional Spaces Scalar function in R d, d 1 will be denoted by u,

More information

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II

Elliptic Problems / Multigrid. PHY 604: Computational Methods for Physics and Astrophysics II Elliptic Problems / Multigrid Summary of Hyperbolic PDEs We looked at a simple linear and a nonlinear scalar hyperbolic PDE There is a speed associated with the change of the solution Explicit methods

More information

Chapter 2. General concepts. 2.1 The Navier-Stokes equations

Chapter 2. General concepts. 2.1 The Navier-Stokes equations Chapter 2 General concepts 2.1 The Navier-Stokes equations The Navier-Stokes equations model the fluid mechanics. This set of differential equations describes the motion of a fluid. In the present work

More information

Matrix Assembly in FEA

Matrix Assembly in FEA Matrix Assembly in FEA 1 In Chapter 2, we spoke about how the global matrix equations are assembled in the finite element method. We now want to revisit that discussion and add some details. For example,

More information

Hybridized Discontinuous Galerkin Methods

Hybridized Discontinuous Galerkin Methods Hybridized Discontinuous Galerkin Methods Theory and Christian Waluga Joint work with Herbert Egger (Uni Graz) 1st DUNE User Meeting, Stuttgart Christian Waluga (AICES) HDG Methods October 6-8, 2010 1

More information

A Hybrid Method for the Wave Equation. beilina

A Hybrid Method for the Wave Equation.   beilina A Hybrid Method for the Wave Equation http://www.math.unibas.ch/ beilina 1 The mathematical model The model problem is the wave equation 2 u t 2 = (a 2 u) + f, x Ω R 3, t > 0, (1) u(x, 0) = 0, x Ω, (2)

More information

Discretization of PDEs and Tools for the Parallel Solution of the Resulting Systems

Discretization of PDEs and Tools for the Parallel Solution of the Resulting Systems Discretization of PDEs and Tools for the Parallel Solution of the Resulting Systems Stan Tomov Innovative Computing Laboratory Computer Science Department The University of Tennessee Wednesday April 4,

More information

Math background. Physics. Simulation. Related phenomena. Frontiers in graphics. Rigid fluids

Math background. Physics. Simulation. Related phenomena. Frontiers in graphics. Rigid fluids Fluid dynamics Math background Physics Simulation Related phenomena Frontiers in graphics Rigid fluids Fields Domain Ω R2 Scalar field f :Ω R Vector field f : Ω R2 Types of derivatives Derivatives measure

More information

Introduction. Finite and Spectral Element Methods Using MATLAB. Second Edition. C. Pozrikidis. University of Massachusetts Amherst, USA

Introduction. Finite and Spectral Element Methods Using MATLAB. Second Edition. C. Pozrikidis. University of Massachusetts Amherst, USA Introduction to Finite and Spectral Element Methods Using MATLAB Second Edition C. Pozrikidis University of Massachusetts Amherst, USA (g) CRC Press Taylor & Francis Group Boca Raton London New York CRC

More information

Computation of Incompressible Flows: SIMPLE and related Algorithms

Computation of Incompressible Flows: SIMPLE and related Algorithms Computation of Incompressible Flows: SIMPLE and related Algorithms Milovan Perić CoMeT Continuum Mechanics Technologies GmbH milovan@continuummechanicstechnologies.de SIMPLE-Algorithm I - - - Consider

More information

Chapter Two: Numerical Methods for Elliptic PDEs. 1 Finite Difference Methods for Elliptic PDEs

Chapter Two: Numerical Methods for Elliptic PDEs. 1 Finite Difference Methods for Elliptic PDEs Chapter Two: Numerical Methods for Elliptic PDEs Finite Difference Methods for Elliptic PDEs.. Finite difference scheme. We consider a simple example u := subject to Dirichlet boundary conditions ( ) u

More information

Method of Finite Elements I

Method of Finite Elements I Method of Finite Elements I PhD Candidate - Charilaos Mylonas HIL H33.1 and Boundary Conditions, 26 March, 2018 Institute of Structural Engineering Method of Finite Elements I 1 Outline 1 2 Penalty method

More information

Multigrid Methods and their application in CFD

Multigrid Methods and their application in CFD Multigrid Methods and their application in CFD Michael Wurst TU München 16.06.2009 1 Multigrid Methods Definition Multigrid (MG) methods in numerical analysis are a group of algorithms for solving differential

More information

Finite Elements. Colin Cotter. January 15, Colin Cotter FEM

Finite Elements. Colin Cotter. January 15, Colin Cotter FEM Finite Elements January 15, 2018 Why Can solve PDEs on complicated domains. Have flexibility to increase order of accuracy and match the numerics to the physics. has an elegant mathematical formulation

More information

Parallel Discontinuous Galerkin Method

Parallel Discontinuous Galerkin Method Parallel Discontinuous Galerkin Method Yin Ki, NG The Chinese University of Hong Kong Aug 5, 2015 Mentors: Dr. Ohannes Karakashian, Dr. Kwai Wong Overview Project Goal Implement parallelization on Discontinuous

More information

Concepts. 3.1 Numerical Analysis. Chapter Numerical Analysis Scheme

Concepts. 3.1 Numerical Analysis. Chapter Numerical Analysis Scheme Chapter 3 Concepts The objective of this work is to create a framework to implement multi-disciplinary finite element applications. Before starting, it is necessary to explain some basic concepts of the

More information

Solving PDEs with Multigrid Methods p.1

Solving PDEs with Multigrid Methods p.1 Solving PDEs with Multigrid Methods Scott MacLachlan maclachl@colorado.edu Department of Applied Mathematics, University of Colorado at Boulder Solving PDEs with Multigrid Methods p.1 Support and Collaboration

More information

On finite element methods for 3D time dependent convection diffusion reaction equations with small diffusion

On finite element methods for 3D time dependent convection diffusion reaction equations with small diffusion On finite element methods for 3D time dependent convection diffusion reaction equations with small diffusion Volker John and Ellen Schmeyer FR 6.1 Mathematik, Universität des Saarlandes, Postfach 15 11

More information

Spline Element Method for Partial Differential Equations

Spline Element Method for Partial Differential Equations for Partial Differential Equations Department of Mathematical Sciences Northern Illinois University 2009 Multivariate Splines Summer School, Summer 2009 Outline 1 Why multivariate splines for PDEs? Motivation

More information

Space-time XFEM for two-phase mass transport

Space-time XFEM for two-phase mass transport Space-time XFEM for two-phase mass transport Space-time XFEM for two-phase mass transport Christoph Lehrenfeld joint work with Arnold Reusken EFEF, Prague, June 5-6th 2015 Christoph Lehrenfeld EFEF, Prague,

More information

Shock Capturing for Discontinuous Galerkin Methods using Finite Volume Sub-cells

Shock Capturing for Discontinuous Galerkin Methods using Finite Volume Sub-cells Abstract We present a shock capturing procedure for high order Discontinuous Galerkin methods, by which shock regions are refined in sub-cells and treated by finite volume techniques Hence, our approach

More information

Generalized Finite Element Methods for Three Dimensional Structural Mechanics Problems. C. A. Duarte. I. Babuška and J. T. Oden

Generalized Finite Element Methods for Three Dimensional Structural Mechanics Problems. C. A. Duarte. I. Babuška and J. T. Oden Generalized Finite Element Methods for Three Dimensional Structural Mechanics Problems C. A. Duarte COMCO, Inc., 7800 Shoal Creek Blvd. Suite 290E Austin, Texas, 78757, USA I. Babuška and J. T. Oden TICAM,

More information

DISCRETE MAXIMUM PRINCIPLES in THE FINITE ELEMENT SIMULATIONS

DISCRETE MAXIMUM PRINCIPLES in THE FINITE ELEMENT SIMULATIONS DISCRETE MAXIMUM PRINCIPLES in THE FINITE ELEMENT SIMULATIONS Sergey Korotov BCAM Basque Center for Applied Mathematics http://www.bcamath.org 1 The presentation is based on my collaboration with several

More information

A note on accurate and efficient higher order Galerkin time stepping schemes for the nonstationary Stokes equations

A note on accurate and efficient higher order Galerkin time stepping schemes for the nonstationary Stokes equations A note on accurate and efficient higher order Galerkin time stepping schemes for the nonstationary Stokes equations S. Hussain, F. Schieweck, S. Turek Abstract In this note, we extend our recent work for

More information

Optimization of DPF Structures with a 3D-Unit Cell Model

Optimization of DPF Structures with a 3D-Unit Cell Model Optimization of DPF Structures with a 3D-Unit Cell Model Wieland Beckert, Marcel Dannowski, Lisabeth Wagner, Jörg Adler, Lars Mammitzsch Fraunhofer IKTS, Dresden, Germany *Corresponding author: FhG IKTS,

More information

Divergence Formulation of Source Term

Divergence Formulation of Source Term Preprint accepted for publication in Journal of Computational Physics, 2012 http://dx.doi.org/10.1016/j.jcp.2012.05.032 Divergence Formulation of Source Term Hiroaki Nishikawa National Institute of Aerospace,

More information

An Introduction to Algebraic Multigrid (AMG) Algorithms Derrick Cerwinsky and Craig C. Douglas 1/84

An Introduction to Algebraic Multigrid (AMG) Algorithms Derrick Cerwinsky and Craig C. Douglas 1/84 An Introduction to Algebraic Multigrid (AMG) Algorithms Derrick Cerwinsky and Craig C. Douglas 1/84 Introduction Almost all numerical methods for solving PDEs will at some point be reduced to solving A

More information

Efficient Augmented Lagrangian-type Preconditioning for the Oseen Problem using Grad-Div Stabilization

Efficient Augmented Lagrangian-type Preconditioning for the Oseen Problem using Grad-Div Stabilization Efficient Augmented Lagrangian-type Preconditioning for the Oseen Problem using Grad-Div Stabilization Timo Heister, Texas A&M University 2013-02-28 SIAM CSE 2 Setting Stationary, incompressible flow problems

More information

Numerical Solutions to Partial Differential Equations

Numerical Solutions to Partial Differential Equations Numerical Solutions to Partial Differential Equations Zhiping Li LMAM and School of Mathematical Sciences Peking University Variational Problems of the Dirichlet BVP of the Poisson Equation 1 For the homogeneous

More information

Scientific Computing WS 2018/2019. Lecture 15. Jürgen Fuhrmann Lecture 15 Slide 1

Scientific Computing WS 2018/2019. Lecture 15. Jürgen Fuhrmann Lecture 15 Slide 1 Scientific Computing WS 2018/2019 Lecture 15 Jürgen Fuhrmann juergen.fuhrmann@wias-berlin.de Lecture 15 Slide 1 Lecture 15 Slide 2 Problems with strong formulation Writing the PDE with divergence and gradient

More information

ngsxfem: Geometrically unfitted discretizations with Netgen/NGSolve (https://github.com/ngsxfem/ngsxfem)

ngsxfem: Geometrically unfitted discretizations with Netgen/NGSolve (https://github.com/ngsxfem/ngsxfem) ngsxfem: Geometrically unfitted discretizations with Netgen/NGSolve (https://github.com/ngsxfem/ngsxfem) Christoph Lehrenfeld (with contributions from F. Heimann, J. Preuß, M. Hochsteger,...) lehrenfeld@math.uni-goettingen.de

More information

Mathematics Qualifying Exam Study Material

Mathematics Qualifying Exam Study Material Mathematics Qualifying Exam Study Material The candidate is expected to have a thorough understanding of engineering mathematics topics. These topics are listed below for clarification. Not all instructors

More information

FEniCS Course. Lecture 0: Introduction to FEM. Contributors Anders Logg, Kent-Andre Mardal

FEniCS Course. Lecture 0: Introduction to FEM. Contributors Anders Logg, Kent-Andre Mardal FEniCS Course Lecture 0: Introduction to FEM Contributors Anders Logg, Kent-Andre Mardal 1 / 46 What is FEM? The finite element method is a framework and a recipe for discretization of mathematical problems

More information

INTRODUCCION AL ANALISIS DE ELEMENTO FINITO (CAE / FEA)

INTRODUCCION AL ANALISIS DE ELEMENTO FINITO (CAE / FEA) INTRODUCCION AL ANALISIS DE ELEMENTO FINITO (CAE / FEA) Title 3 Column (full page) 2 Column What is Finite Element Analysis? 1 Column Half page The Finite Element Method The Finite Element Method (FEM)

More information

Due Tuesday, November 23 nd, 12:00 midnight

Due Tuesday, November 23 nd, 12:00 midnight Due Tuesday, November 23 nd, 12:00 midnight This challenging but very rewarding homework is considering the finite element analysis of advection-diffusion and incompressible fluid flow problems. Problem

More information

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends

AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends AMS 529: Finite Element Methods: Fundamentals, Applications, and New Trends Lecture 25: Introduction to Discontinuous Galerkin Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Finite Element Methods

More information

Numerical methods for PDEs FEM convergence, error estimates, piecewise polynomials

Numerical methods for PDEs FEM convergence, error estimates, piecewise polynomials Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Numerical methods for PDEs FEM convergence, error estimates, piecewise polynomials Dr. Noemi Friedman Contents of the course Fundamentals

More information

Iterative Methods for Linear Systems

Iterative Methods for Linear Systems Iterative Methods for Linear Systems 1. Introduction: Direct solvers versus iterative solvers In many applications we have to solve a linear system Ax = b with A R n n and b R n given. If n is large the

More information

Time-dependent variational forms

Time-dependent variational forms Time-dependent variational forms Hans Petter Langtangen 1,2 1 Center for Biomedical Computing, Simula Research Laboratory 2 Department of Informatics, University of Oslo Oct 30, 2015 PRELIMINARY VERSION

More information

Well-balanced DG scheme for Euler equations with gravity

Well-balanced DG scheme for Euler equations with gravity Well-balanced DG scheme for Euler equations with gravity Praveen Chandrashekar praveen@tifrbng.res.in Center for Applicable Mathematics Tata Institute of Fundamental Research Bangalore 560065 Higher Order

More information

Non-Conforming Finite Element Methods for Nonmatching Grids in Three Dimensions

Non-Conforming Finite Element Methods for Nonmatching Grids in Three Dimensions Non-Conforming Finite Element Methods for Nonmatching Grids in Three Dimensions Wayne McGee and Padmanabhan Seshaiyer Texas Tech University, Mathematics and Statistics (padhu@math.ttu.edu) Summary. In

More information

An Overview of Fluid Animation. Christopher Batty March 11, 2014

An Overview of Fluid Animation. Christopher Batty March 11, 2014 An Overview of Fluid Animation Christopher Batty March 11, 2014 What distinguishes fluids? What distinguishes fluids? No preferred shape. Always flows when force is applied. Deforms to fit its container.

More information

FEM Convergence for PDEs with Point Sources in 2-D and 3-D

FEM Convergence for PDEs with Point Sources in 2-D and 3-D FEM Convergence for PDEs with Point Sources in 2-D and 3-D Kourosh M. Kalayeh 1, Jonathan S. Graf 2 Matthias K. Gobbert 2 1 Department of Mechanical Engineering 2 Department of Mathematics and Statistics

More information

Spring 2014: Computational and Variational Methods for Inverse Problems CSE 397/GEO 391/ME 397/ORI 397 Assignment 4 (due 14 April 2014)

Spring 2014: Computational and Variational Methods for Inverse Problems CSE 397/GEO 391/ME 397/ORI 397 Assignment 4 (due 14 April 2014) Spring 2014: Computational and Variational Methods for Inverse Problems CSE 397/GEO 391/ME 397/ORI 397 Assignment 4 (due 14 April 2014) The first problem in this assignment is a paper-and-pencil exercise

More information

CIV-E1060 Engineering Computation and Simulation Examination, December 12, 2017 / Niiranen

CIV-E1060 Engineering Computation and Simulation Examination, December 12, 2017 / Niiranen CIV-E16 Engineering Computation and Simulation Examination, December 12, 217 / Niiranen This examination consists of 3 problems rated by the standard scale 1...6. Problem 1 Let us consider a long and tall

More information

A recovery-assisted DG code for the compressible Navier-Stokes equations

A recovery-assisted DG code for the compressible Navier-Stokes equations A recovery-assisted DG code for the compressible Navier-Stokes equations January 6 th, 217 5 th International Workshop on High-Order CFD Methods Kissimmee, Florida Philip E. Johnson & Eric Johnsen Scientific

More information

18. Balancing Neumann-Neumann for (In)Compressible Linear Elasticity and (Generalized) Stokes Parallel Implementation

18. Balancing Neumann-Neumann for (In)Compressible Linear Elasticity and (Generalized) Stokes Parallel Implementation Fourteenth nternational Conference on Domain Decomposition Methods Editors: smael Herrera, David E Keyes, Olof B Widlund, Robert Yates c 23 DDMorg 18 Balancing Neumann-Neumann for (n)compressible Linear

More information

OUTLINE ffl CFD: elliptic pde's! Ax = b ffl Basic iterative methods ffl Krylov subspace methods ffl Preconditioning techniques: Iterative methods ILU

OUTLINE ffl CFD: elliptic pde's! Ax = b ffl Basic iterative methods ffl Krylov subspace methods ffl Preconditioning techniques: Iterative methods ILU Preconditioning Techniques for Solving Large Sparse Linear Systems Arnold Reusken Institut für Geometrie und Praktische Mathematik RWTH-Aachen OUTLINE ffl CFD: elliptic pde's! Ax = b ffl Basic iterative

More information

Numerical methods for the Navier- Stokes equations

Numerical methods for the Navier- Stokes equations Numerical methods for the Navier- Stokes equations Hans Petter Langtangen 1,2 1 Center for Biomedical Computing, Simula Research Laboratory 2 Department of Informatics, University of Oslo Dec 6, 2012 Note:

More information

Chapter 1. Introduction and Background. 1.1 Introduction

Chapter 1. Introduction and Background. 1.1 Introduction Chapter 1 Introduction and Background 1.1 Introduction Over the past several years the numerical approximation of partial differential equations (PDEs) has made important progress because of the rapid

More information

Compressible Navier-Stokes (Euler) Solver based on Deal.II Library

Compressible Navier-Stokes (Euler) Solver based on Deal.II Library Compressible Navier-Stokes (Euler) Solver based on Deal.II Library Lei Qiao Northwestern Polytechnical University Xi an, China Texas A&M University College Station, Texas Fifth deal.ii Users and Developers

More information

Back Matter Index The McGraw Hill Companies, 2004

Back Matter Index The McGraw Hill Companies, 2004 INDEX A Absolute viscosity, 294 Active zone, 468 Adjoint, 452 Admissible functions, 132 Air, 294 ALGOR, 12 Amplitude, 389, 391 Amplitude ratio, 396 ANSYS, 12 Applications fluid mechanics, 293 326. See

More information

Edwin van der Weide and Magnus Svärd. I. Background information for the SBP-SAT scheme

Edwin van der Weide and Magnus Svärd. I. Background information for the SBP-SAT scheme Edwin van der Weide and Magnus Svärd I. Background information for the SBP-SAT scheme As is well-known, stability of a numerical scheme is a key property for a robust and accurate numerical solution. Proving

More information

An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems

An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems An Efficient Low Memory Implicit DG Algorithm for Time Dependent Problems P.-O. Persson and J. Peraire Massachusetts Institute of Technology 2006 AIAA Aerospace Sciences Meeting, Reno, Nevada January 9,

More information

1. Let a(x) > 0, and assume that u and u h are the solutions of the Dirichlet problem:

1. Let a(x) > 0, and assume that u and u h are the solutions of the Dirichlet problem: Mathematics Chalmers & GU TMA37/MMG800: Partial Differential Equations, 011 08 4; kl 8.30-13.30. Telephone: Ida Säfström: 0703-088304 Calculators, formula notes and other subject related material are not

More information

Implementation of the dg method

Implementation of the dg method Implementation of the dg method Matteo Cicuttin CERMICS - École Nationale des Ponts et Chaussées Marne-la-Vallée March 6, 2017 Outline Model problem, fix notation Representing polynomials Computing integrals

More information

Kasetsart University Workshop. Multigrid methods: An introduction

Kasetsart University Workshop. Multigrid methods: An introduction Kasetsart University Workshop Multigrid methods: An introduction Dr. Anand Pardhanani Mathematics Department Earlham College Richmond, Indiana USA pardhan@earlham.edu A copy of these slides is available

More information

Middle East Technical University Department of Mechanical Engineering ME 413 Introduction to Finite Element Analysis. Chapter 2 Introduction to FEM

Middle East Technical University Department of Mechanical Engineering ME 413 Introduction to Finite Element Analysis. Chapter 2 Introduction to FEM Middle East Technical University Department of Mechanical Engineering ME 43 Introction to Finite Element Analysis Chapter 2 Introction to FEM These notes are prepared by Dr. Cüneyt Sert http://www.me.metu.e.tr/people/cuneyt

More information

Finite Elements for Nonlinear Problems

Finite Elements for Nonlinear Problems Finite Elements for Nonlinear Problems Computer Lab 2 In this computer lab we apply finite element method to nonlinear model problems and study two of the most common techniques for solving the resulting

More information

Basic Aspects of Discretization

Basic Aspects of Discretization Basic Aspects of Discretization Solution Methods Singularity Methods Panel method and VLM Simple, very powerful, can be used on PC Nonlinear flow effects were excluded Direct numerical Methods (Field Methods)

More information

Numerical Solution I

Numerical Solution I Numerical Solution I Stationary Flow R. Kornhuber (FU Berlin) Summerschool Modelling of mass and energy transport in porous media with practical applications October 8-12, 2018 Schedule Classical Solutions

More information

1 Discretizing BVP with Finite Element Methods.

1 Discretizing BVP with Finite Element Methods. 1 Discretizing BVP with Finite Element Methods In this section, we will discuss a process for solving boundary value problems numerically, the Finite Element Method (FEM) We note that such method is a

More information

Well-balanced DG scheme for Euler equations with gravity

Well-balanced DG scheme for Euler equations with gravity Well-balanced DG scheme for Euler equations with gravity Praveen Chandrashekar praveen@tifrbng.res.in Center for Applicable Mathematics Tata Institute of Fundamental Research Bangalore 560065 Dept. of

More information

Sensitivity and Reliability Analysis of Nonlinear Frame Structures

Sensitivity and Reliability Analysis of Nonlinear Frame Structures Sensitivity and Reliability Analysis of Nonlinear Frame Structures Michael H. Scott Associate Professor School of Civil and Construction Engineering Applied Mathematics and Computation Seminar April 8,

More information

Continuous adjoint based error estimation and r-refinement for the active-flux method

Continuous adjoint based error estimation and r-refinement for the active-flux method Continuous adjoint based error estimation and r-refinement for the active-flux method Kaihua Ding, Krzysztof J. Fidkowski and Philip L. Roe Department of Aerospace Engineering, University of Michigan,

More information

Comparative Analysis of Mesh Generators and MIC(0) Preconditioning of FEM Elasticity Systems

Comparative Analysis of Mesh Generators and MIC(0) Preconditioning of FEM Elasticity Systems Comparative Analysis of Mesh Generators and MIC(0) Preconditioning of FEM Elasticity Systems Nikola Kosturski and Svetozar Margenov Institute for Parallel Processing, Bulgarian Academy of Sciences Abstract.

More information

Sparse factorization using low rank submatrices. Cleve Ashcraft LSTC 2010 MUMPS User Group Meeting April 15-16, 2010 Toulouse, FRANCE

Sparse factorization using low rank submatrices. Cleve Ashcraft LSTC 2010 MUMPS User Group Meeting April 15-16, 2010 Toulouse, FRANCE Sparse factorization using low rank submatrices Cleve Ashcraft LSTC cleve@lstc.com 21 MUMPS User Group Meeting April 15-16, 21 Toulouse, FRANCE ftp.lstc.com:outgoing/cleve/mumps1 Ashcraft.pdf 1 LSTC Livermore

More information

Advanced numerical methods for nonlinear advectiondiffusion-reaction. Peter Frolkovič, University of Heidelberg

Advanced numerical methods for nonlinear advectiondiffusion-reaction. Peter Frolkovič, University of Heidelberg Advanced numerical methods for nonlinear advectiondiffusion-reaction equations Peter Frolkovič, University of Heidelberg Content Motivation and background R 3 T Numerical modelling advection advection

More information

Solving linear systems (6 lectures)

Solving linear systems (6 lectures) Chapter 2 Solving linear systems (6 lectures) 2.1 Solving linear systems: LU factorization (1 lectures) Reference: [Trefethen, Bau III] Lecture 20, 21 How do you solve Ax = b? (2.1.1) In numerical linear

More information

On a Discontinuous Galerkin Method for Surface PDEs

On a Discontinuous Galerkin Method for Surface PDEs On a Discontinuous Galerkin Method for Surface PDEs Pravin Madhavan (joint work with Andreas Dedner and Bjo rn Stinner) Mathematics and Statistics Centre for Doctoral Training University of Warwick Applied

More information

Simple Examples on Rectangular Domains

Simple Examples on Rectangular Domains 84 Chapter 5 Simple Examples on Rectangular Domains In this chapter we consider simple elliptic boundary value problems in rectangular domains in R 2 or R 3 ; our prototype example is the Poisson equation

More information

Une méthode de pénalisation par face pour l approximation des équations de Navier-Stokes à nombre de Reynolds élevé

Une méthode de pénalisation par face pour l approximation des équations de Navier-Stokes à nombre de Reynolds élevé Une méthode de pénalisation par face pour l approximation des équations de Navier-Stokes à nombre de Reynolds élevé CMCS/IACS Ecole Polytechnique Federale de Lausanne Erik.Burman@epfl.ch Méthodes Numériques

More information