Dear Firedrakers, I have a problem similar to Anna's previous one. How can and I access and modify matrices assembled for a given form, so that they can be used later in solvers? For reference, my code is in: https://github.com/mmtjs/lin_coupled_fd_2d_oop with description of the scheme that I would like to implement in "FSI_scheme.pdf" (black terms clear - no coupling; blue - UFL suffices to define; red - I need to build the matrices directly). e.g. I have the following code: ... def initialize_solvers(self): .... a_phi = fd.dot( self.n_vec, fd.grad(self.trial) ) * self.v * fd.ds_t - fd.dot( fd.grad(self.trial), fd.grad(self.v) ) * fd.dx L_phi = self.Pw * self.v * fd.ds_v(2) a_eta = self.trial * self.v * fd.ds_t L_eta = ( self.eta + self.dt * fd.dot( self.n_vec, fd.grad(self.phi) ) ) * self.v * fd.ds_t ... I would like to access the PETSc matices corresponding to the forms, modify the entries and solve the system with the updated matrices. How can I find out to which nodes the given entries correspond? I need to map between two domains, which I did for functions, but in case of matrices it may be different. Thank you, Tomasz
participants (1)
- 
                
                Tomasz Salwa [RPG]