Skip to content

Fault input orientations affecting result #1080

@javoha

Description

@javoha

Describe the bug
A simple model featuring a single fault and two horizontal units in separate groups. The younger (top) unit is only present in one fault block. Depending on input fault orientation, the older unit gets eroded unexpectedly in the fault block where the younger unit should not be present, due to the fact that the scalar field for the younger unit bends downwards along the fault plane and cuts o-off (due to erode relationship) the older unit.

The resulting models:

Expected result
Image

Model with reversed fault orientation leading to top layer bending downwards along fault plane and eroding lower unit:

Image Image

To Reproduce

Run the following code with the provided input files

geo_model= gp.create_geomodel(
    project_name='fault_test',
    extent=[0, 1000, 0, 1000, 0, 1000],
    resolution=[20,20,20],
    importer_helper=gp.data.ImporterHelper(
        # path_to_orientations="model_orientations_reverse.csv", for "weird" model
        path_to_orientations="model_orientations.csv", # for "correct" model
        path_to_surface_points="model_surface_points.csv"
    )
)

# Map geological series to surfaces
gp.map_stack_to_surfaces(
    gempy_model=geo_model,
    mapping_object={
        "Fault_Series": 'fault',
        "Strat_Series_2": ('rock2'),
        "Strat_Series_1": ('rock1')
    }
)

# Define youngest structural group as fault
gp.set_is_fault(geo_model, ["Fault_Series"])

# Compute the geological model
gp.compute_model(geo_model)

# Display a basic cross section of input data
gpv.plot_2d(geo_model)

Expected behavior
I think only the "correct" model should be calculated, independent of passed orientations.

Additional context
model_orientations_reverse.csv
model_surface_points.csv
model_orientations.csv

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug?Possible bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions