[petsc-users] DMPlex with spring elements

Miguel Angel Salazar de Troya salazardetroya at gmail.com
Wed Sep 24 17:38:11 CDT 2014


Thanks for your response. I'm attaching a pdf with a description of the
model. The description of the PetscSection is necessary for the DMNetwork?
It looks like DMNetwork does not use a PetscSection.

Miguel

On Wed, Sep 24, 2014 at 1:43 PM, Abhyankar, Shrirang G. <abhyshr at mcs.anl.gov
> wrote:

>
> >Thanks for your response. My discretization is based on spring elements.
> >For the linear one dimensional case in which each spring has a
> >coefficient k, their jacobian would be this two by two matrix.
> >[  k    -k ]
> >[ -k     k ]
> >
> >and the internal force
> >
> >[ k ( Ui - Uj) ]
> >[ k ( Uj - Ui) ]
> >
> >where Ui and Uj are the node displacements (just one displacement per
> >node because it's one dimensional)
> >
> >For the two dimensional case, assuming small deformations, we have a
> >four-by-four matrix. Each node has two degrees of freedom. We obtain it
> >by performing the outer product of the vector (t , -t) where "t" is the
> >vector that connects both nodes in a spring. This is for the case of
> >small deformations. I would need to assemble each spring contribution to
> >the jacobian and the residual like they were finite elements. The springs
> >share nodes, that's how they are connected. This example is just the
> >linear case, I will have to implement a nonlinear case in a similar
> >fashion.
> >
> >Seeing the DMNetwork example, I think it's what I need, although I don't
> >know much of power electric grids and it's hard for me to understand
> >what's going on. Do you have a good reference to be able to follow the
> >code?
>
> >
> Please see the attached document which has more description of DMNetwork
> and the equations for the power grid example. I don't have anything that
> describes how the power grid example is implemented.
>
> >For example, why are they adding components to the edges?
> >
> >475:     DMNetworkAddComponent
> ><
> http://www.mcs.anl.gov/petsc/petsc-as/petsc-current/docs/manualpages/DM/D
> >MNetworkAddComponent.html#DMNetworkAddComponent>(networkdm,i,componentkey[
> >0],&pfdata.branch[i-eStart]);Miguel
>
> Each edge or node can have several components (limited to 10) attached to
> it. The term components, taken from the circuit terminology, refers to the
> elements of a network. For example, a component could be a resistor,
> inductor, spring, or even edge/vertex weights (for graph problems). For
> code implementation, component is a data structure that holds the data
> needed for the residual, Jacobian, or any other function evaluation. In
> the case of power grid, there are 4 components: branches or transmission
> lines connecting nodes, buses or nodes, generators that are incident at a
> subset of the nodes, and loads that are also incident at a subset of the
> nodes. Each of the these components are defined by their data structures
> given in pf.h.
>
> DMNetwork is a wrapper class of DMPlex specifically for network
> applications that can be solely described using nodes, edges, and their
> associated components. If you have a PDE, or need FEM, or need other
> advanced features then DMPlex would be suitable. Please send us a write-up
> of your equations so that we can assist you better.
>
> Shri
>
>
> >
> >
> >On Tue, Sep 23, 2014 at 11:13 PM, Abhyankar, Shrirang G.
> ><abhyshr at mcs.anl.gov> wrote:
> >
> >You may also want to take a look at the DMNetwork framework that can be
> >used for general unstructured networks that don't use PDEs. Its
> >description is given in the manual and an example is in
> >src/snes/examples/tutorials/network/pflow.
> >
> >Shri
> >
> >From:  Matthew Knepley <knepley at gmail.com>
> >Date:  Tue, 23 Sep 2014 22:40:52 -0400
> >To:  Miguel Angel Salazar de Troya <salazardetroya at gmail.com>
> >Cc:  "petsc-users at mcs.anl.gov" <petsc-users at mcs.anl.gov>
> >Subject:  Re: [petsc-users] DMPlex with spring elements
> >
> >
> >>On Tue, Sep 23, 2014 at 4:01 PM, Miguel Angel Salazar de Troya
> >><salazardetroya at gmail.com> wrote:
> >>
> >>Hi all
> >>I was wondering if it could be possible to build a model similar to the
> >>example snes/ex12.c, but with spring elements (for elasticity) instead of
> >>simplicial elements. Spring elements in a grid, therefore each element
> >>would have two nodes and each node two components. There would be more
> >>differences, because instead of calling the functions f0,f1,g0,g1,g2 and
> >>g3 to build the residual and the jacobian, I would call a routine that
> >>would build the residual vector and the jacobian matrix directly. I would
> >>not have shape functions whatsoever. My problem is discrete, I don't have
> >>a PDE and my equations are algebraic. What is the best way in petsc to
> >>solve this problem? Is there any example that I can follow? Thanks in
> >>advance
> >>
> >>
> >>
> >>
> >>Yes, ex12 is fairly specific to FEM. However, I think the right tools for
> >>what you want are
> >>DMPlex and PetscSection. Here is how I would proceed:
> >>
> >>  1) Make a DMPlex that encodes a simple network that you wish to
> >>simulate
> >>
> >>  2) Make a PetscSection that gets the data layout right. Its hard from
> >>the above
> >>      for me to understand where you degrees of freedom actually are.
> >>This is usually
> >>      the hard part.
> >>
> >>  3) Calculate the residual, so you can check an exact solution. Here you
> >>use the
> >>      PetscSectionGetDof/Offset() for each mesh piece that you are
> >>interested in. Again,
> >>      its hard to be more specific when I do not understand your
> >>discretization.
> >>
> >>  Thanks,
> >>
> >>    Matt
> >>
> >>
> >>Miguel
> >>
> >>
> >>
> >>--
> >>Miguel Angel Salazar de Troya
> >>Graduate Research Assistant
> >>Department of Mechanical Science and Engineering
> >>University of Illinois at Urbana-Champaign
> >
> >
> >>(217) 550-2360 <tel:%28217%29%20550-2360>
> >>salaza11 at illinois.edu
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>--
> >>What most experimenters take for granted before they begin their
> >>experiments is infinitely more interesting than any results to which
> >>their experiments lead.
> >>-- Norbert Wiener
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >--
> >Miguel Angel Salazar de Troya
> >Graduate Research Assistant
> >Department of Mechanical Science and Engineering
> >University of Illinois at Urbana-Champaign
> >(217) 550-2360
> >salaza11 at illinois.edu
>
>


-- 
*Miguel Angel Salazar de Troya*
Graduate Research Assistant
Department of Mechanical Science and Engineering
University of Illinois at Urbana-Champaign
(217) 550-2360
salaza11 at illinois.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140924/65d684cc/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: equations.pdf
Type: application/pdf
Size: 569544 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140924/65d684cc/attachment-0001.pdf>


More information about the petsc-users mailing list