Hi Edscott,

I’m assuming you use version 2.12. Can you be more specific? What are these 
boundary condition? Why wouldn’t it be possible to solve it with the el2p model?
What does it mean “Newton does not converge on the first step”?

Timo

> Am 22.02.2019 um 20:57 schrieb Ed Scott Wilson Garcia <edsc...@imp.mx>:
> 
> I am studying th el2p test example to see if it is possible to use it without 
> modifications to the geomechanics/el2p/model in order to validate the code 
> with a well known published example of the Mandel problem (Sangnimnuan 2018). 
> My question is whether the el2p model can be used without further 
> modifications for these boundary conditions.
> 
> The code for the initialization has no problem whatsoever when modifying the 
> fixed parameters (Young Modulus, Poisson ratio, porosity, permeability rock 
> density).
> But when I modify the boundary conditions from Dirichlet to Neumann to allow 
> an external force to be applied on the top boundary and expansion on the left 
> boundary, the Newton method does not converge on the first step.
> 
> IOW:
> 
>    void boundaryTypesAtPos(BoundaryTypes &values, const GlobalPosition& 
> globalPos) const
>    {
>        values.setAllNeumann();
> 
>        // The solid displacement normal to the lateral boundaries is fixed.
>        if(globalPos[0] < eps_ || globalPos[0] > this->bBoxMax()[0]-eps_)
>        {
>            values.setDirichlet(uxIdx);
>            if(initializationRun_ == false)
>            {
>                values.setDirichlet(pressureIdx);
>                values.setDirichlet(saturationIdx);
>            }
>        }
>        // The solid displacement normal to the lateral boundaries is fixed.
>        // Only for 3 d
>        if (dim == 3) {
>        if(globalPos[1] < eps_ || globalPos[1] > this->bBoxMax()[1]-eps_)
>        {
>            values.setDirichlet(uyIdx);
>            if(initializationRun_ == false)
>            {
>                values.setDirichlet(pressureIdx);
>                values.setDirichlet(saturationIdx);
>            }
>        }}
> 
>        // Lower boundary closed for brine and CO2 flux, uz is fixed.
>        if(globalPos[dimWorld-1] < eps_)
>        {
>            if(dim == 2)
>                values.setDirichlet(uyIdx);
>            if(dim == 3)
>                values.setDirichlet(uzIdx);
>        }
> #define SANGNIMNUAN
> #ifdef SANGNIMNUAN
>        // right side
>        if(globalPos[0] > this->bBoxMax()[0]-eps_) {
>            values.setNeumann(uxIdx);
>            values.setNeumann(uyIdx);
>        }       
>        // top side
>        if(globalPos[1] > this->bBoxMax()[1]-eps_){
>            values.setNeumann(uxIdx);
>            values.setNeumann(uyIdx);
>        }
> #endif
> 
>        // for the initialization run the pressure and saturation
>        // values are only given at the top boundary.
>        if(globalPos[dimWorld-1] > this->bBoxMax()[dimWorld-1]-eps_)
>        {
>            values.setDirichlet(pressureIdx);
>            values.setDirichlet(saturationIdx);
>        }
>    }
> 
>    void neumannAtPos(PrimaryVariables &values, const GlobalPosition& 
> globalPos) const
>    {
>        values = 0;
> #ifdef SANGNIMNUAN
>        // right side
>        if(globalPos[0] > this->bBoxMax()[0]-eps_) {
>            // no force
>        }       
>        // top side
>        if(globalPos[1] > this->bBoxMax()[1]-eps_){
>            // assuming area of 1 and load of 616 psi. P=F/A
>            values[uyIdx] = 4.2472e+6; // Newtons
>            // no force in ux
> 
>        }
> #endif
>        if(globalPos[1] < eps_ || globalPos[1] > this->bBoxMax()[1]-eps_){
>            // assuming area of 1 and load of 616 psi. P=F/A
>            //values[uyIdx] = 4.2472e+6; // Newtons
>        }
>    }
> 
> I am assuming that the el2p model, as is, will not suffice to run a simple 
> Mandel problem without some deep modifications. Yes?
> 
> best regards,
> 
> Edscott
> 
> 
> 
> 
> 
> _______________________________________________
> Dumux mailing list
> Dumux@listserv.uni-stuttgart.de
> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

_______________________________________________
Dumux mailing list
Dumux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to