I tried with 100 cells but it will run for 25 minutes and has not finished
yet, however TEND=10000 s only. So what's the problem in your opinion?
Best regards.

2015-10-21 21:52 GMT+02:00 Ait Mahiout Latifa <[email protected]>:

> i try with 100 cells and i will tell you if it gives a good results. I
> hope that it gives a good result.
> Best regards
>
> 2015-10-21 21:46 GMT+02:00 Ait Mahiout Latifa <[email protected]>
> :
>
>> no, sorry, there isn't the good files, sorry.
>> the input file is
>> [TimeManager]
>> TEnd = 100000 # duration of the simulation [s]
>> DtInitial = 10 # initial time step size [s]
>>
>> [Grid]
>> UpperRightX = 600 # x-coordinate of the upper-right corner of the grid [m]
>> UpperRightY = 600 # y-coordinate of the upper-right corner of the grid [m]
>> NumberOfCellsX = 30 # x-resolution of the grid
>> NumberOfCellsY = 30 # y-resolution of the grid
>>
>> best regards
>>
>> 2015-10-21 21:44 GMT+02:00 Martin <[email protected]>
>> :
>>
>>> In your input file you have set:
>>> [Grid]
>>> UpperRightX = 300 # x-coordinate of the upper-right corner of the grid
>>> [m]
>>> UpperRightY = 60 # y-coordinate of the upper-right corner of the grid [m]
>>> NumberOfCellsX = 100 # x-resolution of the grid
>>> NumberOfCellsY = 1 # y-resolution of the grid
>>>
>>> that means, that your grid has a length of 300m and a height of 60m but
>>> your boundary conditions are set for a 600mx600m grid,
>>> therefore you have to change that:
>>> [Grid]
>>> UpperRightX = 600 # x-coordinate of the upper-right corner of the grid
>>> [m]
>>> UpperRightY = 600 # y-coordinate of the upper-right corner of the grid
>>> [m]
>>> NumberOfCellsX = 100 # x-resolution of the grid
>>> NumberOfCellsY = 100 # y-resolution of the grid
>>>
>>> Hopefully that will help.
>>> Martin
>>>
>>>
>>> On 10/21/2015 09:22 PM, Ait Mahiout Latifa wrote:
>>>
>>> i show that not all the files are joint to my precedent message, so
>>> the intersec permeability is:
>>>  for (int i = 0; i < dim; i++)
>>>                 K_[i][i] = 1e-7;
>>>
>>> and i use the brook corey law:
>>>  // residual saturations
>>>         materialLawParams_.setSwr(0);
>>>         materialLawParams_.setSnr(0);
>>>
>>>         // parameters for the Brooks-Corey Law
>>>         // entry pressures
>>>         materialLawParams_.setPe(500);
>>>
>>>         // Brooks-Corey shape parameters
>>>         materialLawParams_.setLambda(2);
>>>
>>> (there is the exactly same files of tutorial_coupled problem
>>> and the input file is joint in my precedent message.
>>>
>>> Beste regards
>>>
>>> 2015-10-21 21:15 GMT+02:00 Ait Mahiout Latifa <
>>> [email protected]>:
>>>
>>>> I joint to you the file .input, he tutorialspatialparams_cdecoupled and
>>>> the file .hh to show all parameters that i use.
>>>> Thak's for the help.
>>>> Best regards.
>>>>
>>>> 2015-10-21 21:10 GMT+02:00 Martin <
>>>> <[email protected]>
>>>> [email protected]>:
>>>>
>>>>> That probably means that the matrix is singular and therefore the
>>>>> pressure equation can not be solved.
>>>>> What grid are you using and what intrinsic permeability values? Which
>>>>> material law?
>>>>>
>>>>>
>>>>> Regards,
>>>>> Martin
>>>>>
>>>>>
>>>>> On 10/21/2015 08:12 PM, Ait Mahiout Latifa wrote:
>>>>>
>>>>> Hi  Martin,
>>>>> ok, so i corrected the condition, so now, my code is:
>>>>>
>>>>>
>>>>>  void boundaryTypesAtPos(BoundaryTypes &bcTypes, const GlobalPosition&
>>>>> globalPos) const /*@\label{tutorial-decoupled:bctype}@*/
>>>>>     {
>>>>>
>>>>>
>>>>>             if ((globalPos[0] >  580-  eps_) && (globalPos[1] > 580-
>>>>> eps_) )
>>>>>             {
>>>>>                 bcTypes.setDirichlet(pressEqIdx);
>>>>>                 bcTypes.setDirichlet(satEqIdx);
>>>>>                //bcTypes.setAllDirichlet(); // alternative if the same
>>>>> BC is used for both types of equations
>>>>>             }
>>>>>             // all other boundaries
>>>>>             else  if ((globalPos[0] <  20-  eps_) && (globalPos[1] <
>>>>> 20-  eps_) )
>>>>>             {
>>>>>                 //bcTypes.setNeumann(pressEqIdx);
>>>>>                 //bcTypes.setDirichlet(satEqIdx);
>>>>>                bcTypes.setAllNeumann(); // alternative if the same BC
>>>>> is used for both types of equations
>>>>>             }
>>>>>             else
>>>>>                 bcTypes.setAllNeumann();
>>>>>     }
>>>>>     //! Value for dirichlet boundary condition at position globalPos.
>>>>>     /*! In case of a dirichlet BC for the pressure equation the
>>>>> pressure \f$ [Pa] \f$, and for
>>>>>      *  the transport equation the saturation [-] have to be defined
>>>>> on boundaries.
>>>>>      *
>>>>>      *  \param values Values of primary variables at the boundary
>>>>>      *  \param intersection The boundary intersection
>>>>>      *
>>>>>      *  Alternatively, the function dirichletAtPos(PrimaryVariables
>>>>> &values, const GlobalPosition& globalPos)
>>>>>      *  could be defined, where globalPos is the vector including the
>>>>> global coordinates of the finite volume.
>>>>>      */
>>>>>     void dirichletAtPos(PrimaryVariables &values, const
>>>>> GlobalPosition& globalPos) const
>>>>>     {
>>>>>        values=0;
>>>>>
>>>>>        if ((globalPos[0] >  580-  eps_) && (globalPos[1] >  580-
>>>>> eps_) )
>>>>>       {
>>>>>         values[pwIdx] = 3.5e7;
>>>>>         values[swIdx] = 0.0;
>>>>>       }
>>>>>        else if ((globalPos[0] <  20-  eps_) && (globalPos[1] <  20-
>>>>> eps_) )
>>>>>         values[swIdx] = 1.0;
>>>>>     }
>>>>>     //! Value for neumann boundary condition \f$ [\frac{kg}{m^3 \cdot
>>>>> s}] \f$ at position globalPos.
>>>>>     /*! In case of a neumann boundary condition, the flux of matter
>>>>>      *  is returned as a vector.
>>>>>      *
>>>>>      *  \param values Boundary flux values for the different phases
>>>>>      *  \param globalPos The position of the center of the finite
>>>>> volume
>>>>>      *
>>>>>      *  Alternatively, the function neumann(PrimaryVariables &values,
>>>>> const Intersection& intersection) could be defined,
>>>>>      *  where intersection is the boundary intersection.
>>>>>      */
>>>>>     void neumannAtPos(PrimaryVariables &values, const GlobalPosition&
>>>>> globalPos) const /*@\label{tutorial-decoupled:neumann}@*/
>>>>>     {
>>>>>         values = 0;
>>>>>          if ((globalPos[0] <  20-  eps_) && (globalPos[1] <  20-
>>>>> eps_) )
>>>>>         {
>>>>>             values[nPhaseIdx] = -1e-8;
>>>>>              //values[wPhaseIdx] = 0.0;
>>>>>         }
>>>>>        else
>>>>>
>>>>>         {
>>>>>             values[nPhaseIdx] = 0.0;
>>>>>              values[wPhaseIdx] = 0.0;
>>>>>         }
>>>>>     }
>>>>>     //! Initial condition at position globalPos.
>>>>>     /*! Only initial values for saturation have to be given!
>>>>>      *
>>>>>      *  \param values Values of primary variables
>>>>>      *  \param element The finite volume element
>>>>>      *
>>>>>      *  Alternatively, the function initialAtPos(PrimaryVariables
>>>>> &values, const GlobalPosition& globalPos)
>>>>>      *  could be defined, where globalPos is the vector including the
>>>>> global coordinates of the finite volume.
>>>>>      */
>>>>>     void initial(PrimaryVariables &values,
>>>>>             const Element &element) const
>>>>> /*@\label{tutorial-decoupled:initial}@*/
>>>>>     {
>>>>>         values = 0;
>>>>>     }
>>>>>
>>>>> private:
>>>>>     const Scalar eps_;
>>>>> };
>>>>> } //end namespace
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> with eps_=1e-6
>>>>>
>>>>>
>>>>>
>>>>>  and now i have this error
>>>>> Don't panic... !
>>>>>
>>>>> Rank 0: No parameter file given. Defaulting to
>>>>> './tutorial_decoupled.input' for input file.
>>>>> Initializing problem 'tutorial_decoupled'
>>>>> Dune reported error: ISTLError
>>>>> [apply:/home/latifa/Dumux_2.6.0/dune-istl-2.3.1/dune/istl/solvers.hh:651]:
>>>>> breakdown in BiCGSTAB - rho 0 <= EPSILON 1e-80 after 8.5 iterations
>>>>>
>>>>> i don't understand why i have this error, and what does it mean?
>>>>>
>>>>> 2015-10-21 20:06 GMT+02:00 Martin Schneider <
>>>>> <[email protected]>
>>>>> [email protected]>:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> the first if-query is wrong, corresponding to your boundary
>>>>>> conditions:
>>>>>>
>>>>>>     if x < 20m and y < 20 m: q_w.n = -1e-8 and Sw=1
>>>>>>     if x > 580 and y > 580: pw= 150 bar and Sn=1
>>>>>>
>>>>>> it should be
>>>>>>              if ((globalPos[0] >  580-  eps_) && (globalPos[1] >
>>>>>> 580-  eps_) )
>>>>>>             {
>>>>>>                 bcTypes.setDirichlet(pressEqIdx);
>>>>>>                 bcTypes.setDirichlet(satEqIdx);
>>>>>>                //bcTypes.setAllDirichlet(); // alternative if the
>>>>>> same BC is used for both types of equations
>>>>>>             }
>>>>>>
>>>>>> instead of:
>>>>>>              if ((globalPos[0] >  600-  eps_) && (globalPos[1] >
>>>>>> 600-  eps_) )
>>>>>>             {
>>>>>>                 bcTypes.setDirichlet(pressEqIdx);
>>>>>>                 bcTypes.setDirichlet(satEqIdx);
>>>>>>                //bcTypes.setAllDirichlet(); // alternative if the
>>>>>> same BC is used for both types of equations
>>>>>>             }
>>>>>>
>>>>>> Regards,
>>>>>> Martin
>>>>>>
>>>>>>
>>>>>> On 10/21/2015 07:34 PM, Ait Mahiout Latifa wrote:
>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>> i want to change the boundary conditions in tutorial_decoupled
>>>>>> problem, so that in an domain 600*600, are imposed the boundary 
>>>>>> conditions:
>>>>>> if x < 20m and y < 20 m: q_w.n = -1e-8 and Sw=1
>>>>>> if x > 580 and y > 580: pw= 150 bar and Sn=1
>>>>>> and no flux in the other parts of the domain.
>>>>>> So, i change x and y in the .input file, and i have the folowing
>>>>>> modifications in the tutorial_decoupled.hh:
>>>>>> void boundaryTypesAtPos(BoundaryTypes &bcTypes, const GlobalPosition&
>>>>>> globalPos) const /*@\label{tutorial-decoupled:bctype}@*/
>>>>>>     {
>>>>>>             if ((globalPos[0] >  600-  eps_) && (globalPos[1] > 600-
>>>>>> eps_) )
>>>>>>             {
>>>>>>                 bcTypes.setDirichlet(pressEqIdx);
>>>>>>                 bcTypes.setDirichlet(satEqIdx);
>>>>>>                //bcTypes.setAllDirichlet(); // alternative if the
>>>>>> same BC is used for both types of equations
>>>>>>             }
>>>>>>             // all other boundaries
>>>>>>             else  if ((globalPos[0] <  20-  eps_) && (globalPos[1] <
>>>>>> 20-  eps_) )
>>>>>>             {
>>>>>>                 bcTypes.setNeumann(pressEqIdx);
>>>>>>                 bcTypes.setDirichlet(satEqIdx);
>>>>>>                //bcTypes.setAllNeumann(); // alternative if the same
>>>>>> BC is used for both types of equations
>>>>>>             }
>>>>>>             else
>>>>>>                 bcTypes.setAllNeumann();
>>>>>>     }
>>>>>>     //! Value for dirichlet boundary condition at position globalPos.
>>>>>>     /*! In case of a dirichlet BC for the pressure equation the
>>>>>> pressure \f$ [Pa] \f$, and for
>>>>>>      *  the transport equation the saturation [-] have to be defined
>>>>>> on boundaries.
>>>>>>      *
>>>>>>      *  \param values Values of primary variables at the boundary
>>>>>>      *  \param intersection The boundary intersection
>>>>>>      *
>>>>>>      *  Alternatively, the function dirichletAtPos(PrimaryVariables
>>>>>> &values, const GlobalPosition& globalPos)
>>>>>>      *  could be defined, where globalPos is the vector including the
>>>>>> global coordinates of the finite volume.
>>>>>>      */
>>>>>>     void dirichletAtPos(PrimaryVariables &values, const
>>>>>> GlobalPosition& globalPos) const
>>>>>>     {
>>>>>>        if ((globalPos[0] >  600-  eps_) && (globalPos[1] >  600-
>>>>>> eps_) )
>>>>>>       {
>>>>>>         values[pwIdx] = 3.5e7;
>>>>>>         values[swIdx] = 0.0;
>>>>>>       }
>>>>>>        else if ((globalPos[0] <  20-  eps_) && (globalPos[1] <  20-
>>>>>> eps_) )
>>>>>>         values[swIdx] = 1.0;
>>>>>>     }
>>>>>>     //! Value for neumann boundary condition \f$ [\frac{kg}{m^3 \cdot
>>>>>> s}] \f$ at position globalPos.
>>>>>>     /*! In case of a neumann boundary condition, the flux of matter
>>>>>>      *  is returned as a vector.
>>>>>>      *
>>>>>>      *  \param values Boundary flux values for the different phases
>>>>>>      *  \param globalPos The position of the center of the finite
>>>>>> volume
>>>>>>      *
>>>>>>      *  Alternatively, the function neumann(PrimaryVariables &values,
>>>>>> const Intersection& intersection) could be defined,
>>>>>>      *  where intersection is the boundary intersection.
>>>>>>      */
>>>>>>     void neumannAtPos(PrimaryVariables &values, const GlobalPosition&
>>>>>> globalPos) const /*@\label{tutorial-decoupled:neumann}@*/
>>>>>>     {
>>>>>>         values = 0;
>>>>>>          if ((globalPos[0] <  20-  eps_) && (globalPos[1] <  20-
>>>>>> eps_) )
>>>>>>         {
>>>>>>             values[nPhaseIdx] = -1e-8;
>>>>>>              values[wPhaseIdx] = 0.0;
>>>>>>         }
>>>>>>        else
>>>>>>
>>>>>>         {
>>>>>>             values[nPhaseIdx] = 0.0;
>>>>>>              values[wPhaseIdx] = 0.0;
>>>>>>         }
>>>>>>     }
>>>>>>     //! Initial condition at position globalPos.
>>>>>>     /*! Only initial values for saturation have to be given!
>>>>>>      *
>>>>>>      *  \param values Values of primary variables
>>>>>>      *  \param element The finite volume element
>>>>>>      *
>>>>>>      *  Alternatively, the function initialAtPos(PrimaryVariables
>>>>>> &values, const GlobalPosition& globalPos)
>>>>>>      *  could be defined, where globalPos is the vector including the
>>>>>> global coordinates of the finite volume.
>>>>>>      */
>>>>>>     void initial(PrimaryVariables &values,
>>>>>>             const Element &element) const
>>>>>> /*@\label{tutorial-decoupled:initial}@*/
>>>>>>     {
>>>>>>         values = 0;
>>>>>>     }
>>>>>>
>>>>>>
>>>>>> There isn't a problem in compilation, but in execution, io have the
>>>>>> folowing error:
>>>>>>
>>>>>>  ./tutorial_decoupled
>>>>>>
>>>>>> Wherever he saw a hole he always wanted to know the depth of it. To
>>>>>> him this was important.
>>>>>>  - Jules Verne, A journey to the center of the earth
>>>>>>
>>>>>> Rank 0: No parameter file given. Defaulting to
>>>>>> './tutorial_decoupled.input' for input file.
>>>>>> Initializing problem 'tutorial_decoupled'
>>>>>> Dune reported error: ISTLError
>>>>>> [apply:/home/latifa/Dumux_2.6.0/dune-istl-2.3.1/dune/istl/solvers.hh:679]:
>>>>>> h=0 in BiCGSTAB
>>>>>>
>>>>>> So please, where os the problem in my definition of the boundary
>>>>>> conditions? An how i can arrange it?
>>>>>> Best regards.
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dumux mailing 
>>>>>> [email protected]https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> M.Sc. Martin Schneider
>>>>>> University of Stuttgart          
>>>>>> Institute for Modelling Hydraulic and Environmental Systems
>>>>>> Department of Hydromechanics and Modelling of Hydrosystems
>>>>>> Pfaffenwaldring 61
>>>>>> D-70569 Stuttgart
>>>>>> Tel: (+49) 0711/ 685-69159
>>>>>> Fax: (+49) 0711/ 685-60430
>>>>>> E-Mail: [email protected]
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dumux mailing list
>>>>>> [email protected]
>>>>>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dumux mailing 
>>>>> [email protected]https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dumux mailing list
>>>>> [email protected]
>>>>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>
>>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Dumux mailing 
>>> [email protected]https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>
>>>
>>>
>>> _______________________________________________
>>> Dumux mailing list
>>> [email protected]
>>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>
>>>
>>
>
_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to