The tortuosity factor relates the aqueous diffusion coefficient to the pore diffusion coefficient, i.e. multiplying Dw with tw where Dw is the molecular diffusion coefficient in free water and tw is tortuosity fractor in water (see General definition of dispersion coefficient (liquid phase)). The resulting product is called the pore diffusion coefficient. The tortuosity factor depends on the microstructure of the porous medium and on the water saturation degree. Several models exist to calculate the tortuosity factor. In HPx, the models of Millington-Quirk ([Millington and Quirk, 1991], see Tortuosity Models) and Moldrup (Moldrup et al., 1997; Moldrup et al., 2000], see Tortuosity Models) are implemented and can be used via the Solute Transport - General Parameters dialogue window of the HYDRUS GUI. 


In HP1 and HP2/3, tortuosity factor models can be defined by user-defined scripts to account for:

    • spatial and temporal variation in microstructure of the porous medium
    • spatial land temporal variation in water saturation degree


Note that in HP1 and HP2/3, the temperature dependency of the free  aqueous diffusion coefficient should be implemented in the same user-defined script.


On this page, we illustrate how:

    • you implement an alternative tortuosity model


The user defines a script with the datablock calculated_values and -state tortw. That script is executed in each time step and node after solving the water flow and heat transport equation for enabling also the change in water content and temperature in the calcuation of the tortuosity factor (see Flowchart of the transport simulations)

Implement an alternative tortuosity model

To use an alternative model for the aqueous tortuosity factor, one needs to:

    • calculate and update the aqueous tortuosity factor
    • indicate that the aqueous tortuosity factor is calculated with a script during the flow and transport simulation


Calculate the tortuosity factor of the aqueous pahse

After the water flow and solute transport calculations in each time step and for each node, the tortuosity factor of the aqueous phase is calculated. The scripts associated with -state tortw of the calculated_values data block are executed for each node after water flow and solute transport steps in each time step. As such, the tortuosity is calculated using water contents and temperatures in the current time step, and microstructural/geochemical information from the previous time step.


To indicate what value in a script corresponds to the tortuosity factor of the aqueous phase, the save() function needs to be used in which the variable corresponding to the tortuosity is saved.


Important: Because the calculation of the tortuosity factor occurs outside the geochemical calculations, not all script functions will give relevant information, specifically the script functions for geochemical information on molalities, activities, amounts or saturation indices of minerals etc. Therefore, precalculations using specfiic geochemical information should be done in a script with state update.



calculated_values

-state tortw

-mybasic

-start

#statements to calculate tortuosity factor

#...

#tortw = ...

save(tortw)

-end


Indicate evolving using updated transport properties in the flow and transport model

To indicate that a changed porosity and scaling factor of the water content has to be used, -update tortw in reactive_transport is set true.


 

Alternatively, the option for updating the tortuosity of the liquid phase (check Evolving Transport Properties; check Tortuosity Liquide Phase) can be selected in the Model options->Evolving transport properties form of the Reactive Transport Panel.


Important: .When -update tortw in reactive_transport is set true, any of the options that was selected in the HYDRUS graphical user interface are overruled by the options defined in the geochemistry input.