> On Jun 11, 2015, at 8:15 AM, Oliver Henrich <[email protected]> wrote:
> 
> Dear PETSc-Team,
> 
> I am trying to solve a Poisson equation with a mixed periodic-Dirichlet 
> boundary condition. What I have in mind is e.g. a compressible flow with a 
> total pressure difference imposed between the two sides of the system, but 
> otherwise periodic, and periodic boundary conditions along the remaining two 
> dimensions. Another example would be an electrostatic system with dielectric 
> contrast in an external electric field / potential difference.
> 
> For clarity, if x = 0  (N+1) is the left (right) halo site at the boundary 
> and x = 1 (N) is the leftmost (rightmost) site in the physical domain: 
> 
> psi(x = 0)  =  psi(x = N) - dpsi
> psi(x = N+1) = psi(1) + dpsi

   If I understand correctly this does't affect the MATRIX at all, since the 
dpsi is a constant. So aren't you just solving with a "regular periodic" matrix 
but a modified right hand side?

   Note in PETSc indexing which starts at 0 (not one) and ends with N-1 what 
you wrote above should be 

psi(x=-1) = psi(x=N-1) - dpsi
psi(x=N) = psi(0) + dpsi

Now x=-1 and x=N don't exist in the matrix (only in ghosted vectors) so b(0) = 
b(0) + od*dpsi   and b(N-1) = b(N-1) - od*dpsi where od is the "off diagonal" 
entry of the Poisson matrix and b() is the "normal" right hand side

> 
> I know it is possible to solve this with a double Poisson solve, which I try 
> to avoid for performance reasons.
> 
> It is also possible to solve this by modifying the matrix with a master-slave 
> approach that imposes the constraint. This requires defining a transformation 
> matrix that acts on the matrix, the solution vector and the righthand side of 
> the problem.
> 
> The core of the problem I have is that the pressure or potential difference 
> should not be between the leftmost and rightmost site in the physical domain 
> (a standard Dirichlet BC), but between the left- or rightmost site in the 
> physical domain and the corresponding halo site at the opposite side of the 
> system. It should be possible to do this if the entries of the transformation 
> matrix that act on the halo sites can be accessed and modified. 
> 
> Is anything like this possible in PETSc?
> 
> Best regards and many thanks,
> Oliver
> 
> --
> Dr Oliver Henrich
> Edinburgh Parallel Computing Centre
> School of Physics and Astronomy
> University of Edinburgh
> King's Buildings, JCMB
> Edinburgh EH9 3FD
> United Kingdom
> 
> Tel: +44 (0)131 650 5818
> Fax: +44 (0)131 650 6555
> 
> --
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336
> 
> 
> 

Reply via email to