/** * \file * \copyright * Copyright (c) 2012-2021, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license */ #pragma once #include #include #include namespace ProcessLib { namespace LIE { struct FractureProperty; struct JunctionProperty; /// calculate the enrichment function for displacements at the given point /// Remarks: /// * branch/junction intersections of two fractures are supported in 2D /// /// @param frac_props fracture properties /// @param junction_props junction properties /// @param fracID_to_local a mapping table from a fracture ID to a local index /// in frac_props /// @param x evaluating point coordinates /// @return a vector of enrichment values for displacements std::vector uGlobalEnrichments( std::vector const& frac_props, std::vector const& junction_props, std::unordered_map const& fracID_to_local, Eigen::Vector3d const& x); /// calculate the enrichment function for fracture relative displacements /// Remarks: /// * branch/junction intersections of two fractures are supported in 2D /// /// @param this_frac_id the fracture ID /// @param frac_props fracture properties /// @param junction_props junction properties /// @param fracID_to_local a mapping table from a fracture ID to a local index /// in frac_props /// @param x evaluating point coordinates /// @return a vector of enrichment values for fracture relative displacements std::vector duGlobalEnrichments( std::size_t this_frac_id, std::vector const& frac_props, std::vector const& junction_props, std::unordered_map const& fracID_to_local, Eigen::Vector3d const& x); } // namespace LIE } // namespace ProcessLib