@@ -108,8 +108,14 @@ class CConfig {
108108 unsigned short FFD_Blending; /* !< \brief Kind of FFD Blending function. */
109109 su2double* FFD_BSpline_Order; /* !< \brief BSpline order in i,j,k direction. */
110110 su2double FFD_Tol; /* !< \brief Tolerance in the point inversion problem. */
111- su2double Opt_RelaxFactor; /* !< \brief Scale factor for the line search. */
112- su2double Opt_LineSearch_Bound; /* !< \brief Bounds for the line search. */
111+ bool FFD_IntPrev; /* !< \brief Enables self-intersection prevention procedure within the FFD box. */
112+ unsigned short FFD_IntPrev_MaxIter; /* !< \brief Amount of iterations for FFD box self-intersection prevention procedure. */
113+ unsigned short FFD_IntPrev_MaxDepth; /* !< \brief Maximum recursion depth for FFD box self-intersection procedure. */
114+ bool ConvexityCheck; /* !< \brief Enables convexity check on all mesh elements. */
115+ unsigned short ConvexityCheck_MaxIter; /* !< \brief Amount of iterations for convexity check in deformations. */
116+ unsigned short ConvexityCheck_MaxDepth; /* !< \brief Maximum recursion depth for convexity check in deformations.*/
117+ su2double Opt_RelaxFactor; /* !< \brief Scale factor for the line search. */
118+ su2double Opt_LineSearch_Bound; /* !< \brief Bounds for the line search. */
113119 su2double StartTime;
114120 bool ContinuousAdjoint, /* !< \brief Flag to know if the code is solving an adjoint problem. */
115121 Viscous, /* !< \brief Flag to know if the code is solving a viscous problem. */
@@ -8086,6 +8092,27 @@ class CConfig {
80868092 */
80878093 su2double GetFFD_Tol (void ) const { return FFD_Tol; }
80888094
8095+ /* !
8096+ * \brief Get information about whether to do a check on self-intersections within
8097+ the FFD box based on value on the Jacobian determinant.
8098+ * \param[out] FFD_IntPrev: <code>TRUE</code> if FFD intersection prevention is active; otherwise <code>FALSE</code>.
8099+ * \param[out] FFD_IntPrev_MaxIter: Maximum number of iterations in the intersection prevention procedure.
8100+ * \param[out] FFD_IntPrev_MaxDepth: Maximum recursion depth in the intersection prevention procedure.
8101+ */
8102+ tuple<bool , unsigned short , unsigned short > GetFFD_IntPrev (void ) const {
8103+ return make_tuple (FFD_IntPrev, FFD_IntPrev_MaxIter, FFD_IntPrev_MaxDepth);
8104+ }
8105+
8106+ /* !
8107+ * \brief Get information about whether to do a check on convexity of the mesh elements.
8108+ * \param[out] ConvexityCheck: <code>TRUE</code> if convexity check is active; otherwise <code>FALSE</code>.
8109+ * \param[out] ConvexityCheck_MaxIter: Maximum number of iterations in the convexity check.
8110+ * \param[out] ConvexityCheck_MaxDepth: Maximum recursion depth in the convexity check.
8111+ */
8112+ tuple<bool , unsigned short , unsigned short > GetConvexityCheck (void ) const {
8113+ return make_tuple (ConvexityCheck, ConvexityCheck_MaxIter, ConvexityCheck_MaxDepth);
8114+ }
8115+
80898116 /* !
80908117 * \brief Get the scale factor for the line search.
80918118 * \return Scale factor for the line search.
0 commit comments