^{1}

^{*}

^{2}

^{*}

^{3}

^{2}

We consider the design of structure-preserving discretization methods for the solution of systems of boundary controlled Partial Differential Equations (PDEs) thanks to the port-Hamiltonian formalism. We first provide a novel general structure of infinite-dimensional port-Hamiltonian systems (pHs) for which the Partitioned Finite Element Method (PFEM) straightforwardly applies. The proposed strategy is applied to abstract multidimensional linear hyperbolic and parabolic systems of PDEs. Then we show that instructional model problems based on the wave equation, Mindlin equation and heat equation fit within this unified framework. Secondly, we introduce the ongoing project SCRIMP (Simulation and Control of Interactions in Multi-Physics) developed for the numerical simulation of infinite-dimensional pHs. SCRIMP notably relies on the FEniCS open-source computing platform for the finite element spatial discretization. Finally, we illustrate how to solve the considered model problems within this framework by carefully explaining the methodology. As additional support, companion interactive Jupyter notebooks are available.

The efficient numerical simulation of complex multiphysics systems is ubiquitous in Computational Science and Engineering. Although a wide range of methods exists to tackle specific problems, they often lack versatility and adaptability, especially when the modelling is of increasing complexity as in real-world applications.

Infinite-dimensional port-Hamiltonian systems (pHs) have been first introduced in [

Since then, many researchers have developed numerical methods to discretize these systems in a structure-preserving manner, hence keeping the advantages of the infinite-dimensional pHs. Such methods aim at constructing approximate finite-dimensional pHs at the discrete level. Our aim is to show the versatility of PFEM thanks to a new unified framework and to introduce the ongoing project SCRIMP together with companion Jupyter notebooks [

The first proposed structure-preserving scheme for pHs dates back to [

Thanks to [

It has to be pointed out that the core idea of PFEM, i.e. performing integration by parts on a partition of the weak formulation of the system of equations, has already been proposed for closed hyperbolic systems in [

The major difference between MFEM and PFEM relies on the choice of the test functions in the weak formulation, hence on the finite element form functions. Indeed, in PFEM, they never carry homogeneous boundary conditions. In e.g. ( [

In our opinion, the driving forces of PFEM are threefold: first, PFEM takes collocated boundary controls and observations into account in a simple manner; secondly, PFEM is structure-preserving, meaning in particular that the discrete power balance perfectly mimics the continuous one; thirdly, the implementation of PFEM only relies on existing finite element libraries, such as FEniCS [

PFEM could also be named e.g. extended MFEM or relaxed MFEM. Since only evolution systems are considered (not necessarily of hyperbolic type, see e.g. Section 3.4), relaxed conditions for the selection of the test functions hold, hence for the finite elements as well. We choose to follow the terminology introduced in [

Main contributions

We first aim at presenting the strategy of the structure-preserving discretization PFEM, in a new unified abstract framework, allowing for an easy application to a wide class of boundary controlled partial differential equations. Then, in order to show the versatility of our approach, we successively apply PFEM to the boundary controlled wave equation, the boundary controlled Mindlin plate model, and the boundary controlled heat equation with a thermodynamically well-founded Hamiltonian (namely the internal energy, instead of the quadratic functional commonly used). Taking advantage of the strong underlying structure, we finally describe a unified object-oriented implementation of these models via PFEM. Companion interactive Jupyter notebooks [

Structure of the manuscript

The manuscript is organized as follows. In Section 2 the abstract pHs framework is introduced, with a particular focus on both hyperbolic and parabolic linear systems of partial differential equations. In Section 3 the general structure-preserving discretization is presented, and then specialized on the two cases previously mentioned. In Section 4 the ongoing environment SCRIMP is described in detail. In Section 5 the three companion interactive Jupyter notebooks [

In this section, we introduce an abstract class of pHs and their underlying geometric structure: the Dirac structure for the finite-dimensional case and the Stokes-Dirac structure for the infinite-dimensional case. For the infinite-dimensional case it is shown how hyperbolic and parabolic systems easily fit into this framework.

State representation

Let us begin with a classical definition of a pHs in finite dimension. Consider the time-invariant dynamical system [

( d x d t = ( J ( x ) − R ( x ) ) ∇ H ( x ) + B ( x ) u , y = B ( x ) Τ ∇ H ( x ) , (1)

where H ( x ) : X ≃ ℝ n → ℝ , the Hamiltonian, is a real-valued function of the vector of energy variables x , bounded from below. Matrix-valued functions J ( x ) (the structure operator) and R ( x ) (the dissipative or resistive operator) are skew-symmetric and symmetric positive semi-definite respectively. The control u ∈ ℝ m is applied thanks to the matrix-valued control function B ( x ) of size n × m . Variable y ∈ ℝ m is the power conjugated output to the input.

Such a system is called a port-Hamiltonian system, as it arises from the Hamiltonian modelling of a physical system and it interacts with the environment via the input u and the output y , included in the formulation. The vector ∇ H ( x ) is made of the co-energy variables.

Due to the structural properties of J ( x ) and R ( x ) , the port-Hamiltonian system enjoys the nice following power balance:

d H d t = − ( ∇ H ( x ) ) Τ R ( x ) ∇ H ( x ) + u Τ y ≤ u Τ y , (2)

meaning that R ( x ) accounts for dissipation, and that the input-output product corresponds to the power supplied to (or taken from) the system, through the control u .

Flow-effort representation

Consider two finite-dimensional vector spaces E = F ≃ ℝ n . The elements of F are called flows, while the elements of E are called efforts. Those are port variables and their combination gives the power flowing inside the system. The space B : = F × E is called the bond space of power variables. Therefore, identifying E as the dual of F, the power is defined as 〈 e , f 〉 : = e ( f ) .

Definition 1 ( [

〈 〈 ( f 1 , e 1 ) , ( f 2 , e 2 ) 〉 〉 : = 〈 e 1 , f 2 〉 + 〈 e 2 , f 1 〉 , where ( f i , e i ) ∈ B , i = 1,2.

A Dirac structure on B : = F × E is a subspace D ⊂ B , which is maximally isotropic under 〈 〈 ⋅ , ⋅ 〉 〉 . Equivalently, a Dirac structure on B : = F × E is a subspace D ⊂ B which equals its orthogonal companion with respect to 〈 〈 ⋅ , ⋅ 〉 〉 , i.e. D = D [ ⊥ ] , where:

D [ ⊥ ] : = { ( f , e ) ∈ B | 〈 〈 ( f , e ) , ( f ˜ , e ˜ ) 〉 〉 = 0, ∀ ( f ˜ , e ˜ ) ∈ D } .

The connection between the concept of Dirac structure and pHs in its canonical form (1) is achieved by considering the following ports:

· the storage ports ( f x , e x ) : = ( d x d t , ∇ H ( x ) ) ∈ ℝ n × ℝ n , made of the storage flow f x (time-derivative of the energy variables) and storage effort e x (the co-energy variables);

· the resistive (or dissipative) ports ( f R , e R ) ∈ ℝ k × ℝ k , made of the resistive (or dissipative) flow f x and resisitive (or dissipative) effort e R ;

· the interconnection ports ( f u , e u ) : = ( − y , u ) ∈ ℝ m × ℝ m , made of the interconnection flow f u and interconnection effort e u .

Assuming that the matrix R ( x ) has constant rank, from classical matrix factorizations there exist matrices G (not necessarily square, of size k × n ) and K symmetric positive semi-definite of size k × k such that R = G Τ K G . These notations at hand, the pHs (1) rewrites:

( f x ( x ) f R ( x ) f u ( x ) ) = [ J ( x ) − G ( x ) Τ B ( x ) G ( x ) 0 0 − B ( x ) Τ 0 0 ] ︸ J e ( e x ( x ) e R ( x ) e u ( x ) ) , (3)

together with the (dissipative or resistive) constitutive relation:

e R ( x ) = K ( x ) f R ( x ) . (4)

It is clear that the extended structure operator J e appearing in (3) is skew-symmetric of size ( n + k + m ) × ( n + k + m ) . Its graph is a Dirac structure with respect to the Euclidean inner product, as a kernel representation, see [

〈 e x ( x ) , f x ( x ) 〉 ℝ n + 〈 e R ( x ) , f R ( x ) 〉 ℝ k + 〈 e u ( x ) , f u ( x ) 〉 ℝ m = 0.

Noting that d H d t = 〈 e x ( x ) , f x ( x ) 〉 ℝ n (by definition of the storage port) leads to:

d H d t = − 〈 e R ( x ) , f R ( x ) 〉 ℝ k − 〈 e u ( x ) , f u ( x ) 〉 ℝ m ,

and thanks to the symmetry of R , (4) gives:

d H d t = − 〈 f R ( x ) , K ( x ) f R ( x ) 〉 ℝ m − 〈 e u ( x ) , f u ( x ) 〉 ℝ m .

Finally, from (3) and the definition of the storage and interconnection ports, the power balance (2) is recovered.

The relation between (1) and (3)-(4) can be understood as follows: the power balance (2) is encoded in the Dirac structure (obtained from the extended structure operator J e ) together with the resistive constitutive relation.

Remark 1. The canonical Euclidean inner product has been used here, but other inner products are allowed to take into account mass matrices (symmetric positive definite) on the left-hand side of (1), (3), and (4). This is crucial after the spatial discretization procedure. This corresponds to a kernel representation of Dirac structure [

System 1 is a pHs in canonical form. Recently, finite-dimensional differential algebraic port-Hamiltonian systems (pHDAE) have been introduced both for linear [

In this section an infinite-dimensional generalization of pHs is presented. For sake of readability, the (Stokes-) Dirac structure is first defined, and secondly, infinite-dimensional pHs are then described in both hyperbolic and parabolic cases. A more general framework can be designed, but this goes beyond the aim of this present work.

Structure operator

As to avoid functional difficulties, the analogue of the extended structure operator will not be written as in (3). More precisely, the control operator will not be included in an extended structure unbounded operator, but given apart. The Stokes-Dirac will be then obtained thanks to a structure operator related to the boundary control operator through an abstract Green formula. However, like in finite dimension, the aim is to establish a link between flow and effort variables. Most importantly, the underlying Stokes-Dirac structure must encode the power balance of the dynamical system under study.

Consider a Lipschitz domain Ω ⊂ ℝ d , d ∈ { 1,2,3 } , and the relation:

( f 1 f 2 ) = [ 0 − L * L 0 ] ( e 1 e 2 ) , e 1 ∈ H L , e 2 ∈ H − L * , (5)

with:

H L : { e 1 ∈ L 2 ( Ω , A ) | L e 1 ∈ L 2 ( Ω , B ) } , H − L * : { e 2 ∈ L 2 ( Ω , B ) | − L * e 2 ∈ L 2 ( Ω , A ) } .

By L 2 ( Ω , X ) we denote the space of square integrable X -valued functions. Symbol A , B denote either the space of scalars ℝ , vectors ℝ d , symmetric tensors ℝ sym d × d = : S or a Cartesian product of those, depending on the particular example. The operator L : H L → L 2 ( Ω , B ) is a generic differential, and therefore linear but unbounded, operator. The notation L * : H − L * → L 2 ( Ω , A ) denotes the formal adjoint of L , defined by the relation:

〈 L e 1 , e 2 〉 L 2 ( Ω , B ) = 〈 e 1 , L * e 2 〉 L 2 ( Ω , A ) , e 1 ∈ C 0 ∞ ( Ω , A ) , e 2 ∈ C 0 ∞ ( Ω , B ) . (6)

Of course, for (5) to be well-defined, constitutive relations are needed. Only physical laws will be taken into account when constructing the above relation on concrete examples. As pointed out in the introduction, PFEM aims at both preserving this relation and discretizing constitutive laws to close the system.

Remark 2. One can be confused by the lack of evolution in time in (5). However, this emphasizes an important paradigm in the proposed point of view: this relation translates the time-independent geometric structure of the pHs as an equation with differential operator (ill-posed on its own), while constitutive relations will bring back the time dependency of the problem. In particular, some flows must be the time derivative of the energy variables.

Throughout the paper, 〈 ⋅ , ⋅ 〉 X denotes the inner product of the Hilbert space X. Definition (6) is analogous to Definition 5.80 in [

Grad ( e ) : = 1 2 ( ∇ e + ∇ Τ e ) , e ∈ C ∞ ( ℝ d ) .

The formal adjoint of Grad is minus the tensor divergence -Div. For a tensor field E : Ω → M : = ℝ d × d , with components e i j , the divergence is a vector, defined columnwise as:

Div ( E ) : = ( ∑ i = 1 d ∂ x i e i j ) j = 1, ⋯ , d .

Finally, in Section 3.4, L is made of the gradient and the identity operator.

Stokes-Dirac structure

Definition 1 still remains valid in infinite dimension. Nevertheless, as stated above, the structure operator in (5) is not extended to include the control operator. Hence an additional assumption has to be made for [ 0 − L * L 0 ] to define a Dirac structure in relation with a pHs coming from boundary control of partial differential equations. In other words, a Stokes-Dirac structure requires the specification of boundary variables in order to express a general power conservation property for open physical systems. This assumption is based on the so-called Stokes’ theorem (also known as the divergence theorem, Gauss’s theorem or Ostrogradsky’s theorem) and its corollaries, as the Green’s formula.

Assumption 1 (Abstract Green’s formula) The operator L is assumed to satisfy the abstract Green’s formula:

〈 L e 1 , e 2 〉 L 2 ( Ω , B ) − 〈 e 1 , L * e 2 〉 L 2 ( Ω , A ) = 〈 Γ 0 e 1 , Γ ⊥ e 2 〉 V ∂ , ( V ∂ ) ′ , ∀ e 1 ∈ H L , e 2 ∈ H − L * , (7)

where the right-hand side is the duality bracket at the boundary, on a well-suited boundary functional space V ∂ for some trace operators Γ 0 , Γ ⊥ . From now on, this duality bracket will be denoted by 〈 ⋅ , ⋅ 〉 ∂ Ω with a slight abuse of notation.

Remark 3. This abstract formula is well-known in the boundary control systems theory, see e.g. ( [

Remark 4. In practice, Equation (7) dictates the causalities, i.e. the possible choices for the boundary control u ∂ and the boundary observation y ∂ , via the equality 〈 Γ 0 e 1 , Γ ⊥ e 2 〉 ∂ Ω = 〈 u ∂ , y ∂ 〉 ∂ Ω (with a slight abuse of notation for the right-hand side to make sense). Of course, the admissible causalities are also related to the well-posedness of the system under study, and in particular to the definitions of the boundary functional spaces.

For sake of simplicity, a focus on the two following causalities will be made. Let the boundary variables associated to system (5) be defined by:

e ∂ = Γ ⊥ e 2 ∈ ( V ∂ ) ′ , f ∂ = − Γ 0 e 1 ∈ V ∂ , (8)

or the other way:

e ∂ = Γ 0 e 1 ∈ V ∂ , f ∂ = − Γ ⊥ e 2 ∈ ( V ∂ ) ′ . (9)

In light of (7), systems:

( f 1 f 2 ) = [ 0 − L * L 0 ] ( e 1 e 2 ) , ( e ∂ f ∂ ) = [ 0 Γ ⊥ − Γ 0 0 ] ( e 1 e 2 ) , (10)

and:

( f 1 f 2 ) = [ 0 − L * L 0 ] ( e 1 e 2 ) , ( e ∂ f ∂ ) = [ Γ 0 0 0 − Γ ⊥ ] ( e 1 e 2 ) , (11)

define Stokes-Dirac structures with respect to the bilinear pairing:

〈 〈 ( f 1 1 , f 2 1 , f ∂ 1 , e 1 1 , e 2 1 , e ∂ 1 ) , ( f 1 2 , f 2 2 , f ∂ 2 , e 1 2 , e 2 2 , e ∂ 2 ) 〉 〉 = 〈 f 1 1 , e 1 2 〉 L 2 ( Ω , A ) + 〈 f 2 1 , e 2 2 〉 L 2 ( Ω , B ) + 〈 f 1 2 , e 1 1 〉 L 2 ( Ω , A ) + 〈 f 2 2 , e 2 1 〉 L 2 ( Ω , B ) + 〈 f ∂ 1 , e ∂ 2 〉 ∂ Ω + 〈 f ∂ 2 , e ∂ 1 〉 ∂ Ω .

Obviously, for systems (10) and (11) to be well-defined, constitutive relations are needed.

In the remaining part of this section, only (10) will be treated in details. The other canonical causality (11), figuring in Section 3.4, straightforwardly follows with the same strategy.

Hyperbolic systems

In the hyperbolic case, both flows represent the dynamics of the independent energy variables α 1 , α 2 . The Hamiltonian is a generic functional of these variables H = H ( α 1 , α 2 ) . The co-energy variables are by definition the variational derivatives (see e.g. [

f 1 = ∂ t α 1 , e 1 : = δ α 1 H , f 2 = ∂ t α 2 , e 2 : = δ α 2 H . (12)

Then system (10) possesses the equivalent state representation:

( ∂ t α 1 ∂ t α 2 ) = [ 0 − L * L 0 ] ( δ α 1 H δ α 2 H ) , ( u ∂ y ∂ ) = [ 0 Γ ⊥ Γ 0 0 ] ( δ α 1 H δ α 2 H ) . (13)

It holds u ∂ = e ∂ , y ∂ = − f ∂ . The power balance is naturally embedded in the Stokes-Dirac structure defined by (10):

d d t H ( α 1 , α 2 ) = 〈 y ∂ , u ∂ 〉 ∂ Ω . (14)

Linear hyperbolic systems

The system is linear when the Hamiltonian has the form:

H ( α 1 , α 2 ) = 1 2 〈 α 1 , Q 1 α 1 〉 L 2 ( Ω , A ) + 1 2 〈 α 2 , Q 2 α 2 〉 L 2 ( Ω , B ) ,

where Q 1 : L 2 ( Ω , A ) → L 2 ( Ω , A ) , Q 2 : L 2 ( Ω , B ) → L 2 ( Ω , B ) are positive symmetric operators, bounded from below and above:

m 1 I A ≼ Q 1 ≼ M 1 I A , m 2 I B ≼ Q 2 ≼ M 2 I B ,

m 1 > 0 , m 2 > 0 , M 1 > 0 , M 2 > 0,

with I A and I B the identity operators in L 2 ( Ω , A ) and L 2 ( Ω , B ) respectively. In this case, the co-energy variables are given by:

e 1 : = δ α 1 H = Q 1 α 1 , e 2 : = δ α 2 H = Q 2 α 2 . (15)

Since Q 1 , Q 2 are positive and bounded from below and above, it is possible to invert them to obtain:

α 1 = Q 1 − 1 e 1 = : M 1 e 1 , α 2 = Q 2 − 1 e 2 = : M 2 e 2 , (16)

giving rise to the co-energy formulation. The Hamiltonian is rewritten as:

H ( e 1 , e 2 ) = 1 2 〈 e 1 , M 1 e 1 〉 L 2 ( Ω , A ) + 1 2 〈 e 2 , M 2 e 2 〉 L 2 ( Ω , B ) (17)

and a linear hyperbolic pHs (10) can be expressed as:

[ M 1 0 0 M 2 ] ( ∂ t e 1 ∂ t e 2 ) = [ 0 − L * L 0 ] ( e 1 e 2 ) , ( u ∂ y ∂ ) = [ 0 Γ ⊥ Γ 0 0 ] ( e 1 e 2 ) . (18)

In this particular case, the constitutive relations needed for system (10) to be well-defined are given by (15), and then directly included in (18). In Sections 3.2 and 3.3, it will be shown that PFEM leads directly to a finite-dimensional pHs of the form (1) with R ( x ) = 0 . This simplification considerably facilitates the solution in time, as (1) is an Ordinary Differential Equation (ODE). Indeed, some dissipation phenomena will induce a differential-algebraic structure on the problem, for example dissipative effects due to an unbounded (e.g. elliptic) operator (see Remark 5).

Parabolic systems

In this case, the first flow f 1 still represents a dynamics ∂ t α 1 of the energy variable α 1 . The Hamiltonian then reads H = H ( α 1 ) , and its variational derivative gives the co-energy variable e 1 = δ α 1 H .

The second flow f 2 represents an extra flow related to the effort variable e 2 appearing in the dynamics of the energy variable α 1 . The relation is given implicitly by a mapping G as G ( f 2 , e 2 ) = 0 . Then, pHs (10) of parabolic type is expressed as:

( ∂ t α 1 f 2 ) = [ 0 − L * L 0 ] ( δ α 1 H e 2 ) , ( u ∂ y ∂ ) = [ 0 Γ ⊥ Γ 0 0 ] ( δ α 1 H e 2 ) , G ( f 2 , e 2 ) = 0. (19)

In Section 3.4, an example of a parabolic-type pHs (11) is studied. It will be shown that the PFEM structure-preserving discretization of such a system naturally leads to a finite-dimensional pHDAE. Again, the power balance is naturally embedded in the Stokes-Dirac structure defined by (10):

d d t H ( α 1 ) = − 〈 f 2 , e 2 〉 L 2 ( Ω ) + 〈 y ∂ , u ∂ 〉 ∂ Ω . (20)

In practice, this becomes explicit with the constitutive relation G ( f 2 , e 2 ) = 0 as it will be seen in Section 3.4 (and more generally in [

Remark 5. By adding resistive port(s), dissipation(s) can easily be taken into account (both internal or at the boundary), as done in the finite-dimensional case via R ( x ) playing the role of a output feedback gain matrix. In this case, the system becomes a parabolic system, the dissipative constitutive relation being represented by G . See [

We are now in a position to introduce a general methodology to discretize infinite-dimensional pHs in a structure-preserving manner. The main contribution in this section is the application of PFEM to a general abstract class of pHs, unifying the previously published results. This generality is notably of particular interest for the development of a well-structured software for the numerical simulations of physics-based models. The power balances (14), (20) are deeply linked to a linear underlying Stokes-Dirac. The main idea of PFEM is to mimic this structure, in order to obtain a discretized copy of these power balances as (2). This systematically translates the Stokes-Dirac structure into a finite-dimensional Dirac structure. The compatible discretization, with respect to this Dirac structure, of the constitutive relations allows to mimic the continuous power-balance. This method goes under the name Partitioned Finite Element Method (PFEM), and was originally presented in [

1) System (5) is written in weak form;

2) The integration by parts (7) is carried out on a partition of the system (5) to make the appropriate boundary control appear;

3) A Galerkin method is employed to obtain a finite-dimensional system. For the approximation basis, the finite element method is used here but spectral methods can be chosen as well.

This strategy of structured discretization in order to mimic the continuous power balance at the discrete level has been addressed for closed abstract linear hyperbolic systems in [

Consider smooth test functions v 1 and v 2 and the weak form of (5):

〈 v 1 , f 1 〉 L 2 ( Ω , A ) = 〈 v 1 , − L * e 2 〉 L 2 ( Ω , A ) , 〈 v 2 , f 2 〉 L 2 ( Ω , B ) = 〈 v 2 , L e 1 〉 L 2 ( Ω , B ) . (21)

Next the integration by parts is performed either on the first or on the second line (the system is partitioned), depending on the causality.

Integration by parts of the term 〈 v 1 , − L * e 2 〉 L 2 ( Ω , A )

In this case case, using (7), it is obtained:

− 〈 v 1 , L * e 2 〉 L 2 ( Ω , A ) = − 〈 L v 1 , e 2 〉 L 2 ( Ω , B ) + 〈 Γ 0 v 1 , Γ ⊥ e 2 〉 ∂ Ω .

The boundary variable e ∂ : = Γ ⊥ e 2 in (10) explicitly appears. Then the equation defining the corresponding f ∂ : = Γ 0 e 1 is put into weak form to obtain the final system for all smooth test functions v 1 , v 2 , and v ∂ :

〈 v 1 , f 1 〉 L 2 ( Ω , A ) = − 〈 L v 1 , e 2 〉 L 2 ( Ω , B ) + 〈 Γ 0 v 1 , e ∂ 〉 ∂ Ω , 〈 v 2 , f 2 〉 L 2 ( Ω , B ) = 〈 v 2 , L e 1 〉 L 2 ( Ω , B ) , 〈 v ∂ , f ∂ 〉 ∂ Ω = − 〈 v ∂ , Γ 0 e 1 〉 ∂ Ω . (22)

Now, a Galerkin discretization is introduced. Test, energy and co-energy functions with the same subscript are discretized using the same basis, for all t ≥ 0 :

□ 1 ( t , x ) ≈ □ 1 d ( t , x ) : = ∑ i = 1 N 1 φ 1 i ( x ) □ 1 i ( t ) , ∀ x ∈ Ω , □ 2 ( t , x ) ≈ □ 2 d ( t , x ) : = ∑ i = 1 N 2 φ 2 i ( x ) □ 2 i ( t ) , ∀ x ∈ Ω , □ ∂ ( t , s ) ≈ □ ∂ d ( t , s ) : = ∑ i = 1 N ∂ ψ ∂ i ( s ) □ ∂ i ( t ) , ∀ s ∈ ∂ Ω , (23)

where □ stands for v, f, and e and φ 1 i ∈ H L , φ 2 i ∈ L 2 ( Ω , B ) , and ψ ∂ i ∈ L 2 ( ∂ Ω , ℝ m ) .

Remark 6. In general, a discretization in the same basis of either ( f 1 , e 1 ) and ( f 2 , e 2 ) or ( f 1 , f 2 ) and ( e 1 , e 2 ) (as done in [

Then plugging the approximations into (22), it is computed:

[ M 1 0 0 0 M 2 0 0 0 M ∂ ] ( f 1 f 2 f ∂ ) = [ 0 − D L Τ B ⊥ D L 0 0 − B ⊥ Τ 0 0 ] ( e 1 e 2 e ∂ ) , (24)

where vectors f 1 , f 2 , e 1 , e 2 , f ∂ , and e ∂ are given by the column-wise concatenation of the respective degrees of freedom of f 1 d , f 2 d , e 1 d , e 2 d , f ∂ d , and e ∂ d , and where the matrices are defined as follows:

M 1 i j = 〈 φ 1 i , φ 1 j 〉 L 2 ( Ω , A ) , M 2 m n = 〈 φ 2 m , φ 2 n 〉 L 2 ( Ω , B ) , M ∂ l k = 〈 ψ ∂ l , ψ ∂ k 〉 ∂ Ω , D L m i = 〈 φ 2 m , L φ 1 i 〉 L 2 ( Ω , B ) , B ⊥ i k = 〈 Γ 0 φ 1 i , ψ ∂ k 〉 ∂ Ω , (25)

where 1 ≤ i , j ≤ N 1 , 1 ≤ m , n ≤ N 2 , and 1 ≤ l , k ≤ N ∂ . System (24) is a kernel representation of a Dirac structure as in (3) (see Remark 1).

Remark 7. Note that matrices D L and B ⊥ are not square.

The discrete Hamiltonian is naturally defined as the continuous one evaluated in the discrete energy variables. As done in Section 2, it is easier to distinguish the linear hyperbolic from the parabolic case.

Hyperbolic case

In this setting, the flows f i , i = 1,2 , are given by the time derivative of the energy variables α i . Hence, the discretization of these energy variables is given by:

α i d ( t , x ) = α i d ( 0, x ) + ∫ 0 t f i d ( s , x ) d s , i = 1,2.

The discrete Hamiltonian is then defined by H d ( α _ 1 , α _ 2 ) : = H ( α 1 d , α 2 d ) , where α _ 1 and α _ 2 are the column-wise concatenation of the time varying coefficients of α 1 d and α 2 d in their respective basis.

Definition 2. The discretization of the constitutive relations is said to be compatible if and only if:

∇ H d = ( ∇ α _ 1 H d ∇ α _ 2 H d ) = [ M 1 0 0 M 2 ] ( e 1 e 2 ) .

Proposition 1. If the discretisation of the constitutive relations is compatible, the discrete power balance reads at the discrete level:

d d t H d = − ( e ∂ ) Τ M ∂ f ∂ ,

which perfectly mimics the continuous identity.

Proof 1. A straightforward computation gives:

d d t H d = ( ∇ α _ 1 H d ) Τ α ˙ _ 1 + ( ∇ α _ 2 H d ) Τ α ˙ _ 2 = ( M 1 e 1 ) Τ f 1 + ( M 2 e 2 ) Τ f 2 = ( e 1 ) Τ M 1 f 1 + ( e 2 ) Τ M 2 f 2 = − ( e ∂ ) Τ M ∂ f ∂ ,

where the symmetry of the mass matrices and the Dirac structure have been used.

Remark 8. In the special case of linear hyperbolic systems, it has been seen that the co-energy formulation allows to take the constitutive relations into account directly in the differential equations. Applying PFEM to (18) then leads to an ODE, and the constitutive relations are then automatically discretized in a compatible manner.

Parabolic case

In this setting, only the flow f 1 is the time derivative of the energy variable α 1 . This energy variable is discretized as in the hyperbolic case. The discrete Hamiltonian is then defined by H d ( α _ 1 ) : = H ( α 1 d ) .

Definition 3. The discretization of the constitutive relation is said to be compatible if and only if: ∇ H d = M 1 e 1 .

Proposition 2. If the discretisation of the constitutive relations is compatible, the discrete power balance reads at the discrete level:

d d t H d = − e 2 Τ M 2 f 2 − e ∂ Τ M ∂ f ∂ ,

which perfectly mimics the continuous identity.

Proof 2. The proof can be derived similarly as in the hyperbolic case.

Remark 9. Of course, an accurate discretization of the implicit constitutive relation G ( f 2 , e 2 ) = 0 is also required to conclude. This will be illustrated in Section 3.4.

Integration by parts of the term 〈 v 2 , L e 1 〉 L 2 ( Ω , B )

Using (7), it comes:

〈 v 2 , L e 1 〉 L 2 ( Ω , B ) = 〈 L * v 2 , e 1 〉 L 2 ( Ω , A ) + 〈 Γ ⊥ v 2 , Γ 0 e 1 〉 ∂ Ω .

Now the boundary variable e ∂ : = Γ 0 e 1 explicitly appears, i.e. the causality considered in (11). The weak formulation then reads:

〈 v 1 , f 1 〉 L 2 ( Ω , A ) = − 〈 v 1 , L * e 2 〉 L 2 ( Ω , A ) , 〈 v 2 , f 2 〉 L 2 ( Ω , B ) = 〈 L * v 2 , e 1 〉 L 2 ( Ω , A ) − 〈 Γ ⊥ v 2 , e ∂ 〉 ∂ Ω , 〈 v ∂ , f ∂ 〉 ∂ Ω = 〈 v ∂ , Γ ⊥ e 2 〉 ∂ Ω . (26)

Plugging the approximations (23) into (26), this time with φ 1 i ∈ L 2 ( Ω , A ) , φ 2 i ∈ H − L * , and ψ ∂ i ∈ L 2 ( ∂ Ω , ℝ m ) , gives the following kernel representation of a finite-dimensional Dirac structure:

[ M 1 0 0 0 M 2 0 0 0 M ∂ ] ( f 1 f 2 f ∂ ) = [ 0 D − L * 0 − D − L * Τ 0 B 0 0 − B 0 Τ 0 ] ( e 1 e 2 e ∂ ) , (27)

where the matrices D − L * and B 0 are defined by:

D − L * i m = 〈 φ 1 i , − L ∗ φ 2 m 〉 L 2 ( Ω , A ) , B 0 m k = 〈 Γ ⊥ φ 2 m , ψ ∂ k 〉 ∂ Ω . (28)

The power balances proven above still hold true with this causality, where the role played by e ∂ and f ∂ have been switched.

In the sequel, this methodology is applied to the wave equation, the Mindlin-Reissner plate model and the heat equation. These models have been chosen to demonstrate the versatility of our methodology. The wave equation is the prototype of linear hyperbolic systems, and the first example treated by PFEM [

The wave equation is a well-known model, used as the first example of linear hyperbolic systems in many lecture notes and books. This work is no exception to the rule. However, to account for more realistic physics, let us consider the heterogeneous and anisotropic multidimensional wave equation. The equation reads (see [

ρ ∂ 2 w ∂ t 2 = div ( T grad ( w ) ) , ( x , t ) ∈ Ω × [ 0, t end ] , Ω ⊂ ℝ N , (29)

where ρ is the mass density (bounded from above and below), T is the tensorial Young modulus (symmetric and positive definite) and w is the deflection from the equilibrium.

Let us denote α p : = ρ ∂ w ∂ t the linear momentum and α q : = grad ( w ) the

strain, as energy variables. Hence the Hamiltonian is given as the total energy (summing kinetic and potential energies) by:

H = 1 2 ∫ Ω { α p 2 ρ + α q ⋅ ( T α q ) } d Ω . (30)

The co-energy variables are by definition the variational derivatives of H with respect to the energy variables, i.e.:

e p : = δ α p H = α p ρ = w t , e q : = δ α q H = T α q = T grad ( w ) , (31)

the velocity and stress. With these notations, Equation (29) rewrites:

∂ ∂ t ( α p α q ) = [ 0 div grad 0 ] ( e p e q ) , (32)

together with the constitutive relations given in (31).

Let us denote:

e 1 : = e p , e 2 : = e q , M 1 : = ρ , M 2 : = T − 1 ,

L : = grad , Γ ⊥ : = γ ⊥ = γ 0 ⋅ n , Γ 0 : = γ 0 ,

where γ 0 is the Dirichlet trace operator. Then the Hamiltonian (30) rewrites as (17). The wave equation (29) with Neumann boundary control u ∂ = γ ⊥ ( e q ) is given by (18).

The application of PFEM directly gives:

[ M ρ 0 0 M T − 1 ] d d t ( e 1 e 2 ) = [ 0 − D grad Τ D grad 0 ] ( e 1 e 2 ) + [ B ⊥ 0 ] u ∂ M ∂ y ∂ = [ B ⊥ Τ 0 ] ( e 1 e 2 ) , (33)

where:

M ρ i j : = 〈 φ 1 i , ρ φ 1 j 〉 L 2 ( Ω , ℝ ) , M T − 1 k l : = 〈 φ 2 k , T − 1 φ 2 l 〉 L 2 ( Ω , ℝ N ) ,

are the discretizations of the operators � 1 and � 2 respectively.

The Mindlin model is a generalization to the 2D case of the Timoshenko beam model and is expressed by a system of two coupled PDEs (see [

( ρ b ∂ 2 w ∂ t 2 = div ( q ) + f , ( x , t ) ∈ Ω × [ 0, t end ] , Ω ⊂ ℝ 2 , ρ b 3 12 ∂ 2 θ ∂ t 2 = q + Div ( M ) + t , (34)

where ρ is the mass density, b the plate thickness, w the vertical displacement, θ = ( θ x , θ y ) Τ collects the deflection of the cross section along axes x and y respectively. The fields f , τ represent distributed forces and torques. Variables M , q represent the momenta tensor and the shear stress. Hooke’s law relates those to the curvature tensor and shear deformation vector:

M : = D b K ∈ S , q : = D s γ , K : = Grad ( θ ) ∈ S , γ : = grad ( w ) − θ .

D s : = E Y b K sh 2 ( 1 + ν ) is the shear rigidity coefficient, where E Y is the Young modulus, ν is the Poisson modulus, K sh is the shear correction factor. Tensor D b is the bending stiffness:

D b ( ⋅ ) = E Y b 3 12 ( 1 − ν 2 ) [ ( 1 − ν ) ( ⋅ ) + ν Tr ( ⋅ ) ] . (35)

An appropriate selection of the energy variables is the following [

α w = ρ b ∂ t w , α θ : = ρ b 3 12 ∂ t θ , A κ : = K , α γ : = γ . (36)

The Hamiltonian H (total energy) is expressed in terms of energy variables as:

H = 1 2 ∫ Ω { 1 ρ b α w 2 + 12 ρ b 3 ‖ α θ ‖ 2 + A κ : ( D b A κ ) + D s ‖ α γ ‖ 2 } Ω , (37)

where A : B denotes the tensor contraction. The co-energy variables are defined as follows:

e w : = δ α w H = ∂ t w , e θ : = δ α θ H = ∂ t θ , E κ : = δ A κ H = M , e γ : = δ α γ H = q . (38)

System (34) is then expressed in port-Hamiltonian form as [

∂ ∂ t ( α w α θ A κ α γ ) = [ 0 0 0 div 0 0 Div I 2 × 2 0 Grad 0 0 grad − I 2 × 2 0 0 ] ( e w e θ E κ e γ ) . (39)

By applying the divergence theorem, the energy rate is expressed as the duality product of the boundary variables:

d H d t = 〈 ∂ t α w , e w 〉 L 2 ( Ω , ℝ ) + 〈 ∂ t α θ , e θ 〉 L 2 ( Ω , ℝ 2 ) + 〈 ∂ t A κ , E κ 〉 L 2 ( Ω , S ) + 〈 ∂ t α γ , e γ 〉 L 2 ( Ω , ℝ 2 ) , = 〈 γ 0 e w , γ ⊥ e γ 〉 ∂ Ω + 〈 γ 0 e θ , γ ⊥ E κ 〉 ∂ Ω = 〈 y ∂ ,1 , u ∂ ,1 〉 ∂ Ω + 〈 y ∂ ,2 , u ∂ ,2 〉 ∂ Ω , (40)

where:

u ∂ ,1 = γ ⊥ e γ , u ∂ ,2 = γ ⊥ E κ , y ∂ ,1 = γ 0 e w , y ∂ ,2 = γ 0 e θ .

The traces γ 0 u = u | ∂ Ω , γ ⊥ U = U ⋅ n | ∂ Ω correspond to the Dirichlet trace for ℝ d vectors and to the normal trace for ℝ d × d tensors. The mass operators are given by:

M 1 = [ ρ b 0 0 ρ b 3 12 ] , M 2 = [ D b − 1 0 0 D s − 1 ] . (41)

The L , Γ 0 , and Γ ⊥ operators are:

L = [ 0 Grad grad − I 2 × 2 ] , Γ 0 = [ γ 0 0 0 γ 0 ] , Γ ⊥ = [ 0 γ ⊥ γ ⊥ 0 ] . (42)

Introducing the approximations for the test and co-energy variables:

Δ w = ∑ i = 1 N w ϕ w i Δ w i , Δ θ = ∑ i = 1 N θ ϕ θ i Δ θ i , Δ κ = ∑ i = 1 N κ Φ κ i Δ κ i , Δ γ = ∑ i = 1 N γ ϕ γ i Δ γ i , (43)

where Δ = { v , e } , and for the boundary controls:

□ ∂ ,1 = ∑ i = 1 N ∂ ,1 ψ ∂ ,1 i □ ∂ ,1 i , □ ∂ ,2 = ∑ i = 1 N ∂ ,2 ψ ∂ ,2 i □ ∂ ,2 i , □ = { v , u , y } , ψ ∂ ,1 i ∈ ℝ , ψ ∂ ,2 i ∈ ℝ 2 , (44)

PFEM can be applied to obtain:

Diag [ M ρ h M I θ M D b − 1 M D s − 1 ] ( e ˙ w e ˙ θ e ˙ κ e ˙ γ ) = [ 0 0 0 − D grad Τ 0 0 − D Grad Τ − D 0 Τ 0 D Grad 0 0 D grad D 0 0 0 ] ( e w e θ e κ e γ ) + [ B ⊥ , w 0 0 B ⊥ , θ 0 0 0 0 ] ( u ∂ ,1 u ∂ ,2 ) , Diag [ M ∂ ,1 M ∂ ,2 ] ( y ∂ ,1 y ∂ ,2 ) = [ B ⊥ , w Τ 0 0 0 0 B ⊥ , θ Τ 0 0 ] ( e w e θ e κ e γ ) . (45)

The notation Diag denotes a block diagonal matrix. The mass matrices M ρ h , M I θ , M C b , M C s are computed as:

M ρ h i j = 〈 ϕ w i , ρ h ϕ w j 〉 L 2 ( Ω ) , M I θ m n = 〈 ϕ κ m , I θ ϕ κ n 〉 L 2 ( Ω , ℝ 2 ) , M D b − 1 p q = 〈 Φ κ p , D b − 1 Φ κ q 〉 L 2 ( Ω , ℝ sym 2 × 2 ) , M D s − 1 r s = 〈 ϕ γ r , D s − 1 ϕ γ s 〉 L 2 ( Ω , ℝ 2 ) , (46)

where i , j ∈ { 1, N w } , m , n ∈ { 1, N θ } , p , q ∈ { 1, N κ } , r , s ∈ { 1, N γ } . Matrices D grad , D Grad , D 0 assume the form:

D grad r j = 〈 ϕ γ r , grad ϕ w j 〉 L 2 ( Ω , ℝ 2 ) , D Grad p n = 〈 Φ κ p , Grad ϕ θ n 〉 L 2 ( Ω , ℝ sym 2 × 2 ) , D 0 r n = − 〈 ϕ γ r , ϕ θ n 〉 L 2 ( Ω , ℝ 2 ) . (47)

Matrices B w , B θ , M ∂ ,1 , M ∂ ,2 are computed as:

B ⊥ , w i g = 〈 γ 0 ϕ w i , ψ ∂ ,1 g 〉 ∂ Ω , B ⊥ , θ m g = 〈 γ 0 ϕ θ m , ψ ∂ ,2 g 〉 ∂ Ω , M ∂ ,1 f g = 〈 ψ ∂ ,1 f , ψ ∂ ,1 g 〉 L 2 ( ∂ Ω , ℝ m ) , M ∂ l k = 〈 ψ ∂ ,2 l , ψ ∂ ,2 k 〉 L 2 ( ∂ Ω , ℝ m ) , f , g ∈ { 1, N ∂ ,1 } , l , k ∈ { 1, N ∂ ,2 } (48)

The discrete Hamiltonian is then computed as:

H d = 1 2 e w Τ M ρ h e w + 1 2 e θ Τ M I θ e θ + 1 2 e κ Τ M D b − 1 e κ + 1 2 e γ Τ M D s − 1 e γ . (49)

From system (45) the discrete energy rate is readily obtained:

d H d d t = y ∂ ,1 Τ M ∂ ,1 u ∂ ,1 + y ∂ ,2 Τ M ∂ ,2 u ∂ ,2 . (50)

The discrete energy rate then mimics its infinite-dimensional counterpart.

Remark 10. Equivalently a purely mixed formulation can be obtained by integrating by parts the third and fourth lines of (39). In this case, the system of equations gathers together a plane elasticity problem [

The heat equation is the simplest example of parabolic system. Instead of rewriting the well-known PDE as a pHs, a direct pHs modelling is presented, as done in [

Let Ω ⊂ ℝ N be a bounded open connected set. Assume that this domain models a rigid body: its volume does not change over time and no chemical reaction is to be found. Let us denote: ρ the mass density, u the internal energy density, J Q the heat flux, T the local temperature, β : = 1 T the reciprocal temperature, s the entropy density, J S : = β J Q the entropy flux, C V : = ( d u d T ) V the isochoric heat capacity.

The first law of thermodynamic reads:

ρ ∂ u ∂ t = − div ( J Q ) . (51)

Under the hypothesis of an inert rigid solid, Gibbs formula reads d u = T d s , giving:

∂ u ∂ t = T ∂ s ∂ t . (52)

Defining σ : = grad ( β ) J Q , and seeingu as a function of the entropy density s, Gibbs formula (52) gives:

ρ ∂ s ∂ t = − div ( J S ) + σ . (53)

Then σ is the irreversible entropy production.

In this work, the following constitutive equations of state will be assumed:

· The rigid body is at room temperature: the Dulong-Petit model is supposed to be satisfied, i.e. u = C V T , with time-invariant C V ;

· The thermal conduction is given by Fourier’s law, with a symmetric positive tensor λ : J Q = − λ grad ( T ) .

Thanks to (51) and the equations of state, we easily recover the classical PDE for the temperature T: ρ C V ∂ T ∂ t = div ( λ grad ( T ) ) .

The “L^{2}-energy” ( ∫ Ω ρ C V T 2 d Ω ) 1 2 is commonly used as Hamiltonian for the heat equation. However, it lacks of a thermodynamical meaning. The internal energy would be more accurate for this physical problem, even though it will rise some difficulties. Nevertheless, the pHs formalism allows dealing with it, and PFEM proves to be powerful enough to discretize the system in a structure-preserving manner even for this choice of Hamiltonian.

Let the internal energy be seen as a functional of the local entropy as energy variable: α s : = ρ s , then:

H : = ∫ Ω ρ u ( α s ) d Ω .

The co-energy variable is given by e s : = δ α s H = d ρ u d ρ s = T , the local temperature. Denoting e S : = J S , one can introduce a new flow variable f S such that:

( ∂ α s ∂ t f S ) = [ 0 − div − grad 0 ] ( e s e S ) + ( σ 0 ) .

Obviously, f S = − grad ( e s ) . In order to get a formally skew-symmetric operator, let us also introduce an entropy port ( f σ , e σ ) , such that e σ = − σ . Then:

( ∂ α s ∂ t f S f σ ) = [ 0 − div − 1 − grad 0 0 1 0 0 ] ( e s e S e σ ) . (54)

Remark 11. As surprising as it can be, in this setting, Fourier’s law appears to be stated in a nonlinear way: e s e S − λ f S = 0 . This comes from the necessity to express the constitutive relations in function of the flows and efforts appearing in the equation defining the Stokes-Dirac structure.

Remark 12. Two variables have been added to obtain (54), but only one equation naturally appears: f σ = e s . Thus, another equation is needed to close the system: G ( f 2 , e 2 ) = 0 . Here, it is given by the definition of the irreversible entropy production σ : = grad ( β ) J Q , rewritten in the flows and efforts variables. This leads to the nonlinear constitutive relation: f S e S + f σ e σ = 0 .

Remark 13. Usually the system energy is taken to be ( ∫ Ω ρ C V T 2 d Ω ) 1 2 , that gives rise to the well-known linear diffusive system. At first glance, our approach may be surprising since it leads to a lossless nonlinear differential-algebraic system. There is indeed a major advantage in doing so, in view of the modelling and discretization of complex systems by interconnection of several pHs. For instance, if one wants to interconnect both thermal and mechanical processes, for the energy exchanges to be consistent, physics must be coherent. When dissipation occurs, through e.g. friction or viscosity, the kinetic energy is converted into internal energy. Hence, for a physically meaningful system, the internal energy is indeed the one to consider.

Let us define:

f 1 : = ∂ α s ∂ t , f 2 : = ( f S f σ ) , e 1 : = e s , e 2 : = ( e S e σ ) ,

and:

L : = ( − grad 1 ) , Γ ⊥ : = ( − γ ⊥ 0 ) , Γ 0 : = γ 0 .

Then, the heat Equation (54) with boundary control e ∂ : = u ∂ = Γ 0 e 1 = γ 0 ( e s ) and boundary observation f ∂ : = − y ∂ = Γ ⊥ e 2 = γ ⊥ ( e S ) rewrites under the form (11). Thus PFEM will be applied with an integration by parts on the second line in this strategy, leading to (27), which rewrites with the current variables:

Diag [ M s M S M σ M ∂ ] ( d d t α _ s f S f σ − y ∂ ) = [ 0 D − div − M σ 0 − D − div Τ 0 0 B 0 M σ 0 0 0 0 − B 0 Τ 0 0 ] ( e s e S e σ u ∂ ) , (55)

where:

M s i j : = 〈 φ 1 i , φ 1 j 〉 L 2 ( ∂ Ω , ℝ ) , M S k l : = 〈 φ S k , φ S l 〉 L 2 ( Ω , ℝ N ) , M σ k ˜ l ˜ : = 〈 φ σ k ˜ , φ σ l ˜ 〉 L 2 ( Ω , ℝ N ) , B 0 k m : = − 〈 Γ ⊥ φ S k , ψ ∂ m 〉 L 2 ( ∂ Ω , ℝ ) ,

with φ 2 k : = ( φ S k 0 ) if 1 ≤ k ≤ N S , and φ 2 k : = ( 0 φ σ k − N S ) if N S + 1 ≤ k ≤ N S + N σ .

To be compatible, the discretizations of the constitutive relations are given as follows:

· Dulong-Petit model reads: M s α _ s = M ρ C V e s , with M ρ C V i j : = 〈 φ 1 i , ρ C V φ 1 j 〉 L 2 ( Ω , ℝ ) ;

· Following Remark 11, Fourier’s law reads: Λ f S = M e s e S with Λ i j : = 〈 φ S i , λ φ S j 〉 L 2 ( Ω , ℝ N ) and M e s i j : = 〈 φ S i , e s φ S j 〉 L 2 ( Ω , ℝ N ) ;

· The constitutive law coming from the introduction of the irreversible entropy production, as explained in Remark 12, is taken into account by:

( e S ) Τ M S f S + ( e σ ) Τ M σ f σ = 0. (56)

Remark 14. In Fourier’s law, the mass matrix M e s depends on the co-energy variable e s . This will rise difficulties for the numerical solution in time.

To conclude, the structure-preserving property can be appreciated in the following result.

Proposition 3. Let H d ( α _ s ) : = H ( α s d ) be the discrete Hamiltonian, where α s d is the discretization of the energy variable in the basis φ 1 . It holds:

d d t H d = u ∂ Τ M ∂ y ∂ ,

that is the first law of thermodynamics at the discrete level.

Proof 3. Thanks to the compatible discretization of the Dulong-Petit model, Proposition 2 gives:

d d t H d = − e 2 Τ M 2 f 2 − e ∂ Τ M ∂ f ∂ .

By definition of f 2 , e 2 , M 2 , e ∂ , and f ∂ one computes:

d d t H d = − e 2 Τ M 2 f 2 − e ∂ Τ M ∂ f ∂ , = − ( e S e σ ) Τ [ M S 0 0 M σ ] ( f S f σ ) + u ∂ Τ M ∂ y ∂ , = u ∂ Τ M ∂ y ∂ ,

thanks to the constitutive relation (56) coming from the irreversible entropy production.

Remark 15. Fourier’s law does not contribute to the power balance of the internal energy. Nevertheless, such a constitutive relation is needed for the problem to be well-defined.

Remark 16. The methodology detailed so far is certainly not limited to the previous three examples. Indeed higher-order differential [^{2}-norm of the temperature can be alternatively considered as Hamiltonian functional [

In the next section we present an ongoing project which has been initiated to prove the efficiency of the PFEM methodology, leveraging well-established and robust software tools for the finite element discretization of partial differential equations and time integration.

In this section the main features related to the numerical simulation of pHs in the framework of the ongoing project named SCRIMP (Simulation and Control of Interactions in Multi-Physics) are detailed. The aim is to provide a flexible prototype Python code for the numerical simulation of pHs both for research and educational purposes. In addition to numerical experiments proposed later in Section 5, the reader is referred to interactive companion Jupyter notebooks [

In short, the key ideas related to the design of SCRIMP are provided:

· The Python dynamic programming language has been selected due to its expressiveness and the availability of high-level interfaces to scientific computing software libraries [

· SCRIMP assumes to rely on open-source, external software for the finite-dimensional discretization of partial differential equations;

· SCRIMP encapsulates the finite-dimensional objects related to the finite element discretization in space (e.g. matrices) to deduce the resulting linear or nonlinear pHs in a generic pHODE/pHDAE form as proposed in [

· For multiphysics problems, this design offers the advantage that discretization in space may be handled by different software components depending on the discipline or on the modelling. The modularity and the object-oriented nature of Python thus offer the flexibility to easily combine the different pHs to deduce the global interconnected system. This is much in line with the mathematical theory of pHs [

The design of SCRIMP is based on procedural and object-oriented paradigms and thus follows the standard ideas governing most of the numerical PDE software. Whereas a detailed exposition of the design patterns of SCRIMP and its performance will be published elsewhere, concrete illustrations of most of these key ideas can be found in the companion Jupyter notebooks [

As outlined in Section 3, PFEM relies on an abstract variational formulation written in appropriate finite element spaces.

To perform the semi-discretization in space, we rely on FEniCS [

A key point to facilitate the generic implementation of PFEM is the use of UFL. UFL is indeed an expressive domain-specific language for abstractly representing (finite element) variational formulations of differential equations. In particular, this language defines a syntax for the integration of variational forms over various domains. This simply leads to an expressive implementation that is close to the abstract mathematical formulations presented in Section 3. The FEniCS Form Compiler FFC then generates specialized C++ code from the symbolic UFL representation of variational forms and finite element spaces. The combination of these core elements makes FEniCS a versatile and efficient software for the finite element approximation of partial differential equations as outlined in [

As outlined in Section 3, the semi-discretization in space of the resulting pHs leads to systems of either ordinary differential equations (ODE) or differential algebraic equations (DAE). Hence reliable and accurate time integration methods must be provided.

To offer a large panel of numerical methods, a high-level interface to well-established time integration libraries is provided in SCRIMP. Concerning the numerical solution of ODEs, we provide light interfaces to the Assimulo library [^{1} that both include standard multistep and one-step methods for stiff and non-stiff ordinary differential equations given in explicit form y ′ = f ( t , y ) with y ( t 0 ) = y 0 where t 0 and y 0 denote the initial time and initial condition, respectively. This formulation requires the solution of linear systems of equations involving sparse finite element mass matrices. State-of-the-art sparse direct solvers based on Gaussian factorization are used for that purpose. Through Assimulo, the popular CVODE^{2} solver from Sundials [

The interface to Assimulo also allows one to handle the numerical solution of linear DAEs through the use of the Sundials IDA solver^{3}. IDA is a package for the solution of differential algebraic equation systems written in the form F ( t , y , y ′ ) = 0 with y ( t 0 ) = y 0 . The integration method in IDA is based on variable-order, variable-coefficient BDF in fixed-leading-coefficient form, where the method order varies between 1 and 5. We note that setting the initial conditions properly is of utmost importance for a DAE solver. To do so, we rely on the IDA_YA_YDP_INIT method to find consistent initial conditions for the time integration. We refer the reader to ( [

To the best of our knowledge, open-source libraries for the solution of general nonlinear differential algebraic equations with high-level Python interfaces are not yet available. Hence a simple forward in time integration method for the solution of the nonlinear pHDAE related to the energy formulation of the heat equation problem has been provided; see [

Structure-preserving model reduction is of significant importance for stability analysis, optimization or control of problems related to pHs. Hence structure-preserving model reduction algorithms have been implemented in SCRIMP. In particular, the structure-preserving model reduction algorithm (Algorithm 1) proposed in [

In this section, PFEM is applied to the pHs presented in Section 3. We specifically learn how to define and solve those problems with SCRIMP. These tutorials introduce the methodology step-by-step and are supposed to be self-contained and independent from the others. We refer the reader to the companion Jupyter notebooks [

We first recall the continuous problem related to the anisotropic heterogeneous wave equation, enriched with internal and boundary damping, and tackle the semi-discretization in space of the port-Hamiltonian system through the PFEM methodology. This discretization leads to a pHODE formulation as explained in Section 3.2. After time discretization, we perform a numerical simulation to obtain an approximation of the space-time solution.

We consider the two-dimensional heterogeneous anisotropic wave equation with impedance boundary condition defined for all ( t ≥ 0 ) as:

ρ ( x ) ∂ 2 ∂ t 2 w ( t , x ) − div ( T ( x ) ⋅ g r a d w ( t , x ) ) = − ε ( x ) ∂ t w ( t , x ) , x ∈ Ω ,

Z ( x ) ( T ( x ) ⋅ g r a d w ( t , x ) ) ⋅ n + ∂ t w ( t , x ) = 0, x ∈ ∂ Ω ,

w ( 0, x ) = w 0 ( x ) , x ∈ Ω , t = 0

∂ t w ( 0, x ) = w 1 ( x ) , x ∈ Ω , t = 0,

with Ω ⊂ ℝ 2 an open bounded spatial domain with Lipschitz-continuous boundary ∂ Ω . We consider here a rectangular shaped domain for Ω . w ( t , x ) denotes the deflection from the equilibrium position at point x ∈ Ω and time t. ρ ∈ C ∞ ( Ω ) (positive and bounded from below) denotes the mass density, T ∈ C ∞ ( Ω ) 2 × 2 (symmetric and coercive) the Young’s elasticity modulus, ε a positive viscous damping parameter and Z ( x ) is the positive impedance function defined on ∂ Ω , respectively.

We initialize here the Python object related to the Wave_2D class of SCRIMP. This object will be used throughout this section.

We define the constants related to the rectangular domain Ω . The coordinates of the bottom left ( x 0 , y 0 ) and top right ( x L , y L ) corners of the rectangle are required.

We then define the time interval related to the time discretization. t i , t f denote the initial and final time instants respectively.

We specify that we choose the Assimulo external library to be used later for the time integration of the resulting ODE and provide the value of the time step. This should be considered as a reference value since adaptative methods in time can be used later.

For the finite element discretization of the pHs, the FEniCS library is used in the Wave_2D class of SCRIMP. Hence to properly use FEniCS expression definition, we provide the definition of the different variables in C++ code given in strings. We first specify the mass density as a function depending on the space coordinates. Hence in this expression, x [ 0 ] corresponds to the first spatial variable and x [ 1 ] to the second one, respectively.

We specify the Young’s elasticity modulus tensor. Three components are only required due to the symmetry property of this tensor.

We finally set the impedance function Z defined on the boundary of the domain. Here a constant value is used on ∂ Ω . We also provide the viscous damping parameter (eps).

Finally we specify the initial conditions of the problem related to the energy variables and to the deflection.

We are now able to completely define the problem at the continuous level. We start by specifying that the computational domain Ω is of rectangular shape. To do so, we provide the coordinates of the bottom left and top right corners to the Wave_2D object.

Remark 17. General Gmsh meshes can be imported by the user. However, for the time being, the library does not allow the treatment of mixed boundary conditions on generic meshes.

We provide next the time integration interval.

We then provide the physical parameters related to the wave equation: the mass density, the Young’s elasticity modulus tensor and the impendance function, respectively.

We then specify the complete modelling for the damping and thus provide information related to the impedance function and viscous damping parameter, respectively.

The user has to provide the temporal and spatial parts of the boundary control function (Ub_tm0 and Ub_sp0, respectively).

Finally we provide the initial conditions for the ODE.

We start by selecting the computational mesh which is generated with Gmsh^{4} and saved as a.xml file. Here the parameter rfn_num corresponds to a mesh refinement parameter.

To perform the discretization in space, we must first specify the conforming finite element approximation spaces to be used (see [

We then perform the semi-discretization in space of the weak formulation with PFEM. At the end of this stage, the complete formulation of the pHODE is obtained. The different matrices related to the pHODE system are constructed in the Assembly method of the Wave_2D class of SCRIMP and are directly accessible through the object of the Wave_2D class. The finite element assembly relies on the variational formulation of PFEM and exploits the level of abstraction provided by the UFL used in FEniCS, leading to a code that is close to the mathematical formulation. The divergence based formulation is selected leading to a pHODE system. In other words, the integration by parts will be performed on the second line of (32).

To perform the time integration of the pHODE, we first need to interpolate both the control function on the boundary and the initial data on the appropriate finite element spaces.

Then we specify the parameters related to the time discretization.

We are now able to perform the time integration of the resulting pHODE system and deduce the behaviour of both the energy variables and the Hamiltonian with respect to the time and space variables, respectively. Detailed information from the Assimulo library is included after time integration.

5.1.8. Post-ProcessingWe

represent the two-dimensional mesh with corresponding degrees of freedom for each variable in

We plot the Hamiltonian function versus time in

The behaviour of the deflection is graphically represented at a given time. Here we simply plot the deflection at the final time of the simulation in

The related Jupyter notebook [

preserving reduced model of this port-Hamiltonian system. After application of the model reduction algorithm proposed in [

We first recall the considered continuous problem related to the Mindlin plate and tackle the semi-discretization in space of the pHs by PFEM. After transformation and time discretization, we perform a numerical simulation to obtain an approximation of the space-time solution. As in Section 5.1, the procedure is described step-by-step and detailed explanations and numerical illustrations are provided.

Consider the Mindlin plate problem defined for all t ≥ 0 as:

{ ρ b ∂ t t w = div ( q ) , x ∈ Ω = { 0, L x } × { 0, L y } , ρ b 3 12 ∂ t t θ = q + Div ( M ) (57)

with initial conditions:

w ( 0, x ) = 0, ∂ t w ( 0, x ) = w 1 ( x ) , θ ( 0, x ) = 0 , ∂ t θ ( 0, x ) = 0 , x ∈ Ω , t = 0, x ∈ Ω , t = 0, (58)

and boundary conditions:

w | Γ D = u D ( t ) , q ⋅ n | Γ N = u N ( t ) , θ | Γ D = 0 , M ⋅ n | Γ N = 0 , Γ D = { x = 0 } , Γ N = { x = L x , y = 0 , y = L y } . (59)

Mixed boundary conditions are considered in this example. The subsets Γ N , Γ D represent the subsets of the boundary where Neumann and Dirichlet conditions hold respectively. The Dirichlet conditions are enforced using Lagrange multipliers. The PFEM discretization then leads to a pHDAE, as explained in [

w 1 = x y , u D = 0.01 ( cos ( 2 π t t f ) − 1 ) , u N = 10 5 sin ( 2 π x L x ) ( 1 − exp − 10 t t f ) . (60)

We initialize here the Python object related to the Mindlin class of SCRIMP. This object will be used throughout this section.

We define the constants related to the rectangular domain Ω . The coordinates of the bottom left ( x 0 , y 0 ) = ( 0,0 ) and the top right ( x L , y L ) = ( L x , L y ) corners of the rectangle are required.

As in the previous example, the time interval related to the time discretization is defined as follows:

A Runge-Kutta method for the time integration of the system is prescribed. This method is conditionally stable, so the time-step has to be set accurately to avoid numerical instabilities.

The FEniCS library is also used in the Mindlin class of SCRIMP. The coefficients related to the physical parameters of the isotropic plate can be provided as either real numbers or FEniCS expressions.

Similarly the initial vertical condition w 1 can be defined as a string. It represents a C++ code that will be compiled by the Dolfin library of FEniCS.

This means that the initial velocity satisfies w 1 = x y . Note that the initial condition has to be compatible with the boundary conditions. The other initial conditions will be set to zero.

We are now able to completely define the problem at the continuous level. We start by specifying that the computational domain Ω is of rectangular shape. To define Ω , we provide the coordinates of the bottom left and top right corners to the Mindlin object.

The time integration interval is then given.

The physical parameters related to the Mindlin plate are set.

Finally the initial conditions in terms of co-energy variables are also set.

We start by selecting the computational mesh which is generated with FEniCS inner mesh utilities. The first parameter corresponds to a mesh refinement parameter.

To perform the discretization in space, the conforming finite element approximation spaces to be used has to be specified. The finite element for the linear and angular velocity are Lagrange polynomials of order r. The momenta tensor and shear stress are chosen as Discontinuous Galerkin elements of order r − 1 [

We then perform the semi-discretization in space of the weak formulation with PFEM. At the end of this stage, the complete formulation of the pHDAE is obtained. The different matrices related to the pHDAE system are constructed in the Assembly_Mixed_BC method of the Mindlin class of SCRIMP and are directly accessible through the object of the Mindlin class. The subsets named G1, G2, G3, G4, denote the left, bottom, right and top sides of the rectangle, respectively.

In SCRIMP the boundary control u ∂ is assumed to take the form:

Its derivative u ˙ ∂ is expressed as:

To integrate in time we need to provide the derivative of the boundary condition. This information is provided by the variables Ub_tm0_dir, Ub_tm1_dir, respectively. This is needed to reduce the resulting DAE of index 2 to index 1.

To perform the time integration of the pHDAE, we first need to interpolate the boundary control function and the initial data on the appropriate finite element spaces.

Finally the specification of the parameters related to the time discretization is made.

For the numerical approximation of the solution of the pHDAE system, the algebraic condition is differentiated. The integrator ‘DAE:RK4_Augmented’ takes as input a pHDAE. Then, it exploits a projection method to express the Lagrange multiplier in terms of the unknown [

Post-processing is performed similarly as in Section 5.1.8. Hence we omit the related Python lines of code for sake of brevity. In

This third tutorial aims at illustrating PFEM to discretize the pHs presented in Section 3.4, modelling the heat equation. We specifically learn how to define and solve this problem with SCRIMP. We first define the continuous problem by using a specific class of SCRIMP related to the heat equation in two dimensions. Then we tackle the discretization in space of the pHs through PFEM. The discretization of the energy formulation leads to a nonlinear pHDAE formulation. After time discretization, we perform a numerical simulation to obtain an approximation of the space-time solution. Finally a simple post-processing is provided.

We consider the two-dimensional heterogeneous anisotropic heat equation defined for all t ≥ 0 as

ρ ( x ) C V ( x ) ∂ ∂ t T ( t , x ) = div ( λ ( x ) ⋅ g r a d T ( t , x ) ) , x ∈ Ω ,

T ( t , x ) = v ∂ ( t , x ) , x ∈ ∂ Ω ,

T ( 0, x ) = T 0 ( x ) , x ∈ Ω , t = 0

with Ω ⊂ ℝ 2 an open bounded spatial domain with Lipschitz-continuous boundary ∂ Ω . v ∂ ( t , x ) represents the boundary control function on the temperature (the notation u is kept for the internal energy density). T ( t , x ) denotes the temperature at point x ∈ Ω and time t. ρ ∈ C ∞ ( Ω ) (positive and bounded from below) denotes the mass density, λ ∈ C ∞ ( Ω ) 2 × 2 (symmetric and coercive) the thermal conductivity. In the following Ω is assumed to be of rectangular shape.

We refer to [

We initialize here the Python object related to the energy formulation of the Heat_2D class of SCRIMP, that is assumed to be imported. This object will be used throughout this tutorial.

Energy corresponds to a class inherited from the Heat_2D base class. This base class contains implementations of the Lyapunov and entropy formulations as well.

The same lines of code as for the Wave_2D and Mindlin classes are used to define the constants related to the rectangular mesh.

The time interval related to the time discretization is specified similarly.

We provide the time step for the time discretization of the pHDAE as well.

Using FEniCS expressions, the physical parameters related to our model problem are defined.

The initial conditions of the problem related to the temperature and to the flow and effort variables are then given. The temperature follows a Gaussian behaviour for which we specify related parameters.

The spatial part of the boundary control function is defined next.

Finally we define the time-dependent part of the boundary control as a pure Python function. The whole boundary control function is then given as the product of the two quantities (Ub_sp0 and Ub_tm0, respectively).

We are now able to completely define the problem at the continuous level.

The structure-preserving discretization of the infinite-dimensional pHs with PFEM is described in detail in [

To perform the time integration of the pHDAE, we first need to set and interpolate the initial data and the boundary control function on the appropriate finite element spaces. Then, the time step is specified.

Now we perform the time integration of the resulting pHDAE system and deduce the behaviour of the energy variables, the Hamiltonian with respect to the time and space variables, respectively. For the time discretization, we employ a fully explicit scheme, presented in [

As an illustration, we plot the Hamiltonian function ( i.e. the internal energy) versus time. The Hamiltonian function is constant after 2 seconds, when the boundary control is switched off, as expected by the first law of thermodynamics.

We have provided a general structure for the theoretical and numerical solution of infinite-dimensional port-Hamiltonian systems. This structure is particularly appealing since PFEM straightforwardly applies. Concerning the numerical solution, PFEM offers the advantage to leverage robust software components for the discretization of boundary controlled PDEs and time integration.

We have applied this strategy to abstract multidimensional linear hyperbolic and parabolic boundary controlled systems. We have notably shown that model problems based on the wave equation, Mindlin equation and heat equation fit within this unified theoretical framework. Numerical simulations of infinite-dimensional pHs have been performed with the ongoing software project SCRIMP that has been briefly introduced. Finally, we have illustrated how to solve three case studies within this framework by carefully explaining the methodology, and have provided companion interactive Jupyter notebooks.

Besides the generalization of the classes related to the heat and wave equation to the three-dimensional case, we plan to propose in SCRIMP more advanced model problems based on the two-dimensional Shallow Water Equation (SWE) [

This work is supported by the project ANR-16-CE92-0028, entitled Interconnected Infinite-Dimensional systems for Heterogeneous Media, INFIDHEM, financed by the French National Research Agency (ANR) and the Deutsche Forschungsgemeinschaft (DFG). Further information is available at https://websites.isae-supaero.fr/infidhem/the-project.

Moreover the authors would like to thank Michel Salaün and Denis Matignon for the fruitful and insightful discussions.

The authors declare no conflicts of interest regarding the publication of this paper.

Brugnoli, A., Haine, G., Serhani, A. and Vasseur, X. (2021) Numerical Approximation of Port-Hamiltonian Systems for Hyperbolic or Parabolic PDEs with Boundary Control. Journal of Applied Mathematics and Physics, 9, 1278-1321. https://doi.org/10.4236/jamp.2021.96088