[petsc-users] Modeling a Network with DMPlex?

Florian Meier florian.meier at koalo.de
Fri Feb 14 10:54:37 CST 2014


Oh I am sorry - I was confused. The bug must be at another place. That
place should be ok.

On 02/14/2014 05:51 PM, Florian Meier wrote:
> 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