So i try with TEND = 1000 s, and i have nothing in paraview, there is no
flow, you can see this in the picture joint in last time simulation. I
don't undertand anything. Have you any idea?
Best regards.

2015-10-21 23:37 GMT+02:00 Ait Mahiout Latifa <latifaaitmahi...@gmail.com>:

> 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 <latifaaitmahi...@gmail.com>
> :
>
>> 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 <latifaaitmahi...@gmail.com
>> >:
>>
>>> 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 <martin.schnei...@iws.uni-stuttgart.de
>>> >:
>>>
>>>> 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 <
>>>> latifaaitmahi...@gmail.com>:
>>>>
>>>>> 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 <
>>>>> <martin.schnei...@iws.uni-stuttgart.de>
>>>>> martin.schnei...@iws.uni-stuttgart.de>:
>>>>>
>>>>>> 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 <
>>>>>> <martin.schnei...@iws.uni-stuttgart.de>
>>>>>> martin.schnei...@iws.uni-stuttgart.de>:
>>>>>>
>>>>>>> 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 
>>>>>>> listdu...@listserv.uni-stuttgart.dehttps://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: martin.schnei...@iws.uni-stuttgart.de
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dumux mailing list
>>>>>>> Dumux@listserv.uni-stuttgart.de
>>>>>>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dumux mailing 
>>>>>> listdu...@listserv.uni-stuttgart.dehttps://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dumux mailing list
>>>>>> Dumux@listserv.uni-stuttgart.de
>>>>>> https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Dumux mailing 
>>>> listdu...@listserv.uni-stuttgart.dehttps://listserv.uni-stuttgart.de/mailman/listinfo/dumux
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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