Hi Lorenzo,

yes, in the new version, mixed boundary conditions (e.g., setting Dirichlet for p_w and Neumann for q_n) are only possible for the box scheme. Also, the outflow BC was removed, so you have to implemented that yourself, e.g., using an Neumann condition.

Best wishes
Kilian

On 11/23/2018 10:00 AM, lc wrote:

Good morning Kilian,

yes, right.

Is there any modification in the new version about BCs?

Before, eventually, switch to the new version I'd like to get the results on the present version.


Thank you,

Kind regards,

Lorenzo

On 23/11/2018 11:57, Kilian Weishaupt wrote:
Hi Lorenzo,

you are using Dumux 2.12, right?

Best wishes
Kilian

On 11/16/2018 02:51 PM, lc wrote:

Hello,

It would like to ask something more about boundary conditions, since I'm experiencing some apparently strange behaviors at the outlet. As you can see from the screenshot attached, I think I assign BCs. not correctly for the problem in consideration.

I'm running with a modified version of tutorial_sequential. I want to impose the following BCs:

1) Dirichlet at inlet: s_water = smax

2) Neuman at inlet: dp/dn = some const value of pressure flux

3) Dirichlet at outlet: p = p_out

4) Neuman or Outflow(?) at outlet: s_water zero flux. Which one should I use? What's difference?

5) Neuman upper and lower: zero flow


According to this, I wrote:


void *boundaryTypesAtPos*(BoundaryTypes &bcTypes, const GlobalPosition& globalPos) const
    {
             if (globalPos[0] < eps_)
            {
                bcTypes.setNeumann(pressEqIdx);
                bcTypes.setDirichlet(satEqIdx);

            }
            else if (globalPos[0] > this->bBoxMax()[0] - eps_)
            {
                bcTypes.setDirichlet(pressEqIdx);

                // bcTypes.setNeumann(satEqIdx);  // I also tried this, but no significant difference
                bcTypes.setOutflow(satEqIdx);
            }
            else
            {
                bcTypes.setAllNeumann();
            }
    }


void *dirichletAtPos*(PrimaryVariables &values, const GlobalPosition& globalPos) const
    {
        values = 0;

        const Scalar smax = 0.7856;
        const Scalar smin = 0.2121;

        if (globalPos[0] < eps_) {

           values[swIdx] = smax;

        } else {

           values[pwIdx] = -30e5;
        }
    }


void*neumannAtPos*(PrimaryVariables &values, const GlobalPosition& globalPos) const
    {
         values = 0;

         if (globalPos[0] > this->bBoxMax()[0] - eps_)
        {
            values[wPhaseIdx] = 0.;

        } else if (globalPos[0] < this->bBoxMin()[0] + eps_) {

             values[wPhaseIdx] = const. value;
       }
    }

Is there something wrong?

Thanks for help,

Best regards,

Lorenzo



_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kilian Weishaupt M.Sc.
Institut für Wasser- und Umweltsystemmodellierung (IWS)
Lehrstuhl für Hydromechanik und Hydrosystemmodellierung
Universität Stuttgart, Pfaffenwaldring 61, 70569 Stuttgart
Email:[email protected]
Telefon: 0049 711 685-60461 ** fax: 0049-711-685-60430
http://www.hydrosys.uni-stuttgart.de
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kilian Weishaupt M.Sc.
Institut für Wasser- und Umweltsystemmodellierung (IWS)
Lehrstuhl für Hydromechanik und Hydrosystemmodellierung
Universität Stuttgart, Pfaffenwaldring 61, 70569 Stuttgart
Email: [email protected]
Telefon: 0049 711 685-60461 ** fax: 0049-711-685-60430
http://www.hydrosys.uni-stuttgart.de
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to