Thanks. I had another question about the DM and SNES and TS. There are similar routines to assign the residual and jacobian evaluation to both objects. For the SNES case are:
DMSNESSetFunctionLocal DMSNESSetJacobianLocal What are the differences of these with: SNESSetFunction SNESSetJacobian and when should we use each? With "Local", it is meant to evaluate the function/jacobian for the elements in the local processor? I could get the local edges in DMNetwork by calling DMNetworkGetEdgeRange? Miguel On Thu, Sep 25, 2014 at 5:17 PM, Matthew Knepley <knep...@gmail.com> wrote: > On Thu, Sep 25, 2014 at 5:15 PM, Miguel Angel Salazar de Troya < > salazardetr...@gmail.com> wrote: > >> > If you need a symmetric Jacobian, you can use the BC facility in >> > PetscSection, which eliminates the >> > variables completely. This is how the FEM examples, like ex12, work. >> >> Would that be with PetscSectionSetConstraintDof ? For that I will need >> the PetscSection, DofSection, within DMNetwork, how can I obtain it? I >> could cast it to DM_Network from the dm, networkdm, declared in the main >> program, maybe something like this: >> >> DM_Network *network = (DM_Network*) networkdm->data; >> >> Then I would loop over the vertices and call PetscSectionSetConstraintDof if >> it's a boundary node (by checking the corresponding component) >> >> I admit to not completely understanding DMNetwork. However, it eventually > builds a PetscSection for data layout, which > you could get from DMGetDefaultSection(). The right thing to do is find > where it builds the Section, and put in your BC > there, but that sounds like it would entail coding. > > Thanks, > > Matt > > >> Thanks for your responses. >> >> Miguel >> >> >> >> On Thu, Sep 25, 2014 at 2:42 PM, Jed Brown <j...@jedbrown.org> wrote: >> >>> Matthew Knepley <knep...@gmail.com> writes: >>> >>> > On Thu, Sep 25, 2014 at 1:46 PM, Abhyankar, Shrirang G. < >>> abhy...@mcs.anl.gov >>> >> wrote: >>> > >>> >> You are right. The Jacobian for the power grid application is indeed >>> >> non-symmetric. Is that a problem for your application? >>> >> >>> > >>> > If you need a symmetric Jacobian, you can use the BC facility in >>> > PetscSection, which eliminates the >>> > variables completely. This is how the FEM examples, like ex12, work. >>> >>> You can also use MatZeroRowsColumns() or do the equivalent >>> transformation during assembly (my preference). >>> >> >> >> >> -- >> *Miguel Angel Salazar de Troya* >> Graduate Research Assistant >> Department of Mechanical Science and Engineering >> University of Illinois at Urbana-Champaign >> (217) 550-2360 >> salaz...@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 salaz...@illinois.edu