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