Main content

Home

Menu

Loading wiki pages...

View
Wiki Version:
# Richards' equation This component deals with the development of the numerical integrator of Richards' equation for the 1D case. Some notes can be found here [1] ## October 18th, 2017 ### State of play: - the documentation on overleaf lacks of an explanation about Nested Newton method and its correspondent class *NestedNewton*. This maybe quite interesting since it can be exploited with other PDE, such as Stefan equation. A brief explanation deserves the construction of coefficient matrix **T**. - Implement the impervious bottom boundary condition. **DONE, merged with master.** - Add storativity to extend Richards' equation to the saturated domain. - Add the dependence of Ks on temperature. Decorator pattern? - Find out reliable set of parameters for Brooks and Corey, Kosugi in order to test the code. The same for storativity. - Check students' test on Richards1D, before learn how to use pandas libraries. **DONE, sand goes in pressure if the time step is too large. Convergence does not imply accuracy. The time step has to be related to the saturated hydraulic conductivity, ask to Casulli too.** Now the time step integration is not necessary equal to the time interval of the boundary conditions. Some more tests are necessary. ## October 19th, 2017 I created a new branch named *impervious_bottom_bc* with the aim to implement impervious bottom boundary condition (no-flux at the bottom). Implemented and merged with the master branch. Issue closed. ## October 20th, 2017 I opened some issues on Github. I created a new branch named *source_sink_term* to take into account of the source/sink term in Richards' equation. This developmente works fine: setting the source/sink term equal to 0 I obtain the same values I got before adding it. Implemented but I did not merged with the master since the next step would be to implement the dependence of the source/sink term with time. (Maybe I can merged what I done and later go on with the enanchemnt of this branch, see issue #5) November 14th, 2017 Even though the source/sink term is constant I merged to the branch. I went on with the notes on overleaf, in particular I added the Kosugi's SWRC and the section about storativity. ## November 7th, 2017 Fixed the problem with Kosugi hydraulicConductivity formula on the master. I corrected also on Richards' note. ## November 8th, 2017 ### Initial condition file reader The input file for the initial condition now has an header of 1 line. So plot the initial condition with Jupyter is easier (see the code to plot psi and theta values). As a consequence the reader has been modified. **Note:** this reader is the same used to read the source/sink term file in the branch named *source_sink_term*. Be careful when it will be merged with the *master branch*, and adding an header to the source/sink term file, too. This development has been transferred to the OMS project. ## November 9th, 2017 I uploaded Jupyter_Richards_1D.zip containing three notebooks to plot - SWRC (SWRC - Soil Water Retention Curve .ipynb); - hydraulic conductivity (Hydraulic Conductivity.ipynb); - input/output of Richards' simulation; - (Input_Output_Plot.ipynb). Moreover there some input files to test all these notebook. Nest steps: - Plots may be improved. - Consider the opportunity that the code prints two output files one for the SWRC and the other on for the hydraulic conductivity used in the simulation. Doing so the user should not enter parameters in SWRC - Soil Water Retention Curve .ipynb and Hydraulic Conductivity.ipynb, but just read and plot a .csv file with three columns. DONE: besides the SWRC and the hydraulic conductivity now there is also the moisture capacity function. I have already updated the Input_Ouput_Plot.ipynb to plot these curves. Thus SWRC_with_some_theory.ipynb and Hydraulic_Conductivity_with_some_theory.ipynb may be exploited as a support to study the theory (they will be improved)? I had to modified the first line of the output file for psi and theta so that it is easier to get the date of the solution. This modification has be commited on github for Richards repo. **To be done:** export the jar file with this modification in order to update the OMS project. Then correct the .pptx and push on github. DONE November 10th, 2017 ## November 10th, 2017 Deleted Jupyter_Richards_1D.zip an created a new folder name Jupyter_Richards_1D containing .ipynb and files to test them. The Richards1D has been modified to print a .csv file with soil hydraulic parametrization values for $\theta$, $K$, $c$ ().I modified: - SoilParametrization class adding hydraulicModelCurves method; - PrintTXT class in order to print a 2d array with a prefixed number of column; - Richards1DSolver adding the new variable hydraulicParametrization. All these modification were done on master branch and already committed. The .jar file in the OMS project has been updated and committed on github. **Consider the opportunity to add python notebooks in Richards1D repo and OMS one.** [Look here to find out a better code to print/read .csv files][1] ## November 14th, 2017 I merged the source_sink_term branch with master and fixed conflicts and added the columns header in source/sink input files. It works. This new feature is imported in the OMS project. ## November 16th, 2017 ### Energy equation I opened a new branch *energy_equation* to integrate the energy equation without freezing. I added some bibliography. ## November 22nd, 2017 I implement the *ThermalSoilParametrization* class and the relative factory. At the moment there I found just one parametrization for the thermal capacity and implemented just on thermal conductivity parametrization (Johansen) among those reported in Dall'Amico's phd thesis. Reading the Hydrus documentation I learned the difference between Neumann and Cauchy boundary condition. Hence, I have to revise the Neumann top boundary condition in Richards' classes. ## November 27th, 2017 [The development of the integrator for the energy equation is now in a different component][2]. ## February 2nd, 2018 *time_step_integration*: now it is possible to integrate Richards' equation with a time step different (smaller, at least equal) to that of time series for BCs. I have tested for Dirichlet BC and it works. Now I compute and print out also fluxes (in 1D velocities). Related to this, there are still some problem in the code. When the time step of integration is smaller than that of time series, fluxes should be the computed as the sum of fluxes computed in each integration loop. Top BC Neumann: the flux at the top is evaluated as the $min(J,k(\psi_{1}^n)$, something similar to what is coded in CATHY. PROBLEMI CON TRAVIS FIXED!! ## February 3rd, 2018 Fluxes are now compute inside while cycle in the proper manner also for Top Neumann BC and Free Drainage and Impervious bottom. NOTE still to fix the case of bottom Neumann. ## February 21st, 2018 time_step_integration merged with master. Without fixing the bottom flux with Neumann boundary condition. I opened a new branch *surface_subsurface_coupled* to cope with surface ponding water. [Some notes on theory can be found here.][3] ## March 24th, 2018 I uploaded Surface_subsurface_coupled_1D, a Matlab script to integrate Richards 1D taking into account of water storage on the surface. This allows to assign the correct boundary condition at the surface. ## March 26th,2018 I updated branch *surface_subsurface_coupled* following matlab code. Remain to compute velocities (pay attention to the computation of hydraulic conductivity outside the timeDelta loop) and the mass balance. ## April 6th,2018 I implemented diffusion-convection of internal energy. Necessary to check max-min property and a to think to a better classes design. ## April 26th, 2018 I updated branch *surface_subsurface_coupled* saving outputs in NetCDF format. I uploaded some notebooks to plot input and outputs ## May 3rd, 2018 *surface_subsurface_coupled* is almost completed (numerical experiments to be done): - grid is produced by a mesh gen and the output is a .nc - there is a class that reads the grid.nc - solver - buffer - writer .nc All was committed, I still have to push on github. Necessary to complete the OMS project with last modifications. I uploaded the new version of RicharsMeshGen: necessary to make some more tests. Travis [1]: http://ostermiller.org/utils/CSV.html [2]: https://osf.io/jta5n/ [3]: https://www.overleaf.com/13636032tnrwmntkdsmv
OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser.
Accept
This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our Privacy Policy and information on cookie use.
Accept
×

Start managing your projects on the OSF today.

Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.