Parametrized model order reduction for component-to-system synthesis
CC Attribution - NonCommercial - NoDerivatives 2.0 Generic:
You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Patera, Anthony T.
Parametrized PDE (Partial Differential Equation) Apps are PDE solvers which satisfy stringent per-query performance requirements: less-than or approximate 5-second problem specification time; less-than or approximate 5-second problem solution time, field and outputs; less-than or approximate 5% solution error, specified metrics; less-than or approximate 5-second solution visualization time. Parametrized PDE apps are relevant in many-query, real-time, and interactive contexts such as design, parameter estimation, monitoring, and education. In this talk we describe and demonstrate a PDE App computational methodology. The numerical approach comprises three ingredients: component => system synthesis, formulated as a static-condensation procedure; model order reduction, informed by evanescence arguments at component interfaces (port reduction) and low-dimensional parametric manifolds in component interiors (reduced basis techniques); and parallel computation, implemented in a cloud environment. We provide examples in acoustics and also linear elasticity.
 So the first title is the more methodological of the two and the second is for those more interested in applications and I'll discuss both in the course of the presentation. I'd like to acknowledge my industry partner Axelos, in particular my co-authors in this talk are Fung Ho and Loin Goen in the Vietnam office and also in Boston David Knezovich. I should emphasize that Axelos is a company that licenses technology that was developed in my research group over the past 10 years. But that I myself I have no financial interest in Axelos but I do have a great deal of intellectual interest in seeing what the software can do given many years of research. My academic collaborators are on this list for this particular talk in particular Catherine Smetana and Masayano. Again neither of these two collaborators or any of these collaborators has any financial interest in the Axelos software company. And my sponsors in case they're here or even if they're not. So first parameterize partial differential equations. I will go from the I will describe a general setting but let me start with some specifics which will inform the applications and illustrations that I give today. Acoustics the pressure is a function linear acoustics pressures a function of space and time is given by the real part of the product of the frequency domain pressure you and a complex exponential where f is frequency and we will use units of Hertz. The frequency domain pressure satisfies the well-known Helmholtz equation and you can see here this is the undisputed term this is the slight dissipation together they form a kappa which is essentially very close to one and you have the term here which represents the time harmonic behavior. This is the wave number squared and will play a central role essentially a non-dimensional frequency and one over 2 pi over K is the wavelength of the wave. And so this is the equation of departure for many of the applications that I will show. What is the difference between that equation and a parameterize PDE well all we need to is explicitly identify the parameters of interest in any particular PDE. So for Helmholtz acoustics I would choose the wave number k and parameters lambda related to the geometry. I can then introduce the map which is central to this talk which is the map from input parameter mu k and geometry to the field which depends on the parameter as well as any quantities of interest say scalars which also depend on the parameter. More abstractly we have a parameter and a compact parameter domain a P tuple if you like the field u mu satisfies the weak form the output then is a linear functional applied to the field and of course the parameter makes its way from the weak form through the field and then through the linear functional and finally to the output of interest. So that's the highly non-linear map between parameter and output even if of course the equation itself is linear in the field variables. So what do I mean by a model? A model is a particular problem definition, particular parameterization, a spatial domain which may depend on the parameter, a physical discipline in our parlance of PDE if you like and engineering outputs that may be relevant and a model is this a model essentially maps the parameter to the field and output as I just described. A family is a set of models which share a common discipline in engineering context so you could have a family of acoustic ducks which could be anything from musical instruments to audio equipment to mufflers, you could have a family of elastic shafts, you could have a family of historic structures and I'll give brief examples of the latter two and extensive examples of the first. What is a PDE app? The app here is originally application as Caroline indicated but these days of course an app has another connotation. It's intended to be a very simple at least on the surface piece of software which provides instantaneous gratification and so that's the use in which we use the term here. So a PDE app is software associated to a model which maps any parameter mu associated with that model to an approximate field and an approximate output the tilde here indicate approximate again both parameterized. Subject to performance requirements befitting of an app or at least the connotations associated with an app and since this is also intended to be a scientific inquiry they don't have to just be fast they have to be also to a certain extent correct. So there are requirements on both and here they are there are four fives. A deployed PDE app should satisfy a five second problem setup time how long it takes to say what you'd like to solve five second problem solution time of the PDE the field and the outputs five percent solution error specified metrics and five second field visualization time of the full three-dimensional field. The choice of five seconds of course everything has to be non-dimensionalized so where does five seconds come from? Five seconds comes from roughly the human attention span. It's because these are intended to be interactive those of you that teach probably think I'm being a little generous with the five seconds but in any event five seconds is a reasonable order of magnitude for how long you might be able to amuse somebody. All right so what is the model what is the paradigm behind the PDE app? Of course there are cases where the equation is simple enough that classical techniques implemented in an efficient fashion can meet those requirements but very often not. So we will pursue a model reduction paradigm and ultimately I will fill out this acronym though I do not expect you to remember it. So there are actually two stages offline and online let me omit this for the time being. The offline stage is very slow takes days and for a given family we form an online data set D. Then in the online stage which is very fast seconds given a PDE app we evaluate the input parameter to field an output map by virtue of this pre-stored online data set. Now of course you can only justify days in exchange for seconds if you're going to be using the same app many times the many query context or if there's an imperative on interaction. So these are the two contexts in which you can justify the offline in terms of the online. There is actually a second offline stage which is more related to software that is where we go from a family to a particular model and actually script the app which is then on a server which is the essentially the software we appeal to in this online stage. So offline online and we will exploit model reduction. All right computational methodology first the perspective in terms of genetic lines essentially the methods I'm describing here are not new they combine effectively two streams. The first stream is component mode synthesis which dates back almost half a century and from this stream we take the fundamental idea of component to system synthesis. The second stream is the reduced basis method and from this stream we take the notions of model order reduction for parametric systems so here's where the parameter enters in a central fashion. These two streams have been combined before most notably in the early 2000s by Evo Mede and Einar Ronquist and so what I'm describing today is one particular variation on the general theme of reduced basis element methods which combine components and model order reduction for parameterized systems and there are detailed references at the conclusion. So first component in the system synthesis I will need to introduce a few bits of nomenclature which have very obvious interpretations and as I'm describing these various pieces you can think of a set of virtual Lego blocks all right and then I think most of these concepts will become rather clear. The first concept is a parameterized archetype component from which we will manufacture other components instantiated components in the image of this archetype component. So I show here a bend you see it in the background this is for an acoustics collection there is a reference spatial domain and a reference finite element mesh the archetype component also has two ports you see port one port two is on the dark side of the moon on the other side so associated also with this bend another attribute is the finite element mesh details of the ports in terms of what type of port and mesh critically also though we associate to each archetype component a set of local parameters to that component new which must reside in a parameter domain curly v so for example the angle of sweep is a parameter as is the ratio of radii and also the wave number and we have mapping functions that I'll introduce later but also of course we must say what physics this archetype component is intended to simulate and in this case it's the equations of acoustics so this is an archetype component the key points are spatial domain reference mesh and ports as well as local parameters we then form a library of these archetype components so this is the library of acoustic ducts components in fact it's only a selection there are about 20 or 25 components in all and in each case here I show you the actually reference finite element mesh for the component and I also indicate either in red or yellow the ports of this component and it is through the ports that we will combine the components in order to form the systems in an obvious fashion admissible connections are by ports of common color which refer to a common port type so for example any of these red ports these components can be connected similarly these yellow ports can be connected and there could be many different port types in this particular collection there are two port types or if you like fiducial ports so how do we synthesize a model or how do we synthesize a system which relates to a model this is an exponential horn don't be confused by this dome that's not part of the horn that's actually a hemisphere in which we apply radiation boundary conditions out to infinity so the horn is characterized by an initial length the exponent of the horn the ratio of mouth to throat and finally the wave number and they must reside in this particular domain so this is a model a model parameter and a model parameter domain so how do we synthesize that well we take an inlet component from our little set of Legos and we put it right here we take three channels which we put here here and here we then take about 12 exponential horn components each of which have different local parameters to form the horn and finally we take this hemispherical radiation bubble so in this first stage we have now instantiated the archetype components into a set of components which can create the necessary system in the second stage the local port pairs indicated here in red coalesce into global ports because they are compatible by construction and we have now formed the model I should emphasize that mu is the model parameter which then induces in each component a associated local parameter value new so as to create the system so the local parameter values are different in each component so the archetype can instantiate different shapes through the parametric variation so that's how we form a typical model from components and you can now actually define more precisely what we mean by a model a model is essentially all possible component combinations subject to the fact that you need to combine or connect only ports that derive from a similar port type or fiducial port this is actually there's a horn inside here it's a an ongoing phone created by a Lloyd just as an illustration of flexibility it's actually quite close to a prototype for a base clarinet the only thing I want to emphasize is these actually are our holes in the side of the instrument and one of the parameters is the hole open or closed so that's a topological variation that's actually captured by the parameter and that corresponds to replacing one component with another component so you can have highly nonlinear system definition associated with these different models and we have actually in fact synthesized music not for this particular instrument but clarinets based on the techniques I'll describe today so the next step is finite element approximation which is standard except then I will make it more complicated the first issue is geometry mappings which is the foundation for the semrax project this year with which I'm involved with Yvon and Jean Baptiste and also Rashida and Caroline and so these mappings actually play a central role and tend to be a little bit neglected in terms of the mathematical and software foundations so the idea is that any archetype component D for a value of parameter new which relates to geometry say is a mapping curly T new of a reference spatial domain associated with a particular parameter value and furthermore the archetype component ports I will assume that all components have two ports they could have more these are the mappings from a fiducial port which I indicate here so in some sense we have for our particular library two fiducial ports this fellow as well as the annual list that you saw earlier for each reference spatial domain for each archetype component we map this this port to the associated port on the archetype component that ensures geometric compatibility and then we can vary the shape of this system through this all critical mapping curly T new we then associate each archetype component to reference finite element mesh which you actually saw on the previous slide and then associated say P1 or P2 finite element space of dimension curly nfe for finite element and a key point is that we require that for any V in this finite element space on local port 1 or local port 2 that the restriction of our function V and xh to the port is given is in the span of a set of fiducial port modes associated with each port type and that assures functional conformity as well as geometric conformity when I connect two different components so key point here is that the chi are port modes that represent the finite element functions on the two ports of the component the finite element space for a model is then just the direct sum of all the finite element spaces on all the little instantiated components of course intersected with x which provides the necessary which is h10 say which provides the necessary continuity and then we proceed with standard Galerkin projection we actually never formed this finite element system but that is the underlying truth approximation to which we then apply model reduction in order to accelerate the app response. Alright so now we take that formulation and we apply static condensation which dates again it's a roughly more than 50 years old it's a very standard technique in structural analysis as you can tell from that static adjective it also has a very nice mathematical formulation you've probably seen it before even if you haven't seen that term in terms of a sure complement so this is the procedure in our context in our language in a given instantiated component so remember my horn had 20 instantiated components so I now look at each one of those components separately and for each of its two modes port modes I'm sorry for each of its two ports remember a port on one side of the bend and on the other and for each port mode J on each of those two ports those are the finite element functions on the ports we create a function psi which is the lifting of the port mode into the interior of the reference domain and then a function phi which is this lifting plus a bubble function eta which such that phi actually satisfies the finite element equations in the interior of the component subject to the port boundary conditions that is this phi is actually a harmonic lifting of chi such that the equations are satisfied in the interior so once I have these phi functions I know that let me first actually provide a brief detail so these these bubble functions right because these already satisfy the boundary these aides are bubble functions they satisfy the weak form of the PDE in the interior and I just indicated here so you can see it's very standard stuff these are the finite element coefficients k is the index associated with the finite element say nodal basis functions this is the system of equation satisfied these are the standard weak form associated with the acoustics Helmholtz operator and this is a system of curly n fe by curly n fe of system of size curly n fe by curly n fe so if I have those bubble functions then I can form these sort of if you like greens functions or solutions of the PDE in the interior that means that I can represent the solution in the interior by unknown coefficients times these fee functions because these fee functions by construction satisfy the equation in the interior and once I have the solution in the interior I can form a stiffness matrix which relates the normal velocities on the local ports and port modes to the pressure on the local ports and port modes this is a standard next step in domain decomposition and in our particular case the stiffness matrix as you would expect takes the form of the bilinear form trial function and I'm sorry test function trial function test function trial function and you see that it's rather special because the bubble function enters into this stiffness matrix because they're ad hoc functions that actually satisfy the partial differential equation so now I have a stiffness matrix at the level of the component in terms of port degrees of freedom and I now require continuity pressure we continuity of normal velocity that's a standard procedure in the software context of direct stiffness I take my little elemental I'm sorry component stiffness matrices I stamp them into a global shore complement similarly for the force and I find at the end a block sparse shore complement solution of which will yield the full finite element solution in terms of the degrees of freedom on the port the two issues with this technique which is why in its native form it's not used at present is that its size will be large this is the number of global ports which may be small say 10 or 20 but this is the number of degrees of freedom on each port which could easily be in the hundreds or or potentially even many hundreds because these are two-dimensional surfaces for three-dimensional components and furthermore not only will the system be large and therefore costly to invert it will be very costly to form and why is that well remember that this is assembled from these stiffness matrices associated with the components the stiffness matrices with the components have bubble functions and the bubble functions for each component and for each port and for each port mode in other words thousands of them each satisfy an equation which corresponds to a large finite element system within the interior of the component so it's very expensive to form and it's very expensive to solve so the idea is to apply model order reduction and it's a very simple idea that's largely explained by this slide and then I'll fill it in with a few details so remember before in a given and stand shaded port and for each local port and port mode I created some lifting and then some bubble functions well I do the same except now I truncate the number of port modes and M will be in the examples I give 11 whereas JFE would be on the order of several hundred and furthermore I replace the bubble functions with approximations derived from a reduced basis space with n degrees of freedom where n will typically be on the order of 20 to 50 compared to curly n which can easily be on the order of 100,000 so there are two levels of model reduction here the first is I truncate the representation on the port of each of the components the second is that I look for an approximation to the bubble functions in a low dimensional space tailored to each component each port and each port mode but I should emphasize that this one space will serve all archetype components and has all instantiations of a given archetype component so let me just mention that these coefficients in front of our new the coefficients associated with our new bubble functions this is the these are the basis functions of my reduced basis space they satisfy a system of n by n equations so much less expensive than before so I now can assume that these are relatively inexpensive and that I have relatively few port modes I can now represent the field in the interior of the component instantiated component in terms of unknown coefficients times these approximate solutions to the PDE I then conform a stiffness matrix as before but now notice that these are approximate bubble functions that will be much less expensive to compute and I can then assemble them in an approximate sure complement and the sure complement is much smaller because I only retain 10 port modes they compared to several hundred and it's much more readily computed because these bubble functions which are solutions of the PDE are approximated with a an ad hoc in the positive sense reduced basis space tailored to that particular function parametric manifold as I'll describe shortly all right so why should this work this is this would work if m and n were small why should there be only a few port modes for a complicated acoustic system why should there only be say 20 or 30 modes needed to approximate these bubble functions the solution of the partial differential equation well let me treat first the port reduction and why should m the number of port modes that I actually need to represent the function be much less than the number of finite element degrees of freedom well I consider a simple waveguide p here is pressure I impose g and I require that I have a bounded radiating wave at infinity outgoing I'm sorry and I introduce the eigen system associated with the cross stream across plan form as epsilon and lambda eigen values and eigen functions and I can then write explicitly this is classical separation of variables the solution and you will see that for a typical wave number there are only very few propagating modes and all of the other modes in the system decay those are known as evanescent modes that's a classical result in acoustics and of course if you don't have acoustics there's no k and of course that's just the elliptic equation the decay of modes by separation of variables and what does that say so that says if I have a system and I look at one particular port all the information coming from nearby and afar is all filtered before it arrives at my port because I have most of the modes which are decaying and only a very few which propagate so that implies that in fact I should be able to find a low dimensional space on which all of the restrictions to the port reside right so how do you actually find that we have several methods I'm going to show the simplest most intuitive here we go through all pairs of archetype components and let's denote the left fellow left and the right fellow right so this is a side hole for a musical instrument this is a duct left and right and I have a left and a right port which is exposed and I have a port on which I am going to collect data how do I collect the data I solve the PDE of interest over this domain with a rich set of Dirichlet conditions left and right and a rich set of admissible parameters in these two domains I collect on this port of interest all of the restrictions of the solution in a set S and I then apply a POD so that's the sense in which the dimension is small and that's the sense in which we're able to find that low dimensional space. All right how about the bubble reduction why do I need a low dimensional reduced basis space rather than a high dimensional finite element trace space well for any archetype component to the library for any local port and for any local port mode I remind you that Ada is the harmonic lifting into the reference domain of the port mode namely the solution to the PDE now that resides in a high dimensional space but it also resides in a low dimensional smooth manifold because we're only interested in parameters new that lie in a compact domain curly V and why is this a low dimensional space an important point to note that relates to the Semrax project is that all of these solutions for any value of the parameter for any instantiations of this component are registered on a common reference domain and that's what ensures that if you have a sharp domain although the solution say at the corner may not be regular if as the corner moves all the solutions are pulled to a reference domain then in fact the smoothness is embedded in the manifold all right so that's a key point for the approach and I'd also like to point out that typically a component only has a few parameters say V say 3 or 4 the model may have hundreds of parameters and so in some sense a typical problem with reduced basis methods is too many parameters and with components you basically divide and conquer how do we find this space for each archetype component for each local port for each port mode we form this reduced basis space is a Lagrangian snapshot space that is we sample the solutions for different parameter values take the span for quasioptimum optimal parameter values that correspond to different new in the parametric domain associated with that archetype component these are selected by a reduced basis if you like weak greedy procedure the first reference to that is a paper with Karen Veroy and Christof Foudon in fact and if I recall correctly I would say that probably the first person to propose it was indeed Christof that has subsequently become very popular in fact now is on a very firm theory thanks to a number of different groups who have shown that you get close to a common gore of n-width with these kinds of techniques remarks optimality so I just foreshadowed that first result under certain hypotheses the best fits associated with the port reduced spaces and the bubble reduced spaces convert converge at rates similar to the corresponding common gore of m or respectively n-width so the spaces have good approximation properties of course that's only half the battle the other half of the battle is stability and the Glerkin projections are of course optimal but only to with in a model and discretization dependence stability constant all right and I'll come back to that point shortly so that's the first remark second remark is verification and validation so we do exploit a posteriori error indicators in order to choose optimally our snapshots and choose them efficiently and also to choose the discretization cutoffs m and n but the first point is that these are not rigorous a posteriori error bounds their error indicators so they cannot necessarily serve in verification so how do we verify well each model is verified over usually a subset of the model parameter domain we can confirm H m and n in terms of refinement studies decrease H increase m increase n we refer to appropriate closed form approximations and we compared a third party computations and experiments I would also like to say that the library notion is to a certain extent socialist in the sense that each model that you develop and you validate and verify those same components serve in other models so in fact the library as a whole converges because as you improve one model then all the others in fact are also improved and we see that effect in the first two weeks when we get a new library we find all sorts of problems and slowly over time we find less and less problems as we increase m and n or choose different optimal parameters and choose different functions all right computational procedure and then I'll turn to the examples so the offline stage at present this offline stage for the particular problems I will present is performed in a factory in Ho Chi Minh City not a real factory a virtual Lego factory and what is prepared in that in that stage offline well we form the online data set archetype component reference meshes are constructed we identify where they identify the mappings which allow us to proceed from the reference domain to a wide family of parametric geometric variations we find the optimal set of port modes we find the optimal reduced basis spaces and we we identify parameter independent inner products which we store in D now one last detail and that's the final for the talk I just wanted to point out that the stiffness matrix at the component level for the reduced basis and port reduced system takes this form and you'll notice this depends on parameter which would make it quite expensive to form but I can express this in terms of parameter dependent coefficients real numbers or complex numbers times parameter independent basis functions so you see that we could pre store this quantity offline and then form it online as a simple sum but not quite because you'll notice these geometric transformation factors depend on the geometric parameters you knew and for that reason we need to apply a second eim expansion to represent these in affine form so that's the final little bit in order to make all the pieces work quickly in the online stage so that's the that's the offline stage note we never form a model in the offline stage only pairs of components so the system can be of size 10 million and we'll never see it because we only get to models later and all models that we subsequently form and evaluate can amortize this effort is not just one model but it's literally hundreds of models in the online stage implemented in a in a cloud context the user inputs the parameter we then synthesize the model from a script and that's done by a model server which is created in the offline two stage for each model in the offline two stage we prepare or script the app which is then uploaded as a server once the model server specifies the program of the problem this is sent to the compute server which invokes the online data set forms and solves a sure complement calculates the field and output and download and displays the solution so that's the entire process all of this resides in the cloud and is all that is through a web user interface which is effectively a browser alright so onto the examples and I will start let's say I will I will first I've included a demo because just because it may fail and and that's it adds some element of excitement but but I also have a self-contained set of results that are more scientific so the first result is a flanged exponential horn horns can be flanged or unflanged a flanged horn is one like you have an audio speaker where it comes out and there's a wall behind it unflanged is the case like a musical instrument where the sound goes everywhere alright so this first one is a flanged exponential horn I introduced that earlier and the you can see the parameter domain is quite extensive and what I show here is just one result from the PD app this is the throat impedance which is how you characterize horns and audio systems to determine their or one of the ways and what I show here the app is in red and previous boundary element calculations are in blue these also agree with experiment this is therefore both verification and validation these you notice that the wave number here relative to the mouth goes up to 10 that means there are many wavelengths alright per unit length in the axial direction therefore difficult calculation this is actually what the pressure field looks like at the outlet and this is the far field calculated in terms of a spherical harmonic expansion and again these three lines are previous experiment computation and our results and this is measured in db alright which is a logarithmic scale so each unit here is is about 10% error okay so you can see even for very small pressures way out here the accuracy is good to within 5 to 10% alright next example is an expansion chamber this is a very crude form of a muffler have an inlet duct you have an expansion chamber then you have a contraction down to an exit duct we can vary many of the parameters I show here a comparison between the PD app for the transmission loss transmission loss large means noise small alright so ideally you want infinite transmission loss that means that no sound is radiated out at the other end of the muffler all of it is reactively reflected back these are non-dissipative mufflers not not resistive mufflers and what you see again is the PD app in red compared to previous boundary elements and also previous experiments at this point the solution becomes non-planar right after this resonance and we still agree with the experiment I don't know what happened to the boundary elements but they didn't seem to make it through this transition but in any event we still agree with experiment and this is an example of what the pressure looks like inside the muffler it is no longer a plane wave it has radial dependence alright the next example I will do as a as a demo in principle alright so the first thing that can fail is that the server has gone down alright so what I've done here is I've actually in order to save a little pre-processing time I've cheated I actually already launched the PD app server which is the server that knows how to specify this particular app and this particular app that was not good sorry let me well actually let me go back I'll show you down here actually so this particular app is an acoustic bend I have velocity at one end impose zero velocity at the other end the parameters that I can vary with this app are indicated here this the pre-length before the bend the length after the bend the ratio of the bend radius to the duct radius the bend angle from 30 to 180 degrees the wave number which can go up to the first appearance of three-dimensional modes at the inlet and velocity boundary conditions so I now ask the system to solve this particular case but I'm not going to do that because Feng who writes this software has lots of tricks so he caches things so if you happen to ask for one of the parameters that you've asked for say in the past day he stored them somewhere in the cloud so it looks like the software is much faster than it actually is so in order to actually gauge time so so my day do you want to give me a bend angle between 30 and 180 it can't do 72 okay alright 72 alright so I say update model it says solving and it's solved in the time you just saw alright so it solves 200 partial differential equations in 3d for 200 different wave numbers and then calculates the inlet impedance and then downloads the pressure field for one of those wave numbers alright so that happens all in the time indicated and if you go to the bottom that looks like that looks roughly like 72 degrees or so from the other and you see the bend and what you also see is that in fact the flow not the flow the acoustic field becomes three-dimensional because you excite three-dimensional duct modes in the process of taking that turn and at the bottom you also have the results of the 200 wave numbers I can ask to see for example the inlet impedance and this is the imaginary part in green which corresponds to the resonances in that system and so then you can query for different values of the parameter and and there's also a variety of ways to visualize the solution on different planes and all of it is intended to give you on the order of five second turnaround right for each of these results and so that demo worked and I did not even cheat because I did not take advantage of the caching alright so I think that's reasonably I wouldn't say completely honest but reasonably honest alright so is the answer right so again let me show a result for this same problem so this is the geometry these are the parameters that we can vary sweep angle ratio of radii pre-length post-length and wave number you just saw this little demo by the way the first page I did not show is where you pick the PD app you wish to solve and that invokes the right server and that brings you to the next page which is what you saw and that brings you to the solutions okay this is a comparison with experiment and prior theory and in fact prior computation this is the inlet impedance as a function of frequency and what you see is the PD app in red and it falls very close to the blue dots which are the theory but it falls even closer to the to this red line I'm sorry the green and the red and that's actually experiment and you see these lines that look like they're unrelated this is if I take that that bend in the duct and I straighten it out and take an effective length straight duct you can see that you miss completely these resonances and you even in fact miss a low resonance which is one of the reasons why people know that bends and musical instruments have a non-trivial effect on the inlet impedance not necessarily on the reflection coefficient but it's the inlet impedance which is what's felt by the reed or the lips and it's the interaction of that nonlinear system that generates the sound that you hear and so this is the crucial function that serves in that capacity and if you get it wrong of course you'll get the wrong sounds alright and there's the visualization with a fully three-dimensional pressure field this corresponds to roughly half a million finite element degrees of freedom the response time including the download from the net and and phone uses a number of parallel download tricks as well as parallel processing in the cloud there's a feature by which you can send different sets of wave numbers to different machines on the cloud and therefore get the result that much quicker in this particular case the response time is eight point four we were shooting for five on the other hand we got two hundred PDEs so perhaps you'll get us with a little little slack alright so this last example has a slide which probably is the most interesting of the talk which you may think is doesn't have much competition but nevertheless it's potentially the slide which merits most attention so this is an extent extended tube expansion chamber this is what most even simpler mufflers have at least this structure where you can see that the tubes come into the chamber left and right and these can the lengths can be tuned in order to provide much better reactive muffler reflection of waves and of course it's interesting numerically because there are a lot more parameters so we've also created an app for this the the black dots are experiment the red is the PDE app and the dash blue here is boundary element you'll notice that the PDE app actually does better than the boundary element and the reason is we have ten to the minus five dissipation the boundary integral has boundary element has zero the real physical system has somewhere in between the two but you'll notice that some of these dips are characteristic and shifts of a slight bit of dissipation which in this case is almost or more realistic than no dissipation if the dissipation is sufficiently small alright so this is effectively the end of the talk I'll show you one example and then a few pictures but what I wanted to comment here was that so this is a result we had the result we compared with experiment it compares beautifully and I was idly trying another case with the PDE app for this same configuration you can't see the tubes inside and this was the result that I obtained right so this is two-dimensional inlet axi-symmetric inlet axi-symmetric outlet axi-symmetric geometry three-dimensional pressure field so the first thought the more benign thought right is that this is a physical instability there actually are duct modes in 3d which have resonances earlier alright than axi-symmetric duct modes their cutoff frequency is in fact lower so what could have happened if this was a physical instability was that there actually is a resonant mode present but it's 3d a little bit of numerical noise then stimulates the result that you see here so this would not be a physical result but it would be a result which is physically relevant because it's indicating that there is in fact a nearby resonance alright so next what I did was I actually went in by hand and I asked for a different number of components in this gap so this is the same problem on the right alright same physical parameters but a different discretization and you see that the 3d effect has disappeared so now the question is why is that and there are two possible reasons one is that it could still be true that there's a resonance nearby but there's less perturbation in the third direction if you like due to the solution algorithm in this case we don't see it or it could be that this is more of a numerical instability than a physical instability so how do we distinguish between those two well a physical instability just means that the imp soup gets very close to zero except perhaps for a small dissipation term and that could certainly give rise to a system like this what do we mean by numerical stability we would mean that the imp soup of our discretization is greater than the imp soup of the finite element so it would be possible that I could have this instability because the numerical imp soup if you like goes to zero in which case this could be entirely spurious or it could be that simply that the imp soup is relatively small and I'm seeing the manifestation of that instability so the obvious thing to do and we have not yet done it yet because this is a large commercial code is calculate the imp soup and to look at that compared to the finite element and if the finite element is very small then we're seeing a stimulated 3D effect which is in some sense real if the finite element is much larger imp soup than the actual computational then we need to work on new training and projection techniques okay alright so that is really the point that requires more subtle analysis otherwise I think the apps I've shown you're in pretty good shape you can also treat problems in linear elasticity this is a family of shafts and you can make shafts with notches with fillets with grooves with holes that are through holes for various reasons for cotter pins say these are typical solutions you see stress concentration factors which we've confirmed are accurate typically to within a few percent these are the components from which you can make these shafts in each we saw the equations of linear elasticity with ports as indicated in blue and red we then have these archetype components which we can form into a system by essentially the same fashion as an acoustics we then coalesce the ports to get our system and then the underlying stitch together finite element mesh so you can see that now this is a real shaft from a design handbook this is the model we can form these are the breakdowns into components and then these are the axial displacements in various stresses so now you have a design tool which takes a matter of seconds in order to analyze three dimensional linearisticity for these kinds of shaft systems which share a common set of engineering components and last example are what architects call lentils but we think of more commonly as arches so here we can think of having historic structures that either have roman arches or gothic arches we could have beams or we could also have for the modern era I beams and we could then form from these systems gluing together as before an example of a component is the I beam which I've shown here here are the components with all the different colored ports and that allows me to form say this roman arch or colonnade as the architects call it from these three components here combined in the fashion shown so that's an example of application I showed you three different physical domains I tried to illustrate how they're all put together in an app context and finally give you some sense of the numerics that's under the hood that allows us to get these five second turnaround for finite element problems that sometimes have many many million degrees of freedom thank you. Thank you. Thank you.
 So the first title is the more methodological of the two and the second is for those more  interested in applications and I'll discuss both in the course of the presentation.  I'd like to acknowledge my industry partner Axelos, in particular my co-authors in this  talk are Fung Ho and Loin Goen in the Vietnam office and also in Boston David Knezovich.  I should emphasize that Axelos is a company that licenses technology that was developed  in my research group over the past 10 years.  But that I myself I have no financial interest in Axelos but I do have a great deal of intellectual  interest in seeing what the software can do given many years of research.  My academic collaborators are on this list for this particular talk in particular Catherine  Smetana and Masayano.  Again neither of these two collaborators or any of these collaborators has any financial  interest in the Axelos software company.  And my sponsors in case they're here or even if they're not.  So first parameterize partial differential equations.  I will go from the I will describe a general setting but let me start with some specifics  which will inform the applications and illustrations that I give today.  Acoustics the pressure is a function linear acoustics pressures a function of space and  time is given by the real part of the product of the frequency domain pressure you and a  complex exponential where f is frequency and we will use units of Hertz.  The frequency domain pressure satisfies the well-known Helmholtz equation and you can  see here this is the undisputed term this is the slight dissipation together they form  a kappa which is essentially very close to one and you have the term here which represents  the time harmonic behavior.  This is the wave number squared and will play a central role essentially a non-dimensional  frequency and one over 2 pi over K is the wavelength of the wave.  And so this is the equation of departure for many of the applications that I will show.  What is the difference between that equation and a parameterize PDE well all we need to  is explicitly identify the parameters of interest in any particular PDE.  So for Helmholtz acoustics I would choose the wave number k and parameters lambda related  to the geometry.  I can then introduce the map which is central to this talk which is the map from input  parameter mu k and geometry to the field which depends on the parameter as well as any quantities  of interest say scalars which also depend on the parameter.  More abstractly we have a parameter and a compact parameter domain a P tuple if you  like the field u mu satisfies the weak form the output then is a linear functional applied  to the field and of course the parameter makes its way from the weak form through the field  and then through the linear functional and finally to the output of interest.  So that's the highly non-linear map between parameter and output even if of course the  equation itself is linear in the field variables.  So what do I mean by a model?  A model is a particular problem definition, particular parameterization, a spatial domain  which may depend on the parameter, a physical discipline in our parlance of PDE if you like  and engineering outputs that may be relevant and a model is this a model essentially maps  the parameter to the field and output as I just described.  A family is a set of models which share a common discipline in engineering context so you could  have a family of acoustic ducks which could be anything from musical instruments to audio  equipment to mufflers, you could have a family of elastic shafts, you could have a family  of historic structures and I'll give brief examples of the latter two and extensive examples  of the first.  What is a PDE app?  The app here is originally application as Caroline indicated but these days of course  an app has another connotation.  It's intended to be a very simple at least on the surface piece of software which provides  instantaneous gratification and so that's the use in which we use the term here.  So a PDE app is software associated to a model which maps any parameter mu associated with  that model to an approximate field and an approximate output the tilde here indicate  approximate again both parameterized.  Subject to performance requirements befitting of an app or at least the connotations associated  with an app and since this is also intended to be a scientific inquiry they don't have  to just be fast they have to be also to a certain extent correct.  So there are requirements on both and here they are there are four fives.  A deployed PDE app should satisfy a five second problem setup time how long it takes to say  what you'd like to solve five second problem solution time of the PDE the field and the  outputs five percent solution error specified metrics and five second field visualization  time of the full three-dimensional field.  The choice of five seconds of course everything has to be non-dimensionalized so where does  five seconds come from?  Five seconds comes from roughly the human attention span.  It's because these are intended to be interactive those of you that teach probably think I'm  being a little generous with the five seconds but in any event five seconds is a reasonable  order of magnitude for how long you might be able to amuse somebody.  All right so what is the model what is the paradigm behind the PDE app?  Of course there are cases where the equation is simple enough that classical techniques  implemented in an efficient fashion can meet those requirements but very often not.  So we will pursue a model reduction paradigm and ultimately I will fill out this acronym  though I do not expect you to remember it.  So there are actually two stages offline and online let me omit this for the time being.  The offline stage is very slow takes days and for a given family we form an online data  set D.  Then in the online stage which is very fast seconds given a PDE app we evaluate the input  parameter to field an output map by virtue of this pre-stored online data set.  Now of course you can only justify days in exchange for seconds if you're going to be  using the same app many times the many query context or if there's an imperative on interaction.  So these are the two contexts in which you can justify the offline in terms of the online.  There is actually a second offline stage which is more related to software that is where  we go from a family to a particular model and actually script the app which is then  on a server which is the essentially the software we appeal to in this online stage.  So offline online and we will exploit model reduction.  All right computational methodology first the perspective in terms of genetic lines  essentially the methods I'm describing here are not new they combine effectively two streams.  The first stream is component mode synthesis which dates back almost half a century and  from this stream we take the fundamental idea of component to system synthesis.  The second stream is the reduced basis method and from this stream we take the notions of  model order reduction for parametric systems so here's where the parameter enters in a  central fashion.  These two streams have been combined before most notably in the early 2000s by Evo Mede  and Einar Ronquist and so what I'm describing today is one particular variation on the general  theme of reduced basis element methods which combine components and model order reduction  for parameterized systems and there are detailed references at the conclusion.  So first component in the system synthesis I will need to introduce a few bits of nomenclature  which have very obvious interpretations and as I'm describing these various pieces you  can think of a set of virtual Lego blocks all right and then I think most of these concepts  will become rather clear.  The first concept is a parameterized archetype component from which we will manufacture other  components instantiated components in the image of this archetype component.  So I show here a bend you see it in the background this is for an acoustics collection there  is a reference spatial domain and a reference finite element mesh the archetype component  also has two ports you see port one port two is on the dark side of the moon on the other  side so associated also with this bend another attribute is the finite element mesh details  of the ports in terms of what type of port and mesh critically also though we associate  to each archetype component a set of local parameters to that component new which must  reside in a parameter domain curly v so for example the angle of sweep is a parameter  as is the ratio of radii and also the wave number and we have mapping functions that  I'll introduce later but also of course we must say what physics this archetype component  is intended to simulate and in this case it's the equations of acoustics so this is an  archetype component the key points are spatial domain reference mesh and ports as well as  local parameters we then form a library of these archetype components so this is the  library of acoustic ducts components in fact it's only a selection there are about 20 or  25 components in all and in each case here I show you the actually reference finite element  mesh for the component and I also indicate either in red or yellow the ports of this  component and it is through the ports that we will combine the components in order to  form the systems in an obvious fashion admissible connections are by ports of common color which  refer to a common port type so for example any of these red ports these components can  be connected similarly these yellow ports can be connected and there could be many different  port types in this particular collection there are two port types or if you like fiducial  ports so how do we synthesize a model or how do we synthesize a system which relates  to a model this is an exponential horn don't be confused by this dome that's not part of  the horn that's actually a hemisphere in which we apply radiation boundary conditions out  to infinity so the horn is characterized by an initial length the exponent of the horn  the ratio of mouth to throat and finally the wave number and they must reside in this particular  domain so this is a model a model parameter and a model parameter domain so how do we  synthesize that well we take an inlet component from our little set of Legos and we put it  right here we take three channels which we put here here and here we then take about  12 exponential horn components each of which have different local parameters to form the  horn and finally we take this hemispherical radiation bubble so in this first stage we  have now instantiated the archetype components into a set of components which can create  the necessary system in the second stage the local port pairs indicated here in red coalesce  into global ports because they are compatible by construction and we have now formed the  model I should emphasize that mu is the model parameter which then induces in each component  a associated local parameter value new so as to create the system so the local parameter  values are different in each component so the archetype can instantiate different shapes  through the parametric variation so that's how we form a typical model from components  and you can now actually define more precisely what we mean by a model a model is essentially  all possible component combinations subject to the fact that you need to combine or connect  only ports that derive from a similar port type or fiducial port this is actually there's  a horn inside here it's a an ongoing phone created by a Lloyd just as an illustration  of flexibility it's actually quite close to a prototype for a base clarinet the only thing  I want to emphasize is these actually are our holes in the side of the instrument and one  of the parameters is the hole open or closed so that's a topological variation that's  actually captured by the parameter and that corresponds to replacing one component with  another component so you can have highly nonlinear system definition associated with these different  models and we have actually in fact synthesized music not for this particular instrument but  clarinets based on the techniques I'll describe today so the next step is finite element approximation  which is standard except then I will make it more complicated the first issue is geometry  mappings which is the foundation for the semrax project this year with which I'm involved  with Yvon and Jean Baptiste and also Rashida and Caroline and so these mappings actually  play a central role and tend to be a little bit neglected in terms of the mathematical  and software foundations so the idea is that any archetype component D for a value of parameter  new which relates to geometry say is a mapping curly T new of a reference spatial domain  associated with a particular parameter value and furthermore the archetype component ports  I will assume that all components have two ports they could have more these are the mappings  from a fiducial port which I indicate here so in some sense we have for our particular  library two fiducial ports this fellow as well as the annual list that you saw earlier  for each reference spatial domain for each archetype component we map this this port  to the associated port on the archetype component that ensures geometric compatibility and then  we can vary the shape of this system through this all critical mapping curly T new we then  associate each archetype component to reference finite element mesh which you actually saw  on the previous slide and then associated say P1 or P2 finite element space of dimension  curly nfe for finite element and a key point is that we require that for any V in this  finite element space on local port 1 or local port 2 that the restriction of our function  V and xh to the port is given is in the span of a set of fiducial port modes associated  with each port type and that assures functional conformity as well as geometric conformity  when I connect two different components so key point here is that the chi are port modes  that represent the finite element functions on the two ports of the component the finite  element space for a model is then just the direct sum of all the finite element spaces  on all the little instantiated components of course intersected with x which provides  the necessary which is h10 say which provides the necessary continuity and then we proceed  with standard Galerkin projection we actually never formed this finite element system but  that is the underlying truth approximation to which we then apply model reduction in  order to accelerate the app response.  Alright so now we take that formulation and we apply static condensation which dates again  it's a roughly more than 50 years old it's a very standard technique in structural analysis  as you can tell from that static adjective it also has a very nice mathematical formulation  you've probably seen it before even if you haven't seen that term in terms of a sure  complement so this is the procedure in our context in our language in a given instantiated  component so remember my horn had 20 instantiated components so I now look at each one of those  components separately and for each of its two modes port modes I'm sorry for each of  its two ports remember a port on one side of the bend and on the other and for each port  mode J on each of those two ports those are the finite element functions on the ports  we create a function psi which is the lifting of the port mode into the interior of the  reference domain and then a function phi which is this lifting plus a bubble function eta  which such that phi actually satisfies the finite element equations in the interior of  the component subject to the port boundary conditions that is this phi is actually a  harmonic lifting of chi such that the equations are satisfied in the interior so once I have  these phi functions I know that let me first actually provide a brief detail so these these  bubble functions right because these already satisfy the boundary these aides are bubble  functions they satisfy the weak form of the PDE in the interior and I just indicated here  so you can see it's very standard stuff these are the finite element coefficients k is the  index associated with the finite element say nodal basis functions this is the system  of equation satisfied these are the standard weak form associated with the acoustics Helmholtz  operator and this is a system of curly n fe by curly n fe of system of size curly n fe  by curly n fe so if I have those bubble functions then I can form these sort of if you like  greens functions or solutions of the PDE in the interior that means that I can represent  the solution in the interior by unknown coefficients times these fee functions because these fee  functions by construction satisfy the equation in the interior and once I have the solution  in the interior I can form a stiffness matrix which relates the normal velocities on the  local ports and port modes to the pressure on the local ports and port modes this is  a standard next step in domain decomposition and in our particular case the stiffness matrix  as you would expect takes the form of the bilinear form trial function and I'm sorry  test function trial function test function trial function and you see that it's rather  special because the bubble function enters into this stiffness matrix because they're  ad hoc functions that actually satisfy the partial differential equation so now I have  a stiffness matrix at the level of the component in terms of port degrees of freedom and I  now require continuity pressure we continuity of normal velocity that's a standard procedure  in the software context of direct stiffness I take my little elemental I'm sorry component  stiffness matrices I stamp them into a global shore complement similarly for the force and  I find at the end a block sparse shore complement solution of which will yield the full finite  element solution in terms of the degrees of freedom on the port the two issues with this  technique which is why in its native form it's not used at present is that its size  will be large this is the number of global ports which may be small say 10 or 20 but  this is the number of degrees of freedom on each port which could easily be in the hundreds  or or potentially even many hundreds because these are two-dimensional surfaces for three-dimensional  components and furthermore not only will the system be large and therefore costly to invert  it will be very costly to form and why is that well remember that this is assembled from  these stiffness matrices associated with the components the stiffness matrices with the  components have bubble functions and the bubble functions for each component and for each  port and for each port mode in other words thousands of them each satisfy an equation  which corresponds to a large finite element system within the interior of the component  so it's very expensive to form and it's very expensive to solve so the idea is to apply  model order reduction and it's a very simple idea that's largely explained by this slide  and then I'll fill it in with a few details so remember before in a given and stand shaded  port and for each local port and port mode I created some lifting and then some bubble  functions well I do the same except now I truncate the number of port modes and M will  be in the examples I give 11 whereas JFE would be on the order of several hundred and furthermore  I replace the bubble functions with approximations derived from a reduced basis space with n degrees  of freedom where n will typically be on the order of 20 to 50 compared to curly n which  can easily be on the order of 100,000 so there are two levels of model reduction here the  first is I truncate the representation on the port of each of the components the second  is that I look for an approximation to the bubble functions in a low dimensional space  tailored to each component each port and each port mode but I should emphasize that this  one space will serve all archetype components and has all instantiations of a given archetype  component so let me just mention that these coefficients in front of our new the coefficients  associated with our new bubble functions this is the these are the basis functions of my  reduced basis space they satisfy a system of n by n equations so much less expensive than  before so I now can assume that these are relatively inexpensive and that I have relatively  few port modes I can now represent the field in the interior of the component instantiated  component in terms of unknown coefficients times these approximate solutions to the PDE  I then conform a stiffness matrix as before but now notice that these are approximate  bubble functions that will be much less expensive to compute and I can then assemble them in  an approximate sure complement and the sure complement is much smaller because I only  retain 10 port modes they compared to several hundred and it's much more readily computed  because these bubble functions which are solutions of the PDE are approximated with a an ad hoc  in the positive sense reduced basis space tailored to that particular function parametric  manifold as I'll describe shortly all right so why should this work this is this would  work if m and n were small why should there be only a few port modes for a complicated  acoustic system why should there only be say 20 or 30 modes needed to approximate these  bubble functions the solution of the partial differential equation well let me treat first  the port reduction and why should m the number of port modes that I actually need to represent  the function be much less than the number of finite element degrees of freedom well  I consider a simple waveguide p here is pressure I impose g and I require that I have a bounded  radiating wave at infinity outgoing I'm sorry and I introduce the eigen system associated  with the cross stream across plan form as epsilon and lambda eigen values and eigen functions  and I can then write explicitly this is classical separation of variables the solution and you  will see that for a typical wave number there are only very few propagating modes and all  of the other modes in the system decay those are known as evanescent modes that's a classical  result in acoustics and of course if you don't have acoustics there's no k and of course  that's just the elliptic equation the decay of modes by separation of variables and what  does that say so that says if I have a system and I look at one particular port all the  information coming from nearby and afar is all filtered before it arrives at my port  because I have most of the modes which are decaying and only a very few which propagate  so that implies that in fact I should be able to find a low dimensional space on which  all of the restrictions to the port reside right so how do you actually find that we  have several methods I'm going to show the simplest most intuitive here we go through  all pairs of archetype components and let's denote the left fellow left and the right  fellow right so this is a side hole for a musical instrument this is a duct left and  right and I have a left and a right port which is exposed and I have a port on which I am  going to collect data how do I collect the data I solve the PDE of interest over this  domain with a rich set of Dirichlet conditions left and right and a rich set of admissible  parameters in these two domains I collect on this port of interest all of the restrictions  of the solution in a set S and I then apply a POD so that's the sense in which the dimension  is small and that's the sense in which we're able to find that low dimensional space.  All right how about the bubble reduction why do I need a low dimensional reduced basis  space rather than a high dimensional finite element trace space well for any archetype  component to the library for any local port and for any local port mode I remind you that  Ada is the harmonic lifting into the reference domain of the port mode namely the solution  to the PDE now that resides in a high dimensional space but it also resides in a low dimensional  smooth manifold because we're only interested in parameters new that lie in a compact domain  curly V and why is this a low dimensional space an important point to note that relates  to the Semrax project is that all of these solutions for any value of the parameter for  any instantiations of this component are registered on a common reference domain and that's what  ensures that if you have a sharp domain although the solution say at the corner may not be  regular if as the corner moves all the solutions are pulled to a reference domain then in fact  the smoothness is embedded in the manifold all right so that's a key point for the approach  and I'd also like to point out that typically a component only has a few parameters say  V say 3 or 4 the model may have hundreds of parameters and so in some sense a typical  problem with reduced basis methods is too many parameters and with components you basically  divide and conquer how do we find this space for each archetype component for each local  port for each port mode we form this reduced basis space is a Lagrangian snapshot space  that is we sample the solutions for different parameter values take the span for quasioptimum  optimal parameter values that correspond to different new in the parametric domain associated  with that archetype component these are selected by a reduced basis if you like weak greedy  procedure the first reference to that is a paper with Karen Veroy and Christof Foudon  in fact and if I recall correctly I would say that probably the first person to propose  it was indeed Christof that has subsequently become very popular in fact now is on a very  firm theory thanks to a number of different groups who have shown that you get close to  a common gore of n-width with these kinds of techniques remarks optimality so I just  foreshadowed that first result under certain hypotheses the best fits associated with the  port reduced spaces and the bubble reduced spaces convert converge at rates similar to  the corresponding common gore of m or respectively n-width so the spaces have good approximation  properties of course that's only half the battle the other half of the battle is stability  and the Glerkin projections are of course optimal but only to with in a model and discretization  dependence stability constant all right and I'll come back to that point shortly so that's  the first remark second remark is verification and validation so we do exploit a posteriori  error indicators in order to choose optimally our snapshots and choose them efficiently  and also to choose the discretization cutoffs m and n but the first point is that these are  not rigorous a posteriori error bounds their error indicators so they cannot necessarily  serve in verification so how do we verify well each model is verified over usually a subset  of the model parameter domain we can confirm H m and n in terms of refinement studies decrease  H increase m increase n we refer to appropriate closed form approximations and we compared  a third party computations and experiments I would also like to say that the library  notion is to a certain extent socialist in the sense that each model that you develop  and you validate and verify those same components serve in other models so in fact the library  as a whole converges because as you improve one model then all the others in fact are  also improved and we see that effect in the first two weeks when we get a new library  we find all sorts of problems and slowly over time we find less and less problems as we  increase m and n or choose different optimal parameters and choose different functions  all right computational procedure and then I'll turn to the examples so the offline stage  at present this offline stage for the particular problems I will present is performed in a  factory in Ho Chi Minh City not a real factory a virtual Lego factory and what is prepared  in that in that stage offline well we form the online data set archetype component reference  meshes are constructed we identify where they identify the mappings which allow us to proceed  from the reference domain to a wide family of parametric geometric variations we find  the optimal set of port modes we find the optimal reduced basis spaces and we we identify  parameter independent inner products which we store in D now one last detail and that's  the final for the talk I just wanted to point out that the stiffness matrix at the component  level for the reduced basis and port reduced system takes this form and you'll notice this  depends on parameter which would make it quite expensive to form but I can express this in  terms of parameter dependent coefficients real numbers or complex numbers times parameter  independent basis functions so you see that we could pre store this quantity offline and  then form it online as a simple sum but not quite because you'll notice these geometric  transformation factors depend on the geometric parameters you knew and for that reason we  need to apply a second eim expansion to represent these in affine form so that's the final little  bit in order to make all the pieces work quickly in the online stage so that's the that's the  offline stage note we never form a model in the offline stage only pairs of components  so the system can be of size 10 million and we'll never see it because we only get to  models later and all models that we subsequently form and evaluate can amortize this effort  is not just one model but it's literally hundreds of models in the online stage implemented  in a in a cloud context the user inputs the parameter we then synthesize the model from  a script and that's done by a model server which is created in the offline two stage  for each model in the offline two stage we prepare or script the app which is then uploaded  as a server once the model server specifies the program of the problem this is sent to  the compute server which invokes the online data set forms and solves a sure complement  calculates the field and output and download and displays the solution so that's the entire  process all of this resides in the cloud and is all that is through a web user interface  which is effectively a browser alright so onto the examples and I will start let's say  I will I will first I've included a demo because just because it may fail and and that's it  adds some element of excitement but but I also have a self-contained set of results  that are more scientific so the first result is a flanged exponential horn horns can be  flanged or unflanged a flanged horn is one like you have an audio speaker where it comes  out and there's a wall behind it unflanged is the case like a musical instrument where  the sound goes everywhere alright so this first one is a flanged exponential horn I introduced  that earlier and the you can see the parameter domain is quite extensive and what I show  here is just one result from the PD app this is the throat impedance which is how you characterize  horns and audio systems to determine their or one of the ways and what I show here the  app is in red and previous boundary element calculations are in blue these also agree  with experiment this is therefore both verification and validation these you notice that the wave  number here relative to the mouth goes up to 10 that means there are many wavelengths  alright per unit length in the axial direction therefore difficult calculation this is actually  what the pressure field looks like at the outlet and this is the far field calculated  in terms of a spherical harmonic expansion and again these three lines are previous experiment  computation and our results and this is measured in db alright which is a logarithmic scale  so each unit here is is about 10% error okay so you can see even for very small pressures  way out here the accuracy is good to within 5 to 10% alright next example is an expansion  chamber this is a very crude form of a muffler have an inlet duct you have an expansion chamber  then you have a contraction down to an exit duct we can vary many of the parameters I  show here a comparison between the PD app for the transmission loss transmission loss  large means noise small alright so ideally you want infinite transmission loss that means  that no sound is radiated out at the other end of the muffler all of it is reactively  reflected back these are non-dissipative mufflers not not resistive mufflers and what you see  again is the PD app in red compared to previous boundary elements and also previous experiments  at this point the solution becomes non-planar right after this resonance and we still agree  with the experiment I don't know what happened to the boundary elements but they didn't seem  to make it through this transition but in any event we still agree with experiment and  this is an example of what the pressure looks like inside the muffler it is no longer a  plane wave it has radial dependence alright the next example I will do as a as a demo  in principle alright so the first thing that can fail is that the server has gone down  alright so what I've done here is I've actually in order to save a little pre-processing time  I've cheated I actually already launched the PD app server which is the server that knows  how to specify this particular app and this particular app that was not good sorry let  me well actually let me go back I'll show you down here actually so this particular  app is an acoustic bend I have velocity at one end impose zero velocity at the other  end the parameters that I can vary with this app are indicated here this the pre-length  before the bend the length after the bend the ratio of the bend radius to the duct radius  the bend angle from 30 to 180 degrees the wave number which can go up to the first appearance  of three-dimensional modes at the inlet and velocity boundary conditions so I now ask  the system to solve this particular case but I'm not going to do that because Feng who  writes this software has lots of tricks so he caches things so if you happen to ask for  one of the parameters that you've asked for say in the past day he stored them somewhere  in the cloud so it looks like the software is much faster than it actually is so in order  to actually gauge time so so my day do you want to give me a bend angle between 30 and  180 it can't do 72 okay alright 72 alright so I say update model it says solving and  it's solved in the time you just saw alright so it solves 200 partial differential equations  in 3d for 200 different wave numbers and then calculates the inlet impedance and then downloads  the pressure field for one of those wave numbers alright so that happens all in the time indicated  and if you go to the bottom that looks like that looks roughly like 72 degrees or so from  the other and you see the bend and what you also see is that in fact the flow not the  flow the acoustic field becomes three-dimensional because you excite three-dimensional duct  modes in the process of taking that turn and at the bottom you also have the results of  the 200 wave numbers I can ask to see for example the inlet impedance and this is the  imaginary part in green which corresponds to the resonances in that system and so then  you can query for different values of the parameter and and there's also a variety of  ways to visualize the solution on different planes and all of it is intended to give you  on the order of five second turnaround right for each of these results and so that demo  worked and I did not even cheat because I did not take advantage of the caching alright  so I think that's reasonably I wouldn't say completely honest but reasonably honest alright  so is the answer right so again let me show a result for this same problem so this is  the geometry these are the parameters that we can vary sweep angle ratio of radii pre-length  post-length and wave number you just saw this little demo by the way the first page I did  not show is where you pick the PD app you wish to solve and that invokes the right server  and that brings you to the next page which is what you saw and that brings you to the  solutions okay this is a comparison with experiment and prior theory and in fact prior computation  this is the inlet impedance as a function of frequency and what you see is the PD app  in red and it falls very close to the blue dots which are the theory but it falls even  closer to the to this red line I'm sorry the green and the red and that's actually experiment  and you see these lines that look like they're unrelated this is if I take that that bend  in the duct and I straighten it out and take an effective length straight duct you can see  that you miss completely these resonances and you even in fact miss a low resonance which  is one of the reasons why people know that bends and musical instruments have a non-trivial  effect on the inlet impedance not necessarily on the reflection coefficient but it's the  inlet impedance which is what's felt by the reed or the lips and it's the interaction  of that nonlinear system that generates the sound that you hear and so this is the crucial  function that serves in that capacity and if you get it wrong of course you'll get the  wrong sounds alright and there's the visualization with a fully three-dimensional pressure field  this corresponds to roughly half a million finite element degrees of freedom the response  time including the download from the net and and phone uses a number of parallel download  tricks as well as parallel processing in the cloud there's a feature by which you can  send different sets of wave numbers to different machines on the cloud and therefore get the  result that much quicker in this particular case the response time is eight point four  we were shooting for five on the other hand we got two hundred PDEs so perhaps you'll  get us with a little little slack alright so this last example has a slide which probably  is the most interesting of the talk which you may think is doesn't have much competition  but nevertheless it's potentially the slide which merits most attention so this is an  extent extended tube expansion chamber this is what most even simpler mufflers have at  least this structure where you can see that the tubes come into the chamber left and  right and these can the lengths can be tuned in order to provide much better reactive  muffler reflection of waves and of course it's interesting numerically because there  are a lot more parameters so we've also created an app for this the the black dots are experiment  the red is the PDE app and the dash blue here is boundary element you'll notice that the  PDE app actually does better than the boundary element and the reason is we have ten to the  minus five dissipation the boundary integral has boundary element has zero the real physical  system has somewhere in between the two but you'll notice that some of these dips are  characteristic and shifts of a slight bit of dissipation which in this case is almost  or more realistic than no dissipation if the dissipation is sufficiently small alright  so this is effectively the end of the talk I'll show you one example and then a few pictures  but what I wanted to comment here was that so this is a result we had the result we  compared with experiment it compares beautifully and I was idly trying another case with the  PDE app for this same configuration you can't see the tubes inside and this was the result  that I obtained right so this is two-dimensional inlet axi-symmetric inlet axi-symmetric outlet  axi-symmetric geometry three-dimensional pressure field so the first thought the more benign  thought right is that this is a physical instability there actually are duct modes in 3d which  have resonances earlier alright than axi-symmetric duct modes their cutoff frequency is in fact  lower so what could have happened if this was a physical instability was that there  actually is a resonant mode present but it's 3d a little bit of numerical noise then stimulates  the result that you see here so this would not be a physical result but it would be  a result which is physically relevant because it's indicating that there is in fact a nearby  resonance alright so next what I did was I actually went in by hand and I asked for  a different number of components in this gap so this is the same problem on the right  alright same physical parameters but a different discretization and you see that the 3d effect  has disappeared so now the question is why is that and there are two possible reasons  one is that it could still be true that there's a resonance nearby but there's less perturbation  in the third direction if you like due to the solution algorithm in this case we don't  see it or it could be that this is more of a numerical instability than a physical instability  so how do we distinguish between those two well a physical instability just means that  the imp soup gets very close to zero except perhaps for a small dissipation term and that  could certainly give rise to a system like this what do we mean by numerical stability  we would mean that the imp soup of our discretization is greater than the imp soup of the finite  element so it would be possible that I could have this instability because the numerical  imp soup if you like goes to zero in which case this could be entirely spurious or it  could be that simply that the imp soup is relatively small and I'm seeing the manifestation  of that instability so the obvious thing to do and we have not yet done it yet because  this is a large commercial code is calculate the imp soup and to look at that compared  to the finite element and if the finite element is very small then we're seeing a stimulated  3D effect which is in some sense real if the finite element is much larger imp soup than  the actual computational then we need to work on new training and projection techniques  okay alright so that is really the point that requires more subtle analysis otherwise I  think the apps I've shown you're in pretty good shape you can also treat problems in  linear elasticity this is a family of shafts and you can make shafts with notches with  fillets with grooves with holes that are through holes for various reasons for cotter pins  say these are typical solutions you see stress concentration factors which we've confirmed  are accurate typically to within a few percent these are the components from which you can  make these shafts in each we saw the equations of linear elasticity with ports as indicated  in blue and red we then have these archetype components which we can form into a system  by essentially the same fashion as an acoustics we then coalesce the ports to get our system  and then the underlying stitch together finite element mesh so you can see that now this  is a real shaft from a design handbook this is the model we can form these are the breakdowns  into components and then these are the axial displacements in various stresses so now you  have a design tool which takes a matter of seconds in order to analyze three dimensional  linearisticity for these kinds of shaft systems which share a common set of engineering components  and last example are what architects call lentils but we think of more commonly as arches so  here we can think of having historic structures that either have roman arches or gothic arches  we could have beams or we could also have for the modern era I beams and we could then  form from these systems gluing together as before an example of a component is the I  beam which I've shown here here are the components with all the different colored ports and that  allows me to form say this roman arch or colonnade as the architects call it from these three  components here combined in the fashion shown so that's an example of application I showed  you three different physical domains I tried to illustrate how they're all put together  in an app context and finally give you some sense of the numerics that's under the hood  that allows us to get these five second turnaround for finite element problems that sometimes  have many many million degrees of freedom thank you.  Thank you.  Thank you.
