resqpy.multi_processing.find_faces_to_represent_surface_regular_wrapper

resqpy.multi_processing.find_faces_to_represent_surface_regular_wrapper(index: int, parent_tmp_dir: str, use_index_as_realisation: bool, grid_epc: str, grid_uuid: Union[UUID, str], surface_epc: str, surface_uuid: Union[UUID, str], name: str, title: Optional[str] = None, agitate: bool = False, random_agitation: bool = False, feature_type: str = 'fault', trimmed: bool = False, is_curtain=False, extend_fault_representation: bool = False, flange_inner_ring=False, saucer_parameter=None, retriangulate: bool = False, related_uuid=None, progress_fn: Optional[Callable] = None, extra_metadata=None, return_properties: Optional[List[str]] = None, raw_bisector: bool = False, use_pack: bool = False, flange_radius=None) Tuple[int, bool, str, List[Union[UUID, str]]]

Multiprocessing wrapper function of find_faces_to_represent_surface_regular_optimised.

Parameters
  • index (int) – the index of the function call from the multiprocessing function

  • parent_tmp_dir (str) – the parent temporary directory path from the multiprocessing function

  • use_index_as_realisation (bool) – if True, uses the index number as the realization number on the property collection

  • grid_epc (str) – epc file path where the grid is saved

  • grid_uuid (UUID or str) – UUID (universally unique identifier) of the grid object

  • surface_epc (str) – epc file path where the surface (or point set) is saved

  • surface_uuid (UUID or str) – UUID (universally unique identifier) of the surface (or point set) object.

  • name (str) – the feature name to use in the grid connection set.

  • title (str) – the citation title to use for the grid connection set; defaults to name

  • agitate (bool) – if True, the points of the surface are perturbed by a small offset, which can help if the surface has been built from a regular mesh with a periodic resonance with the grid

  • random_agitation (bool, default False) – if True, the agitation is by a small random distance; if False, a constant positive shift of 5.0e-6 is applied to x, y & z values; ignored if agitate is False

  • feature_type (str, default 'fault') – one of ‘fault’, ‘horizon’, or ‘geobody boundary’

  • trimmed (bool, default True) – if True the surface has already been trimmed

  • is_curtain (bool, default False) – if True, only the top layer is intersected with the surface and bisector is generated as a column property if requested

  • extend_fault_representation (bool, default False) – if True, the representation is extended with a flange

  • flange_inner_ring (bool, default False) – if True, an inner ring of points, with double flange point counr, is created at a radius just outside that of the furthest flung original point; this improves triangulation of the extended point set when the original has a non-convex hull

  • saucer_parameter (float, optional) – if present, and extend_with_flange is True, then a parameter controlling the shift of flange points in a perpendicular direction away from the fault plane; see notes for how this parameter is interpreted

  • retriangulate (bool, default False) – if True, a retriangulation is performed even if not needed otherwise

  • related_uuid (uuid, optional) – if present, the uuid of an object to be softly related to the gcs (and to grid bisector and/or shadow property if requested)

  • progress_fn (Callable) – a callback function to be called at intervals by this function; the argument will progress from 0.0 to 1.0 in unspecified and uneven increments

  • extra_metadata (dict, optional) – extra metadata items to be added to the grid connection set

  • return_properties (list of str) – if present, a list of property arrays to calculate and return as a dictionary; recognised values in the list are ‘triangle’, ‘depth’, ‘offset’, ‘normal vector’, ‘flange bool’, ‘grid bisector’ and ‘grid shadow’; triangle is an index into the surface triangles of the triangle detected for the gcs face; depth is the z value of the intersection point of the inter-cell centre vector with a triangle in the surface; offset is a measure of the distance between the centre of the cell face and the intersection point; normal vector is a unit vector normal to the surface triangle; each array has an entry for each face in the gcs; grid bisector is a grid cell boolean property holding True for the set of cells on one side of the surface, deemed to be shallower; grid shadow is a grid cell int8 property holding 1 for cells neither above nor below a K face, 1 for above, 2 for beneath, 3 for between; the returned dictionary has the passed strings as keys and numpy arrays as values

  • raw_bisector (bool, default False) – if True and grid bisector is requested then it is left in a raw form without assessing which side is shallower (True values indicate same side as origin cell)

  • use_pack (bool, default False) – if True, boolean properties will be stored in numpy packed format, which will only be readable by resqpy based applications

  • flange_radius (float, optional) – the radial distance to use for outer flange extension points; if None, a large value will be calculated from the grid size; units are xy units of grid crs

Returns

Tuple containing – - index (int): the index passed to the function - success (bool): whether the function call was successful, whatever that definiton is - epc_file (str): the epc file path where the objects are stored - uuid_list (List[str]): list of UUIDs of relevant objects

Notes

Use this function as argument to the multiprocessing function; it will create a new model that is saved in a temporary epc file and returns the required values, which are used in the multiprocessing function to recombine all the objects into a single epc file; the saucer_parameter is interpreted in one of two ways: (1) +ve fractoinal values between zero and one are the fractional distance from the centre of the points to its rim at which to sample the surface for extrapolation and thereby modify the recumbent z of flange points; 0 will usually give shallower and smoother saucer; larger values (must be less than one) will lead to stronger and more erratic saucer shape in flange; (2) other values between -90.0 and 90.0 are interpreted as an angle to apply out of the plane of the original points, to give a simple (and less computationally demanding) saucer shape; +ve angles result in the shift being in the direction of the -ve z hemisphere; -ve angles result in the shift being in the +ve z hemisphere; in either case the direction of the shift is perpendicular to the average plane of the original points