acroucher / PyTOUGH

A Python library for automating TOUGH2 simulations of subsurface fluid and heat flow
GNU Lesser General Public License v3.0
96 stars 36 forks source link

define layer thickness in a column-wise manner #34

Closed uqzhaozicheng closed 2 years ago

uqzhaozicheng commented 2 years ago

Hi Adrian,

After importing a 2-D gmsh mesh into the geometry object, I tried to define the thickness of each layer using the parameter [layers] and it worked well. I was just wondering if it is possible to use different layer thicknesses for different columns? For example, I want to use 1m as the thickness of column a and b , but 100m for column c and d. From my understanding, in PyTough, all blocks in each layer must have the same specified thickness. But it seems this is doable from this picture, perhaps by removing some layer of a specific column? Any clue on this? Thanks in advance! image

Cheers, Zicheng

acroucher commented 2 years ago

You're right, in a mulgrid geometry, all blocks in each layer have the same vertical thickness, i.e. you can't have layers with thickness that varies from column to column.

However you can represent topography (as in the picture) by having incomplete layers - so the uppermost layers may not have blocks in every column. It is also possible for the blocks in the top layer to have different vertical thicknesses.

The easiest way to do that is usually using the mulgrid fit_surface() method. This fits a dataset of e.g. (x,y,z) topography data, removing the upper blocks as needed and setting the thicknesses of the top blocks to fit the surface data.