Abstract
This chapter develops the application of PGD methods for parametric problems, their natural field of application.
We have a habit in writing articles published in scientific journals to make the work as finished as possible, to cover all the tracks, to not worry about the blind alleys or to describe how you had the wrong idea first, and so on. So there isn’t any place to publish, in a dignified manner, what you actually did in order to get to do the work.
—Richard Feynmann
Access provided by Autonomous University of Puebla. Download chapter PDF
Keywords
- Parameter Setting Problem
- Influence Line
- Proper Generalized Decomposition Method
- Alternated Directions Fixed Point Algorithm
- Load Movement
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Parametric problems constitute perhaps the most relevant application of Proper Generalized Decomposition methods. Initially aimed at solving problems defined within a high dimensional phase space [6], PGD soon revealed an impressive ability to solve in the same setting parametric problems by just considering parameters as new dimensions, a sort of parametric phase space [27].
In this chapter we explore precisely these capabilities. Since they have also been included in a number of previous references, notably in former books (see [28], Chap. 5), we focus here on a particular instance of parametric problems: that of moving loads .
3.1 A Particularly Challenging Problem: A Moving Load as a Parameter
An influence line is a graphical representation of a given magnitude (a bending moment, for instance) at a given point of a beam caused by a unit load moving along the span of that beam. This concept has helped engineers through the years to design beam structures in an efficient manner. One can imagine, however, an extension of the concept of influence line to general, three-dimensional solids. This would give rise to a sort of response surface in which particularizing the parameter (the position of the load) provides in an immediate way the response of the solid (its deformed configuration, in this case). This sort of influence line has potentially many applications in science and engineering for real-time simulation in fields such as computational surgery [55], decision taking, or even augmented learning [60], see Fig. 3.1.
In fact, this problem has been frequently thought of as non separable , i.e., that the number of modes needed to express the solution is so big, that no gain is obtained by applying any kind of model order reduction technique and therefore it is better to simply simulate it in a straightforward manner, by finite element methods or any other numerical technique of your choice.
However, it can be easily found that this is not true. Consider the influence line sketched in Fig. 3.2. We consider a clamped beam with a moving load and try to compute its deformed configuration for the load acting at any point. In fact, by applying Proper Orthogonal Decomposition techniques to the results, it can readily be seen that the number of modes or shape functions needed to express this solution \(v=v(x,s)\) is in fact limited, see Fig. 3.3. Here, v denotes here the vertical displacement of the beam, x the particular point of the beam in which we want to know this displacement and s the position of the load,
As can be noticed from Fig. 3.3 (left), the eigenvalues decrease fast after a reasonable number of eigenmodes . Thus, even if we need to consider every possible load position, the number of functions needed to express the parametric solution is in fact reasonably limited.
3.2 The Problem Under the PGD Formalism
As will be noticed, under the PGD formalism, the influence line problem becomes simple. We generalize this problem so as to find the displacement field \(\varvec{u}(x,y,z)\) at any point of a three-dimensional solid \(\varOmega \), for any load position \(\varvec{s} \in {\bar{\varGamma }}\subset \partial \varOmega \).
Under these assumptions, the weak form of the problem will result after multiplying the strong form by an arbitrary test function \(\varvec{u}^*\) and integrating over the region occupied by the solid, \(\varOmega \), and the portion of its boundary which is accessible to the load, \({\bar{\varGamma }}\). It therefore consists in finding the displacement \(\varvec{u}\in \mathcal H^1\) such that for all \(\varvec{u}^*\in \mathcal H^1_0\):
where \(\varGamma =\varGamma _u \cup \varGamma _t\) represents the essential and natural portions of the boundary, and where \(\varGamma _t= \varGamma _{t1}\cup \varGamma _{t2}\), i.e., regions of homogeneous and non-homogeneous, respectively, natural boundary conditions. We assume, for simplicity of the exposition, that the load is of unity module and acts along the vertical axis: \(\varvec{t}=\varvec{e}_k \cdot \delta (\varvec{x}-\varvec{s})\), where \(\delta \) represents the Dirac-delta function and \(\varvec{e}_k\) the unit vector along the z-coordinate axis.
The Dirac-delta term needs to be approximated by a truncated series of separable functions in the spirit of the PGD method, i.e.,
where m represents the order of truncation and \(f^i_j, g^i_j\) represent the j-th component of vectorial functions in space and boundary position, respectively.
The PGD approach to the problem consists in finding, in a greedy way , a finite sum of separable functions to approach the solution. Assuming that, at iteration n of this procedure, we have converged to such an approximation, we have
where the term \(u_j\) refers to the jth component of the displacement vector, \(j=1,2,3\) and functions \(\varvec{F}^k\) and \(\varvec{G}^k\) represent the separated functions used to approximate the unknown field, obtained in previous iterations of the PGD algorithm.
If this rank- n approximation does not give the desired accuracy, we can proceed further and look for the (\(n+1\))th term, that will look like
where \(\varvec{R}(\varvec{x})\) and \(\varvec{S}(\varvec{s})\) are the sought functions that improve the approximation.
By just applying standard rules of variational calculus, the test function will be
To determine the new functions \(\varvec{R}\) and \(\varvec{S}\) any linearization strategy could in principle be applied. In our experience, a fixed-point algorithm in which functions \(\varvec{R}\) and \(\varvec{S}\) are determined iteratively gives very good results, even if convergence is not guaranteed, as is well known. We provide details of this strategy in the next section.
3.2.1 Computation of \(S(\varvec{s})\) Assuming \(R(\varvec{x})\) Is Known
In this case, the admissible variation of the displacement will be given by
or, equivalently, \(\varvec{u}^*(\varvec{x}, \varvec{s})=\varvec{R}\circ \varvec{S}^*\), where the symbol “\(\circ \)” denotes the so-called entry-wise, Hadamard or Schur multiplication for vectors. Once substituted into Eq. (3.1), gives
or, simply
where \(\mathcal R^n\) represents:
Since the symmetric gradient operates on spatial variables only, we have:
where all the terms depending on \(\varvec{x}\) are known. Therefore, all integrals over \(\varOmega \) and \(\varGamma _{t2}\) (support of the regularization of the initially punctual load) can be computed to obtain an equation for \(\varvec{S}(\varvec{s})\).
3.2.2 Computation of \(R(\varvec{x})\) Assuming \(S(\varvec{s})\) Is Known
By proceeding in the same way, we have
which, once substituted into Eq. (3.1), gives
Conversely, all the terms depending on \(\varvec{s}\) (load position) can be integrated over \({\bar{\varGamma }}\), leading to a generalized elastic problem to compute function \(\varvec{R}(\varvec{x})\).
3.3 Matrix Structure of the Problem
As stated before, see Eq. (3.3), the essential ingredient of PGD methods is to assume the variable (here, the displacement field) to be decomposed in the form of a finite sum of separable functions , i.e.,
where a dependency on the physical position of the considered point, \(\varvec{x}\) and the position of the applied load, \(\varvec{s}\) is assumed.
In the implementation introduced in Sect. 3.4 below, we enforce functions \(\varvec{G}^i\) to have unity norm. By doing that, the weighting parameter \(\alpha _i\) (see Eq. (2.2) is not computed explicitly, but assumed to multiply the \(\varvec{F}^i\) functions (which, therefore, do not have unity norm).
As in the previous chapter, \(\varvec{F}^i(\varvec{x})\) and \(\varvec{G}^i(\varvec{s})\) are approximated by employing (linear in this case) finite elements, so that, at iteration n, the i-th sum of the approximation will be given by
with \(\varvec{N}\) and \(\varvec{M}\) the vectors containing the finite element shape functions defined in each separated space and \(\varvec{F}^i\) and \(\varvec{G}^i\) the vectors of nodal values at the FE mesh for the functions \(\varvec{F}^i(\varvec{x})\) and \(\varvec{G}^i(\varvec{s})\), respectively. For simplicity and ease of reading, we have maintained the same notation employed in Eq. (2.8). The superscript h for the discrete, finite element approximation of a variable will no longer be employed, for clarity, if there is no risk of confusion.
The code included below solves the problem of a two-dimensional cantilever beam under a load placed at an arbitrary position along its upper face. Therefore, we assume a 2D spatial approximation on \(\varvec{x}\) (given by simple linear triangular elements) and 1D approximation for the \(\varvec{s}\) direction.
When we look for a new couple of functions in the approximation, we assume that
while
Very often, in parametric problems (like in this example) the derivatives appearing in the weak form of the problem, given by Eq. (3.4), are acting only spatial coordinates and not on the parameters, despite that in the PGD framework they are considered as actual “extra” coordinates. Therefore,
The terms defined before and depending on nodal values \(\varvec{F}_i\) and \(\varvec{G}_i\) (i.e., those corresponding to the already computed \(\varvec{u}^n\) approximation) are known, so they should be moved to the right-hand side of the final algebraic equation.
In a similar way,
The L.H.S. of the weak form, Eq. (3.4), can be easily expressed in separated form,
Since \(\varvec{R}\) and \(\varvec{S}\) represent vectors of nodal values for functions \(\varvec{R}(\varvec{x})\) and \( \varvec{S}(\varvec{s})\), respectively, they can be extracted from the integrals in Eq. (3.6), so as to give,
where \(\varvec{K1}(\varvec{x})\) represents a sort of stiffness matrix on the spatial coordinates \(\varvec{x}\), while \(\varvec{M2}(\varvec{s})\) represents a mass matrix for the 1D discretization problem in the \(\varvec{s}\) variable. Both of them are computed in routine elemstiff (see the call [K1,M2] = elemstiff(coors) in the main file of the code in Sect. 3.4).
We proceed similarly for the RHS term of the weak form, Eq. (3.4), and taking into account that the integrals involved in it do not depend on spatial coordinates, but only on the \(\varvec{s}\) coordinate, we arrive at
Denoting by \(\varvec{FR1}\) the nodal values of the source term decomposition for the spatial variables and by \(\varvec{FR2}\) for the load direction, Eq. (3.8) has the form,
As discussed in the introduction to this chapter, the problem of expressing the moving load as a finite sum of separable functions, i.e., \(\varvec{t} (\varvec{x}, \varvec{s})\approx \sum _{i=1}^m \varvec{f}^i(\varvec{x}) \varvec{g}^i(\varvec{s})\) is not separable. In other words, it can only be done in the discrete setting by choosing \(\varvec{FR1}\) to be a matrix of zeros (of size [# dof of the whole problem \(\times \) dof along the loaded boundary] and whose only non-vanishing entries are, for each column, the position of nodes that can receive a load. These entries will be equal to the value of the applied force. Respectively, \(\varvec{FR2}\) will be an identity matrix (eye(# dof along the loaded boundary) in Matlab terms). Each column in \(\varvec{FR1}\) thus includes the corresponding degree of freedom that is loaded. Note that, therefore,
To this R.H.S. vector we should add the terms related to the known solution up to iteration n, \(\varvec{u}^n(\varvec{x}, \varvec{s})\), Eq. (3.5),
In the Matlab code included in Sect. 3.4 we are employing the following notation: \(\varvec{V1}^i = \varvec{FR1}^i\) and \(\varvec{V2}^i = \varvec{M2} (\varvec{s}) \varvec{FR2}^i\) for \(i=1, \ldots , m\), so that Eq. (3.9) is expressed in the form
After some gymnastics, the weak form, Eq. (3.4), taking into account Eqs. (3.7), (3.10) and (3.11), will look in matrix form like
As mentioned before, in order to determine the new functional pair \(\varvec{R}\) and \(\varvec{S}\), any linearization strategy could be envisaged. Remember that the fact that we look for a product of functions makes the problem of enriching the approximation non-linear. In the code of Sect. 3.4, a fixed-point algorithm in which functions \(\varvec{R}\) and \(\varvec{S}\) are sought iteratively is implemented. Other strategies, like Newton-Raphson, for instance, could work equally well.
The final matrix form of the fixed-point alternating directions algorithm, in which the computation of \(\varvec{S}(\varvec{s})\) is performed, assuming that \(\varvec{R}(\varvec{x})\) is known, will look like
Equivalently, when we look for \(\varvec{R}(\varvec{x})\) assuming \(\varvec{S}(\varvec{s})\) is known, the resulting problem will have the following matrix form,
In next section the detailed Matlab code implementing this strategy is provided.
3.4 Matlab Code for the Influence Line Problem
As always, the code begins at file main.m, whose content is reproduced below. It solves the problem of a cantilever beam under a load placed at an arbitrary location along its top boundary. Small strains assumption is made. The code provides the solution under plane stress or plane strain conditions.
As in Chap. 2, what we call stiffness and mass matrices are computed in function elemstiff.m:
The enrichment procedure, i.e., the computation of a new functional pair \(\varvec{R}\), \(\varvec{S}\), is detailed in function enrichment.m:
The code makes use of a traditional, two-dimensional FEM code, whose structure is reproduced below. In fact, it returns the stiffness matrix \(\varvec{K}\) typical of these FEM programs.
Once executed, the code allows the user to choose interactively with the mouse the point in which the load is applied. It is implemented in an off-line/on-line approach , such that the modes (functional pairs) approximating the solution are first computed and (eventually) stored in memory. Then, in the on-line phase, the user can interactively play with the position of the load and see in real time the deformed configuration of the solid.
At a first instance, the mesh of the problem is shown, see Fig. 3.4. By clicking on it, the user can choose the particular placement of the load. The program gives immediately the deformed configuration of the beam, see Fig. 3.5.
Note that by simply typing on the Matlab command line the instruction trisurf(triangles.ConnectivityList,coords(:,1),coords(:,2),F(1:2:end,1)), the first spatial mode of the solution, namely \(\varvec{F}^1(\varvec{x})\) is represented, see Fig. 3.6. Equivalently, by typing plot(G(:,1)) the load modes \(\varvec{G}^i(\varvec{s})\) can be plotted, see Fig. 3.7. Notice the increasing frequency content of the modes in the load variable.
This algorithm has revealed to be very powerful. In fact, it is essentially the same employed to construct our virtual surgery simulator, see Fig. 3.8, able to provide response feedback in the order of kHz, thus amenable to be employed in haptic environments [56, 57] .
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2016 The Author(s)
About this chapter
Cite this chapter
Cueto, E., González, D., Alfaro, I. (2016). Parametric Problems. In: Proper Generalized Decompositions. SpringerBriefs in Applied Sciences and Technology. Springer, Cham. https://doi.org/10.1007/978-3-319-29994-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-29994-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-29993-8
Online ISBN: 978-3-319-29994-5
eBook Packages: EngineeringEngineering (R0)