<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">A simple example of DMNetwork, an electric circuit:</div>
<div dir="ltr">petsc/src/ksp/ksp/examples/tutorials/network/ex1.c
<div>Hong<br>
<br>
<div class="gmail_quote">
<div dir="ltr">On Wed, Nov 28, 2018 at 5:08 PM Matthew Knepley via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div class="gmail_quote">
<div dir="ltr">On Wed, Nov 28, 2018 at 3:51 PM Markus Lohmayer via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Dear PETSc users and developers,<br>
<br>
in particular those experienced with the relatively new DMNetwork object,<br>
I would like to get some advice on wether it makes sense for my application to be built using this PETSc feature<br>
or if I am equally well served if I use plain Vec and Mat objects.<br>
<br>
In the latter case, you might nevertheless have some good advice for a novice PETSc user<br>
or you might know about something that helps me to come up with a well architected solution.<br>
<br>
So the application context is closely linked to LTI state-space models (and in particular two-port / n-port network models and their interconnections):<br>
x,t = A x + B u<br>
y = C x + D u<br>
<br>
More specifically, input ‘u' and output ‘y' are vectors (of same length for all components).<br>
Different components will have different dimension of state ‘x' (and hence also ‘A', ‘B', ‘C').<br>
<br>
These component models then have to be interconnected according to a given topology:<br>
</blockquote>
<div><br>
</div>
<div>If the interconnection topology is 1D, then yes DMNetwork is designed to do this. At the simplest level, you</div>
<div>could just use a 1D DMPlex, which is inside DMNetwork, and hand code the Section (data layout) and residual/Jacobian</div>
<div>assembly. DMNetwork is a higher level around this that lets you put "components" down on vertices and edges</div>
<div>that translate to data layout and residual evaluation. I confess to not understanding the residual part all the way.</div>
<div>If you start trying to modify an example, we can help you I think.</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Some pair of outputs of model 1 feeds into the corresponding pair of inputs of model 2 (and also the other way round by symmetry), etc.<br>
<br>
After most (or even all) of the original inputs 'u_i' / outputs 'y_i' have been eliminated (based on the given interconnection structure amongst components),<br>
it will be necessary to use an iterative eigenvalue solver to obtain eigenvectors for some interesting part of the spectrum.<br>
<br>
The models will probably not be "very large" in the foreseeable future but this still doesn’t make e.g. MATLAB’s control toolbox an option.<br>
<br>
I have seen the presentation by Hong Zhang (1) at this year’s user meeting and I have looked at the paper “Scalable Multiphysics Network Simulation Using PETSc DMNetwork”.<br>
The use cases and concept of network presented therein were slightly different from this one of interconnected multi-ports in state-space formulation.<br>
<br>
Thanks you very much for your advice and reading this post.<br>
<br>
Best,<br>
Markus</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="gmail-m_-3117399960421971460gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>