Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dfnGen fails with user defined fractures #56

Open
DaveHealy-github opened this issue Jul 11, 2023 · 8 comments
Open

dfnGen fails with user defined fractures #56

DaveHealy-github opened this issue Jul 11, 2023 · 8 comments
Assignees

Comments

@DaveHealy-github
Copy link

When I run dfnGen with a custom Python script containing say 700 fractures, the code blows up in the Python module hydraulic_properties.py, with a list index exception.
The error reads:


Traceback (most recent call last):
File "/home/daveh/dfnWorks/FracPaQpy/FracPaQpyDFN.py", line 787, in
DFN.create_network()
File "/home/daveh/anaconda3/lib/python3.10/site-packages/pydfnworks/dfnGen/generation/generator.py", line 141, in create_network
self.assign_hydraulic_properties()
File "/home/daveh/anaconda3/lib/python3.10/site-packages/pydfnworks/dfnGen/generation/generator.py", line 416, in assign_hydraulic_properties
self.set_fracture_hydraulic_values(hy_prop_type, [fracture_num],
File "/home/daveh/anaconda3/lib/python3.10/site-packages/pydfnworks/dfnGen/generation/hydraulic_properties.py", line 545, in set_fracture_hydraulic_values
self.aperture[fracture_list - 1] = b
IndexError: index 749 is out of bounds for axis 0 with size 749


An example of one of my scripts is attached below (with .py changed to .txt)
I think the problem lies with the tracking of how many fractures to assign apertures (or other values) to; in this case, I had 765 original fractures, but only 749 after isolated ones were removed. The loop in the above code is defined on the range provided by the length of user_rect_params (i.e., 765 in this case), but the aperture list on the DFN object is sized to the reduced fracture set (749 in this case).
fracpaqpyDFN.txt

@hymanjd
Copy link
Collaborator

hymanjd commented Jul 11, 2023

@aidanstansberry Can you take a look?

@aidanstansberry
Copy link
Collaborator

aidanstansberry commented Jul 11, 2023

There is a straightforward workaround on your end while we work on a fix on our end. If the user fracture is rejected during network generation, we have already stored the hydraulic property value in an array hence the error message. You can comment out any rejected fractures in your input and that should alleviate the error.

Look for lines like this in the output and comment out the corresponding user fractures

Rejected user defined rectangular fracture 695
rejectCode = -6: Fracture too close to another fracture's edge.

@DaveHealy-github
Copy link
Author

Ace, I'll give that a try. Thanks.

@DaveHealy-github
Copy link
Author

Sadly, that didn't work. I commented out the ones being Rejected and that gets me n=749. But then the workflow removes Isolated fractures down to n=666 - and they are not specifically listed on the console. It is this discrepancy (n=749 versus n=666) that is causing the index error, I think.

@aidanstansberry
Copy link
Collaborator

It looks like the same issue occurs when we remove isolated fractures from the domain. If you just want to visualize the DFN add these flags to the script

DFN.params['keepIsolatedFractures']['value'] = True
DFN.params['visualizationMode']['value'] = True

Hopefully this helps.

@DaveHealy-github
Copy link
Author

Thanks again - and yes, that works! That will enable me to move forwards for a while.

@DaveHealy-github
Copy link
Author

Just thinking, it would be v useful to get the rejected fractures from dfnGen listed in a file. I can then script something to comment these out in the next run... Thanks, Dave

@hymanjd
Copy link
Collaborator

hymanjd commented Jul 13, 2023

We will talk about how to do this and let you know when we have a fix. Thanks for the patience and suggestions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants