Hello Matt,

I am sorry that I have not replied before now.

I think that the reason you did not understand the question was that the question was silly but I'll try to explain my thought process anyway.

If you have a periodic boundary condition then when you construct a matrix to be used by a KSP it can address the ghost points corresponding to the periodic boundaries. So, I wondered if when you have ghosted boundary conditions you could refer to those ghosted points too when constructing the matrix. This led on to the question of how those values would be obtained when the linear solver came to be executed.

At this point I expect you are asking why on earth I would want to do that and I do not have an adequate response.

I am sorry I wasted your time and thanks for your help,

David

On 18/02/2020 20:23, Matthew Knepley wrote:
On Tue, Feb 18, 2020 at 10:23 AM SCOTT David <[email protected] <mailto:[email protected]>> wrote:

    Hello Matt,

    Thanks for the quick response.

    Sorry to be dense but I want the ghost(ed) values to be used by
    KSPSolve where the KSP has an associated DM. I can, of course
    create a local vector using DMGetLocalVector and then populate the
    ghosted locations but I do not know how to get the KSPSolve to use
    these values in the way that automatically generated periodic,
    ghost values would be.


Let me try and understand. We normally distinguish between global vectors and local vectors. Global vectors, used in the solver, describe the entire space. Local vectors, used in assembly, describe overlapping patches of the space. The ghost values would only be used in assembly, not in the solver, since they help make the correct value, but have no equation associated with themselves. Am I misunderstanding something?

  Thanks,

    Matt

    Thanks,

    David

    On 18/02/2020 12:42, Matthew Knepley wrote:
    On Tue, Feb 18, 2020 at 6:03 AM David Scott
    <[email protected] <mailto:[email protected]>> wrote:

        Hello,

        I wish to solve a channel flow problem with different boundary
        conditions. In the streamwise direction I may have periodic or
        inlet/outlet BCs. I would like to make my code for the two
        cases as
        similar as possible. If I use DM_BOUNDARY_PERIODIC then when
        performing
        a linear solve the ghost values will be set automatically.
        For the
        inlet/outlet case can I use DM_BOUNDARY_GHOSTED instead and
        somehow
        arrange for values that I specify to be placed in the ghost
        locations?


    Yes, that is the intent.

      Thanks,

         Matt

        Thanks,

        David

        The University of Edinburgh is a charitable body, registered
        in Scotland, with registration number SC005336.



-- 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

    https://www.cse.buffalo.edu/~knepley/
    <http://www.cse.buffalo.edu/~knepley/>



--
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

Reply via email to