2016-07-29_Patera_0_47.png 2016-07-29_Patera_48_95.png 2016-07-29_Patera_96_155.png 2016-07-29_Patera_156_203.png 2016-07-29_Patera_204_275.png 2016-07-29_Patera_276_395.png 2016-07-29_Patera_396_455.png 2016-07-29_Patera_456_1631.png 2016-07-29_Patera_1632_1991.png 2016-07-29_Patera_1992_2315.png 2016-07-29_Patera_2316_2399.png 2016-07-29_Patera_2400_3767.png 2016-07-29_Patera_3768_4595.png 2016-07-29_Patera_4596_5075.png 2016-07-29_Patera_5076_5747.png 2016-07-29_Patera_5748_12251.png 2016-07-29_Patera_12252_15803.png 2016-07-29_Patera_15804_16715.png 2016-07-29_Patera_16716_18623.png 2016-07-29_Patera_18624_21575.png 2016-07-29_Patera_21576_21851.png 2016-07-29_Patera_21852_24119.png 2016-07-29_Patera_24120_25715.png 2016-07-29_Patera_25716_32471.png 2016-07-29_Patera_32472_32579.png 2016-07-29_Patera_32580_45287.png 2016-07-29_Patera_45288_45863.png 2016-07-29_Patera_45864_46751.png 2016-07-29_Patera_46752_46871.png 2016-07-29_Patera_46872_51911.png 2016-07-29_Patera_51912_52355.png 2016-07-29_Patera_52356_52463.png 2016-07-29_Patera_52464_52547.png 2016-07-29_Patera_52548_53099.png 2016-07-29_Patera_53100_53423.png 2016-07-29_Patera_53424_53675.png 2016-07-29_Patera_53676_53927.png 2016-07-29_Patera_53928_55211.png 2016-07-29_Patera_55212_55751.png 2016-07-29_Patera_55752_56051.png 2016-07-29_Patera_56052_56519.png 2016-07-29_Patera_56520_56615.png 2016-07-29_Patera_56616_56687.png 2016-07-29_Patera_56688_56783.png 2016-07-29_Patera_56784_58439.png 2016-07-29_Patera_58440_59291.png 2016-07-29_Patera_59292_59759.png 2016-07-29_Patera_59760_65675.png 2016-07-29_Patera_65676_66203.png 2016-07-29_Patera_66204_66395.png 2016-07-29_Patera_66396_66827.png 2016-07-29_Patera_66828_66971.png 2016-07-29_Patera_66972_67151.png 2016-07-29_Patera_67152_67943.png 2016-07-29_Patera_67944_68159.png 2016-07-29_Patera_68160_68207.png 2016-07-29_Patera_68208_69083.png 2016-07-29_Patera_69084_69143.png 2016-07-29_Patera_69144_69191.png 2016-07-29_Patera_69192_69311.png