1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[11946],{29189(e,t,n){n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>h});const s=JSON.parse('{"id":"general/fractures-structure/slope-stability","title":"Slope Stability (Kinematic Analysis)","description":"Screen a rock slope for planar sliding, wedge sliding, flexural toppling and direct toppling against your discontinuity sets \u2014 mapped over every point of a mesh or point cloud, or for one slope face on the stereonet.","source":"@site/docs/general/fractures-structure/slope-stability.md","sourceDirName":"general/fractures-structure","slug":"/slope-stability","permalink":"/docs/next/slope-stability","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/general/fractures-structure/slope-stability.md","tags":[],"version":"current","sidebarPosition":12.5,"frontMatter":{"id":"slope-stability","title":"Slope Stability (Kinematic Analysis)","description":"Screen a rock slope for planar sliding, wedge sliding, flexural toppling and direct toppling against your discontinuity sets \u2014 mapped over every point of a mesh or point cloud, or for one slope face on the stereonet.","slug":"/slope-stability","sidebar_label":"Slope Stability","sidebar_position":12.5,"keywords":["slope stability","kinematic analysis","rockfall","planar sliding","wedge sliding","flexural toppling","direct toppling","daylighting","stereonet","Dips"]},"sidebar":"docs","previous":{"title":"Stereonet","permalink":"/docs/next/general/fractures-structure/stereonet-user-guide"},"next":{"title":"Slope Stability \u2014 Method","permalink":"/docs/next/general/fractures-structure/slope-stability-method"}}');var i=n(74848),r=n(28453);const o={id:"slope-stability",title:"Slope Stability (Kinematic Analysis)",description:"Screen a rock slope for planar sliding, wedge sliding, flexural toppling and direct toppling against your discontinuity sets \u2014 mapped over every point of a mesh or point cloud, or for one slope face on the stereonet.",slug:"/slope-stability",sidebar_label:"Slope Stability",sidebar_position:12.5,keywords:["slope stability","kinematic analysis","rockfall","planar sliding","wedge sliding","flexural toppling","direct toppling","daylighting","stereonet","Dips"]},l=void 0,a={},h=[{value:"The four failure modes",id:"the-four-failure-modes",level:2},{value:"Before you start: discontinuity sets",id:"before-you-start-discontinuity-sets",level:2},{value:"Mapping a mesh or point cloud",id:"mapping-a-mesh-or-point-cloud",level:2},{value:"Typical workflow",id:"typical-workflow",level:3},{value:"Prerequisites",id:"prerequisites",level:3},{value:"The dialog",id:"the-dialog",level:3},{value:"Running and cancelling",id:"running-and-cancelling",level:3},{value:"What it writes",id:"what-it-writes",level:3},{value:"Remembered settings",id:"remembered-settings",level:3},{value:"On the stereonet",id:"on-the-stereonet",level:2},{value:"Typical workflow",id:"typical-workflow-1",level:3},{value:"Properties",id:"properties",level:3},{value:"What is drawn",id:"what-is-drawn",level:3},{value:"The key",id:"the-key",level:3},{value:"Exporting",id:"exporting",level:3},{value:"Choosing the parameters",id:"choosing-the-parameters",level:2},{value:"Tips and troubleshooting",id:"tips-and-troubleshooting",level:2},{value:"See also",id:"see-also",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Slope Stability tests where the geometry of a slope and of its discontinuities lets a block\nslide or topple. It checks four failure modes against the discontinuity sets you have measured\n\u2014 ",(0,i.jsx)(t.strong,{children:"planar sliding"}),", ",(0,i.jsx)(t.strong,{children:"wedge sliding"}),", ",(0,i.jsx)(t.strong,{children:"flexural toppling"})," and ",(0,i.jsx)(t.strong,{children:"direct toppling"})," \u2014 and\nreports each as the percentage of a set's planes, or of the lines where tw
1o sets' planes meet,\nthat are critical."]}),"\n",(0,i.jsx)(t.p,{children:"It works two ways, with the same tests:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"On a mesh or point cloud"}),", it fits the slope face around every point at a scale you\nchoose and writes a map for each mode, plus ",(0,i.jsx)(t.strong,{children:"Kinematic Mode"}),", the dominant mode at every\npoint. Use it to find where along an outcrop or a cutting each set becomes a hazard."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"On the stereonet"}),", it analyses one slope face you set, draws its construction and critical\nzones over your, and lists the percentages group by group."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Kinematic screening, not a factor of safety",type:"note",children:(0,i.jsxs)(t.p,{children:["The analysis says where the geometry ",(0,i.jsx)(t.em,{children:"permits"})," failure. It knows nothing of cohesion, water\npressure, block size or persistence, and a critical percentage is not a probability of failure.\nUse it to decide where to look, then assess those places properly."]})}),"\n",(0,i.jsxs)(t.p,{children:["The tests, with the formulas, are in ",(0,i.jsx)(t.a,{href:"/docs/next/general/fractures-structure/slope-stability-method",children:"Slope Stability \u2014 Method"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"the-four-failure-modes",children:"The four failure modes"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Mode"}),(0,i.jsx)(t.th,{children:"Tested on"}),(0,i.jsx)(t.th,{children:"Critical when"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Planar sliding"})}),(0,i.jsx)(t.td,{children:"Each plane of a set"}),(0,i.jsxs)(t.td,{children:["The plane dips out of the face more steeply than the friction angle but less steeply than the face, so it ",(0,i.jsx)(t.strong,{children:"daylights"}),", and its dip direction is within the lateral limit of the face's (default 20\xb0)."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Wedge sliding"})}),(0,i.jsx)(t.td,{children:"The lines where planes of two sets meet"}),(0,i.jsx)(t.td,{children:"The line plunges out of the face more steeply than the friction angle and daylights (Markland's test). The block may then slide along the line or, by Hocking's test, down one of its planes; either way it counts. No lateral limit."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Flexural toppling"})}),(0,i.jsx)(t.td,{children:"Each plane of a set"}),(0,i.jsx)(t.td,{children:"The plane dips steeply into the face \u2014 its pole lies below the slip-limit plane, which dips at the face dip minus the friction angle \u2014 within the lateral limit of straight in (default 30\xb0)."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Direct toppling"})}),(0,i.jsx)(t.td,{children:"The lines where planes of two sets meet"}),(0,i.jsx)(t.td,{children:"The line plunges into the slope within the lateral limit of straight in (default 20\xb0), and is no further from vertical than the face dip, so the columns it bounds lean out of the face."})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"Wedge sliding and direct toppling need planes in at least two sets. Lines are only formed\nbetween planes of different sets, and two planes within 10\xb0 of parallel form no line."}),"\n",(0,i.jsx)(t.h2,{id:"before-you-start-discontinuity-sets",children:"Before you start: discontinuity sets"}),"\n",(0,i.jsxs)(t.p,{children:["Both ways of running the analysis treat ",(0,i.jsx)(t.strong,{children:"one folder as one set"}),". Put the measured planes of\neach set in a folder of its own under ",(0,i.jsx)(t.strong,{children:"Orientations"})," in the Interpretation tree \u2014 by hand, or\nwith ",(0,i.jsx)(t.strong,{children:"Auto-cluster Selected Orientations"})," on the ",(0,i.jsx)(t.a,{href:"/docs/next/trees/interp/orientation",children:"Orientation"}),"\nbranch, which sorts the selected measurements into set folders."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Lineations are left out: they have no plane."}
1),"\n",(0,i.jsxs)(t.li,{children:["The map analysis takes the planes ",(0,i.jsx)(t.strong,{children:"directly"})," in each folder you tick; planes in a subfolder\nbelong to the subfolder, which is listed as a set of its own. Every orientation folder counts,\nincluding one made with the stereonet's ",(0,i.jsx)(t.strong,{children:"Group Selected"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["The stereonet takes the plane interpretations it plots, one set per folder, as the maps do:\ntwo folders with the same name are two sets, and the key tells them apart by their paths.\nPlanes that sit directly under ",(0,i.jsx)(t.strong,{children:"Orientations"})," form one set, ",(0,i.jsx)(t.em,{children:"Ungrouped"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Auto-cluster copies."})," Auto-cluster copies the planes into its cluster folders and leaves the\noriginals where they were. A folder that holds every plane of a folder below it \u2014 the one\nAuto-cluster read from \u2014 is not a set unless you choose it: the dialog leaves it unticked the\nfirst time, and the stereonet leaves its poles out and says how many in the key. As a set, its\nplanes would meet copies of their own set's in lines that no two sets form, inflating wedge\nsliding and direct toppling."]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"mapping-a-mesh-or-point-cloud",children:"Mapping a mesh or point cloud"}),"\n",(0,i.jsx)(t.h3,{id:"typical-workflow",children:"Typical workflow"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsx)(t.li,{children:"Sort the measured planes into one folder per set (above)."}),"\n",(0,i.jsxs)(t.li,{children:["In the Data Tree, select one or more loaded meshes or point clouds, right-click, and choose\n",(0,i.jsx)(t.strong,{children:"Attributes & Analysis \u2192 Slope Stability (Kinematic)\u2026"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["In the dialog, tick the folders to use as sets, check the ",(0,i.jsx)(t.strong,{children:"Radius"}),", the ",(0,i.jsx)(t.strong,{children:"Friction angle"}),"\nand the modes to test, and press ",(0,i.jsx)(t.strong,{children:"OK"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["When the run finishes the object is coloured by ",(0,i.jsx)(t.strong,{children:"Kinematic Mode"}),", and the messages panel\ngives the share of the surface in each mode."]}),"\n",(0,i.jsxs)(t.li,{children:["Look at the percentage layer of each mode to see how strongly a place is affected, and at\n",(0,i.jsx)(t.strong,{children:"Face Dip"})," and ",(0,i.jsx)(t.strong,{children:"Face Dip Direction"})," to check the faces were fitted at a sensible scale."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"A loaded triangulated mesh or point cloud. A tile of a tiled model cannot be analysed."}),"\n",(0,i.jsxs)(t.li,{children:["At least one folder under ",(0,i.jsx)(t.strong,{children:"Orientations"})," with plane measurements in it. Without one the\ncommand stops with a warning telling you to make the set folders first."]}),"\n",(0,i.jsxs)(t.li,{children:["To tell a face from its back \u2014 an overhang from a slope facing the other way \u2014 the analysis\nneeds to know which side of the surface is out of the rock. A ",(0,i.jsx)(t.strong,{children:"mesh"})," has this from its\ntriangle winding. A ",(0,i.jsx)(t.strong,{children:"point cloud"})," has it only if it carries camera-oriented normals, the\n",(0,i.jsx)(t.code,{children:"Nx"}),", ",(0,i.jsx)(t.code,{children:"Ny"})," and ",(0,i.jsx)(t.code,{children:"Nz"})," layers of an SfM dense cloud; without them every face is taken to look\nupward."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"the-dialog",children:"The dialog"}),"\n",(0,i.jsx)(t.p,{children:"The line at the top names the object, its number of points and where the outward side of each\nface comes from. With several objects selected, one dialog is filled from the first and its\noptions apply to all of them."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Discontinuity sets"})," lists every folder under ",(0,i.jsx)(t.strong,{children:"Orientations"})," that holds planes, with its\npath and its number of planes. Each ticked folder is one set. The first time on an object every\nfolder is ticked \u2014 which errs towards more hazard, not less \u2014 except one Auto-cluster copied its\nplanes out of (above); after that, the folders you ticked last time. When a plane is in more than\none ticked folder, the messages panel warns how many."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Slope face"})}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Radius (model units)"})}),(0,i.jsx)(t.td,{children:"The scale of the failures being assessed: the slope face at a point is fitted over the surface within this radius. The note beside it gives the point spacing and a suggestion, 2% of the model's diagonal but no less than twenty point spacings. A radius under four point spacings is raised to four."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Its normals point into the rock (flip them)"})}
1),(0,i.jsx)(t.td,{children:"Reverse the outward side taken from the mesh winding or the point normals. Tick it for a mesh wound inside out \u2014 the messages panel warns when more than half of a mesh's faces look downward. Greyed when the object has no oriented normals."})]})]})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Kinematic tests"})}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Field"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Friction angle (deg)"})}),(0,i.jsxs)(t.td,{children:["Friction angle of the discontinuities, 0\u201389. The first time, it is the angle whose tangent is the project's ",(0,i.jsx)(t.strong,{children:"Friction Coefficient"})," (",(0,i.jsx)(t.a,{href:"/docs/next/general/setup-system/project-properties#stress-field",children:"Project Properties"}),"): about 31\xb0 (30.96\xb0) for the default 0.6."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Classify at (% critical)"})}),(0,i.jsxs)(t.td,{children:["A point is given a mode in ",(0,i.jsx)(t.strong,{children:"Kinematic Mode"})," only when that mode's percentage reaches this. Default 10."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Planar sliding"})," \xb7 ",(0,i.jsx)(t.strong,{children:"Lateral limit (deg)"})]}),(0,i.jsx)(t.td,{children:"Test planar sliding, with how far a sliding plane's dip direction may swing from the face's. Default 20."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Wedge sliding"})}),(0,i.jsx)(t.td,{children:"Test wedge sliding on the lines where planes of two different sets meet."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Flexural toppling"})," \xb7 ",(0,i.jsx)(t.strong,{children:"Lateral limit (deg)"})]}),(0,i.jsx)(t.td,{children:"Test flexural toppling, with how far a toppling plane may swing from dipping straight into the face. Default 30."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Direct toppling"})," \xb7 ",(0,i.jsx)(t.strong,{children:"Lateral limit (deg)"})]}),(0,i.jsx)(t.td,{children:"Test direct toppling on the lines of two sets, with how far a line may swing from plunging straight into the slope. Default 20."})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"The lateral limits run from 0 to 90. At least one folder and one mode must be ticked."}),"\n",(0,i.jsx)(t.h3,{id:"running-and-cancelling",children:"Running and cancelling"}),"\n",(0,i.jsxs)(t.p,{children:["The run shows as a ",(0,i.jsx)(t.code,{children:"slopestability"})," progress bar: sampling the surface, fitting the slope faces,\nforming the intersections, then the kinematic tests. Stop it with the bar's terminate button or\nthe tree's ",(0,i.jsx)(t.strong,{children:"Cancel Operation"})," on the object; with several objects selected, cancelling stops\nthe rest too. A run fits the faces once and then evaluates each face orientation once, so its\ntime depends on the model's area and the radius far more than on its number of points."]}),"\n",(0,i.jsx)(t.h3,{id:"what-it-writes",children:"What it writes"}),"\n",(0,i.jsx)(t.p,{children:"Every run replaces these point (vertex) layers on the object:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Layer"}),(0,i.jsx)(t.th,{children:"Values"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Face Dip"})}),(0,i.jsx)(t.td,{children:"Dip of the fitted slope face, 0\u2013180\xb0. Above 90 the face overhangs."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Face Dip Direction"})}),(0,i.jsx)(t.td,{children:"The direction the face looks, 0\u2013360\xb0, on a cyclic colour map so 359 and 1 look alike."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Planar Sliding"})}),(0,i.jsx)(t.td,{children:"Percentage critical, 0\u2013100, of the most critical set."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Wedge Sliding"})}),(0,i.jsx)(t.td,{children:"Percentage of the lines of the most critical pair of sets that pass Markland's test, whether the block slides along the line or down one of its plane
1s."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Flexural Toppling"})}),(0,i.jsx)(t.td,{children:"Percentage critical of the most critical set."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Direct Toppling"})}),(0,i.jsx)(t.td,{children:"Percentage critical of the lines of the most critical pair of sets."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Kinematic Mode"})}),(0,i.jsxs)(t.td,{children:["The dominant mode: ",(0,i.jsx)(t.strong,{children:"0"})," none (grey), ",(0,i.jsx)(t.strong,{children:"1"})," planar sliding (red), ",(0,i.jsx)(t.strong,{children:"2"})," wedge sliding (orange), ",(0,i.jsx)(t.strong,{children:"3"})," flexural toppling (purple), ",(0,i.jsx)(t.strong,{children:"4"})," direct toppling (blue)."]})]})]})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["A percentage layer holds the ",(0,i.jsx)(t.strong,{children:"highest"})," percentage over the sets, or pairs of sets, so one\ncritical set is not diluted by others that are not. The stereonet reports each set separately."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Kinematic Mode"})," takes the tested mode with the highest percentage (on a tie: planar, wedge,\nflexural, then direct), or none when that is below ",(0,i.jsx)(t.strong,{children:"Classify at"}),"."]}),"\n",(0,i.jsx)(t.li,{children:"A mode you did not tick has no layer: one left by an earlier run is removed."}),"\n",(0,i.jsx)(t.li,{children:"Points with too few neighbours within the radius for a face get no value in any layer."}),"\n",(0,i.jsx)(t.li,{children:"The percentage layers have a fixed 0\u2013100 range, so colours compare between runs and objects."}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Kinematic Mode"})," uses the ",(0,i.jsx)(t.em,{children:"Kinematic Failure Mode"})," colour map, kept with the project's colour\nmaps; change its colours there. A layer made before direct toppling existed keeps the older,\nfour-colour ",(0,i.jsx)(t.em,{children:"Kinematic Mode"})," map, which is left as it was, and the five-colour map starts from\nits colours, so any you chose carry over."]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"The messages panel ends the run with the share of the surface in each mode, the radius, the\nfriction angle and the numbers of sets and planes. It adds a notice when points got no face,\nwhen faces could not be told from their backs, and when wedge sliding and direct toppling found\nno pair of sets to form lines from."}),"\n",(0,i.jsx)(t.h3,{id:"remembered-settings",children:"Remembered settings"}),"\n",(0,i.jsx)(t.p,{children:"The settings of the last run \u2014 radius, flip, friction angle, limits, modes, threshold and the\nfolders used \u2014 are kept on the object and saved with the project, so the dialog reopens with\nthem."}),"\n",(0,i.jsx)(t.h2,{id:"on-the-stereonet",children:"On the stereonet"}),"\n",(0,i.jsx)(t.p,{children:"The stereonet analyses one slope face: it draws the\nconstruction for the chosen failure mode, shades the critical zones, and lists the percentage\nof each set's planes \u2014 or of the lines where two sets' planes meet \u2014 that are critical."}),"\n",(0,i.jsx)(t.h3,{id:"typical-workflow-1",children:"Typical workflow"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Open a ",(0,i.jsx)(t.strong,{children:"Stereonet"})," window on your orientation data."]}),"\n",(0,i.jsxs)(t.li,{children:["In its property sheet, under ",(0,i.jsx)(t.strong,{children:"Analysis Display Properties"}),", tick ",(0,i.jsx)(t.strong,{children:"Kinematic Analysis"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Pick the ",(0,i.jsx)(t.strong,{children:"Failure Mode"}),", and enter the ",(0,i.jsx)(t.strong,{children:"Slope Dip"})," and ",(0,i.jsx)(t.strong,{children:"Slope Dip Direction"})," of the face."]}),"\n",(0,i.jsxs)(t.li,{children:["Check the ",(0,i.jsx)(t.strong,{children:"Friction Angle"})," \u2014 the first time it is taken from the project's friction\ncoefficient \u2014 and the ",(0,i.jsx)(t.strong,{children:"Lateral Limit"}),"."]}),"\n",(0,i.jsx)(t.li,{children:"Read the zones on the net and the percentages in the key."}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"properties",children:"Properties"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.em,{children:"Stereonet window only."}
1)," These settings belong to the window and are not saved with the project."]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Kinematic Analysis"})}),(0,i.jsx)(t.td,{children:"Draw the analysis."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Failure Mode"})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Planar Sliding"}),", ",(0,i.jsx)(t.strong,{children:"Wedge Sliding"}),", ",(0,i.jsx)(t.strong,{children:"Flexural Toppling"})," or ",(0,i.jsx)(t.strong,{children:"Direct Toppling"}),". The rows below follow the mode."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Slope Dip"})}),(0,i.jsx)(t.td,{children:"Dip of the slope face, 0\u2013180\xb0; above 90 it overhangs. Default 60."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Slope Dip Direction"})}),(0,i.jsx)(t.td,{children:"The direction the face looks, in degrees clockwise from north. Default 180."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Friction Angle"})}),(0,i.jsxs)(t.td,{children:["Friction angle of the discontinuities. It starts from the project's ",(0,i.jsx)(t.strong,{children:"Friction Coefficient"})," the first time the analysis is shown in the window, as the mesh analysis does (about 31\xb0 for 0.6)."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Lateral Limit"})}),(0,i.jsx)(t.td,{children:"Degrees either side of straight out (planar sliding) or straight in (toppling) that a plane or line may swing and still count: 20 for planar sliding, 30 for flexural toppling, 20 for direct toppling, each kept separately. Wedge sliding has none, and the row is not shown."})]})]})]}),"\n",(0,i.jsx)(t.h3,{id:"what-is-drawn",children:"What is drawn"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Mode"}),(0,i.jsx)(t.th,{children:"The net shows"}),(0,i.jsx)(t.th,{children:"Curves"}),(0,i.jsx)(t.th,{children:"Zones"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Planar Sliding"})}),(0,i.jsx)(t.td,{children:"Poles"}),(0,i.jsx)(t.td,{children:"Slope face, friction cone, daylight envelope, lateral limits"}),(0,i.jsx)(t.td,{children:"Red: poles of the planes critical for planar sliding."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Wedge Sliding"})}),(0,i.jsx)(t.td,{children:"Lines of intersection"}),(0,i.jsx)(t.td,{children:"Slope face, friction cone, friction plane"}),(0,i.jsx)(t.td,{children:"Red: lines that slide (Markland's test). Yellow: lines that daylight between the slope face and the friction plane, where a wedge can slide only on one of its planes."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Flexural Toppling"})}),(0,i.jsx)(t.td,{children:"Poles"}),(0,i.jsx)(t.td,{children:"Slope face, slip limit plane, lateral limits"}),(0,i.jsx)(t.td,{children:"Red: poles of the planes critical for flexural toppling."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Direct Toppling"})}),(0,i.jsx)(t.td,{children:"Lines, and the poles of base planes"}),(0,i.jsx)(t.td,{children:"Slope face, friction cone, slope angle cone, lateral limits"}),(0,i.jsx)(t.td,{children:"Red: direct toppling (Dips' zones 1 and 2). Yellow: oblique toppling (zone 3)."})]})]})]}),"\n",(0,i.jsx)(t.p,{children:"The zones sit over the density contours and under the poles and planes; the curves are drawn\nover the planes, under the interpretation poles. Both work in equal-angle and equal-area."}),"\n",(0,i.jsx)(t.admonition,{title:"Lines of intersection",type:"tip",children:(0,i.jsxs)(t.p,{children:["In wedge sliding and direct toppling the zones apply to lines of intersection, but the net plots\npoles. Turn on ",(0,i.jsx)(t.strong,{children:"Show Planes"})," and read the zones where the great circles cross; the percentages\nin the key count the lines themselves."]})}),"\n",(0,i.jsx)(t.h3,{id:"the-key",children:"The key"}),"\n",(0,i.jsx)(t.p,{children:"The kinematic key sits in the top-right strip, below the stereonet key when that is shown, and a\nlong key continues in further columns to the right rather than off the bottom of the view. It\nnames the mode, the slope face, the friction angle and the lateral limits, gives a swatch for\nevery curve and zone drawn, and then a table:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Mode"}),(0,i.jsx)(t.th,{children:"Table"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Planar Sliding"}),", ",(0,i.jsx)(t.strong,{children:"Flexural Toppling"})]}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Planes"}),": the percentage ",(0,i.jsx)(t.strong,{children:"Critical"})," and the number of planes ",(0,i.jsx)(t.strong,{children:"N"}),", for ",(0,i.jsx)(t.strong,{children:"All"})," planes together and for each set."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Wedge Sliding"})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Lines"}),": ",(0,i.jsx)(t.strong,{children:"Wedge"})," (passing Markland's test, as the map counts), ",(0,i.jsx)(t.strong,{children:"1 plane"})," (blocks that slide on one of their planes rather than along the line: Hocking's cases among the Wedge lines, and lines in the secondary zone) and ",(0,i.jsx)(t.strong,{children:"N"}),", the number of pairs of planes that meet in a line, for ",(0,i.jsx)(t.strong,{children:"All"})," and for each pair of sets, ",(0,i.jsx)(t.em,{children:"A \xd7 B"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Direct Toppling"})}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.strong,{children:"Lines"}),": ",(0,i.jsx)(t.strong,{children:"Direct"})," and ",(0,i.jsx)(t.strong,{children:"Oblique"}),", and ",(0,i.jsx)(t.strong,{children:"N"}),"; then ",(0,i.jsx)(t.strong,{children:"Planes"}),": ",(0,i.jsx)(t.strong,{children:"Base"}),", the share of each set's planes that can be the base of a toppling column."]})]})]})]}),"\n",(0,i.jsxs)(t.p,{children:["A set's percentage is what the map layers hold for a face of this orientation when that set is\nthe most critical one. ",(0,i.jsx)(t.strong,{children:"All"})," counts every plane, or every line between two sets, together. Long\nset names are shortened with an ellipsis in the middle, so they stay clear of the columns and\nnames that start alike stay apart. When a folder's poles were left out as Auto-cluster's\noriginals, the key ends with how many."]}),"\n",(0,i.jsx)(t.h3,{id:"exporting",children:"Exporting"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Export \u2192 SVG"})," writes the zones, the curves and the key with the rest of the net. The canvas\nwidens to make room for the key and lengthens when the keys run below the net, so nothing is\ncropped; a stereonet figure in an ",(0,i.jsx)(t.a,{href:"/docs/next/general/viewing-collaboration/report-view",children:"analysis report"})," is\ndrawn the same way."]}),"\n",(0,i.jsx)(t.h2,{id:"choosing-the-parameters",children:"Choosing the parameters"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Radius."})," Match it to the failures you are assessing: a few metres for bench-scale blocks,\ntens of metres for a
1whole cutting. Too small a radius follows rubble and noise, and leaves\npoints on sparse parts of the surface without a face; too large a radius smooths benches and\ngullies into the overall slope. Check ",(0,i.jsx)(t.strong,{children:"Face Dip"})," on the model before trusting the percentages."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Friction angle."})," The friction angle of the discontinuities themselves. The default follows the\nproject's friction coefficient, so the slip-tendency tools and this analysis start from the\nsame value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Lateral limits."})," 20\xb0 for planar sliding and 30\xb0 for flexural toppling are the usual values\n(Hoek & Bray; Goodman & Bray). Widening a limit is the conservative choice."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Classify at."})," Raise it to show only places where a large share of a set is critical."]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"tips-and-troubleshooting",children:"Tips and troubleshooting"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:'"Slope stability needs discontinuity sets".'})," No folder under ",(0,i.jsx)(t.strong,{children:"Orientations"})," holds planes.\nPut each set's planes in a folder of its own and run it again."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Wedge Sliding and Direct Toppling are 0 everywhere."})," They need planes in two sets that are not\nparallel; the messages panel says so when there are none. On the stereonet the key says\n",(0,i.jsx)(t.em,{children:"Lines need planes in two folders"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"A folder is unticked the first time, or the key says poles were left out."})," The folder holds\nevery plane of a folder below it, as the one Auto-cluster read from does, so its planes are\nalready in the clusters. Tick it only if it is a set in its own right."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Overhangs read as slopes facing the other way."})," The faces could not be told from their backs.\nOn a point cloud without ",(0,i.jsx)(t.code,{children:"Nx"}),", ",(0,i.jsx)(t.code,{children:"Ny"}),", ",(0,i.jsx)(t.code,{children:"Nz"})," layers this is always so; analyse a mesh of the same\nsurface instead. On a mesh, a surface that faces both ways within the radius does the same:\nuse a smaller radius."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"More than half of a mesh's faces look downward."})," Its normals probably point into the rock. Run\nit again with ",(0,i.jsx)(t.strong,{children:"Its normals point into the rock"})," ticked."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Many points have no value."})," The radius is too small for the point spacing or the gaps in the\nsurface. Raise it."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"No zones are drawn on the stereonet."})," ",(0,i.jsx)(t.strong,{children:"Remove Regional Dip"})," is on: the zones are drawn for the\norientations as measured, and the key asks you to turn it off."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Part of the key is off the right of the window."})," A long key continues in further columns to\nthe right. Widen the window or pan the view; the SVG export always holds the whole key."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"The 3D stereosphere shows no zones."})," The kinematic overlay is drawn on the 2D stereonet only."]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/docs/next/general/fractures-structure/slope-stability-method",children:"Slope Stability \u2014 Method"})," \u2014 the tests, the percentages, the face\nfitting and the construction, with the formulas and references."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/docs/next/general/fractures-structure/stereonet-user-guide",children:"Stereonet User Guide"})," \u2014 plotting, grouping and contouring the\norientations the analysis reads."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/docs/next/trees/interp/orientation",children:"Orientation"})," \u2014 the set folders and ",(0,i.jsx)(t.strong,{children:"Auto-cluster Selected\nOrientations"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/docs/next/general/meshes-point-clouds/attributes",children:"Attributes"})," \u2014 displaying, filtering and colouring the layers\nthe analysis writes."]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},28453(e,t,n){n.d(t,{R:()=>o,x:()=>l});var s=n(96540);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.