[petsc-users] Modeling a Network with DMPlex?

Florian Meier florian.meier at koalo.de
Fri Feb 14 10:51:21 CST 2014

When I have only one process, should vStart of DMCircuitGetVertexRange
always be 0?

This is what I guessed from PFReadData since busi starts with 0 and the
result is directly mapped to the component data.

Although, currently for my program that is not the case
(actually it is 2).

On 02/12/2014 02:01 PM, Abhyankar, Shrirang G. wrote:
>> On Feb 12, 2014, at 5:55 AM, "Florian Meier" <florian.meier at koalo.de> wrote:
>> I will build an example and send it to you, but it might take some time.
> Great. 
>> One short question: Should I preprocess my graph so that vertices that
>> are close in the graph are close in the data (i.e. get indices that have
>> small distances) or will this be done automatically.
> There is no need to preprocess the data. Once the circuit layout is set up, it will set up the vertex connectivity and create the graph accordingly.
> Shri
>>> On 02/10/2014 07:33 PM, Abhyankar, Shrirang G. wrote:
>>>> On 2/10/14 11:45 AM, "Florian Meier" <florian.meier at koalo.de> wrote:
>>>> Hi Shri, Hi Jed,
>>>> thank you very much, that helped a lot!
>>>> DMCircuit is perfect for my application!
>>>> I have finally managed to get a very simple example running after I
>>>> realized that comment lines inside of arrays are not allowed for pflow
>>>> input format ;-)
>>> Cool! Note that the input format is specific to the application and is not
>>> a part of DMCircuit.
>>>> I am going to implement a more complex example and will probably come
>>>> across something for what I need your help again.
>>> Please feel free to ask any questions you have. As DMCircuit is a recent
>>> development, your questions/comments/suggestions will help
>>> us to improve this feature.
>>> It would be great if you could contribute your simple example as a
>>> tutorial example for DMCircuit.
>>> Thanks,
>>> Shri
>>>> Thanks again,
>>>> Florian
>>>>> On 02/10/2014 08:33 AM, Abhyankar, Shrirang G. wrote:
>>>>> Hi Florian,
>>>>> You can use DMPlex directly as Jed suggests or you can use a new DM
>>>>> that
>>>>> has been
>>>>> added recently to PETSc specifically for circuit/network/graph
>>>>> applications. This DM, named DMCircuit, is built on top of
>>>>> DMPlex. It is currently in the next branch of PETSc and there is an
>>>>> example from a power grid
>>>>> application in src/snes/examples/tutorials/pflow.
>>>>> Take a look at DMCircuit and let us know if you want to use it. I'll
>>>>> give
>>>>> you more information on its usage if you are
>>>>> interested.
>>>>> Shri
>>>>>> On 2/10/14 12:35 AM, "Jed Brown" <jed at jedbrown.org> wrote:
>>>>>> Florian Meier <florian.meier at koalo.de> writes:
>>>>>>> Hi,
>>>>>>> I would like to solve a non-linear equation system over a computer
>>>>>>> network. This is somewhat similar to FEM. There is a bunch of
>>>>>>> equations for each link that includes variables of adjacent links. I
>>>>>>> assume there is some support in PETSc for mapping the network to
>>>>>>> memory, distribute it and iterate over the adjacent links, but all
>>>>>>> examples I could found for DMPlex are so tightly coupled to FEM that I
>>>>>>> am not able to separate the relevant parts from the parts that are
>>>>>>> only needed for FEM (e.g. continuous elements, discretization).
>>>>>>> Is DMPlex actually the right place to look?
>>>>>> You can describe a network having only edges and vertices.  This sounds
>>>>>> similar to what Shri does for power networks.  You wouldn't use the FEM
>>>>>> interfaces, but the DMPlex primitives still apply.
>>>>> You can We've recently added a DM for problems arising from circuit
>>>>> applications that may be
>>>>> of use to you. The interface is called DMCircuit and is currently in the
>>>>> next branch of PETSc.
>>>>> There is currently one DMCircuit example coming from a power grid
>>>>> application 
>>>>> in src/snes/examples/tutorials/circuit/pflow.

More information about the petsc-users mailing list