1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[30087],{98597(e,t,r){r.r(t),r.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>l,frontMatter:()=>s,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"tutorial/tutorial-fractures/tf010-overview","title":"Fracture mapping and analysis","description":"What a fracture study in VRGS looks like end to end \u2014 capture, orientation, sets, intensity and DFN \u2014 and what you need before you start.","source":"@site/docs/tutorial/tutorial-fractures/tf010-overview.md","sourceDirName":"tutorial/tutorial-fractures","slug":"/tutorial/tutorial-fractures/tf010-overview","permalink":"/docs/next/tutorial/tutorial-fractures/tf010-overview","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/tutorial/tutorial-fractures/tf010-overview.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"description":"What a fracture study in VRGS looks like end to end \u2014 capture, orientation, sets, intensity and DFN \u2014 and what you need before you start.","keywords":["fracture","fracture mapping","fracture analysis","workflow","tutorial"]},"sidebar":"docs","previous":{"title":"Setting the coordinate system","permalink":"/docs/next/tutorial/tutorial-extras/ta100-setting_coordinate_system"},"next":{"title":"Mapping fracture traces","permalink":"/docs/next/tutorial/tutorial-fractures/tf020-mapping-traces"}}');var a=r(74848),o=r(28453);const s={sidebar_position:1,description:"What a fracture study in VRGS looks like end to end \u2014 capture, orientation, sets, intensity and DFN \u2014 and what you need before you start.",keywords:["fracture","fracture mapping","fracture analysis","workflow","tutorial"]},i="Fracture mapping and analysis",d={},c=[{value:"The workflow",id:"the-workflow",level:2},{value:"What you need before you start",id:"what-you-need-before-you-start",level:2},{value:"A note on what you are measuring",id:"a-note-on-what-you-are-measuring",level:2},{value:"The steps",id:"the-steps",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"fracture-mapping-and-analysis",children:"Fracture mapping and analysis"})}),"\n",(0,a.jsx)(t.p,{children:"This tutorial walks through a fracture study on a virtual outcrop from beginning\nto end: getting the fractures off the model, turning them into orientations,\nsplitting those into sets, measuring how intense the fracturing is, and \u2014 if you\nhave the licence for it \u2014 building a Discrete Fracture Network that reproduces\nwhat you mapped."}),"\n",(0,a.jsxs)(t.p,{children:["Each step has a reference guide behind it that covers every parameter. This\ntutorial is the ",(0,a.jsx)(t.strong,{children:"route through them"}),": what to do, in what order, and what to\ndecide at each fork."]}),"\n",(0,a.jsx)(t.h2,{id:"the-workflow",children:"The workflow"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{children:" Outcrop model\n \u2502\n 1. \u251c\u2500\u25ba Map fracture traces \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 by hand on the model\n \u2502 \u2514\u2500\u2500\u2500\u2500 or from photographs (AI / ACO)\n \u2502\n 2. \u251c\u2500\u25ba Orientations \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 measured, or estimated from traces\n \u2502 \u2514\u2500\u2500\u2500\u2500 or extracted from exposed faces\n \u2502\n 3. \u251c\u2500\u25ba Fracture sets \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 stereonet, or auto-cluster\n \u2502\n 4. \u251c\u2500\u25ba Intensity \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 scan lines (P10)\n \u2502 \u2514\u2500\u2500\u2500\u2500 intensity maps (P21 / P32 / P33)\n \u2502\n 5. \u2514\u2500\u25ba Discrete Fracture Network \u2500\u2500\u2500\u2500\u2500\u2500 generate, condition, validate\n"})}),"\n",(0,a.jsxs)(t.p,{children:["The first four steps are the study. The fifth turns it into a model you can\npropagate away from the exposure \u2014 it needs the ",(0,a.jsx)(t.code,{children:"DFN"})," licence feature, and\neverything before it stands on its own without it."]}),"\n",(0,a.jsx)(t.h2,{id:"what-you-need-before-you-start",children:"What you need before you start"}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{}),(0,a.jsx)(t.th,{})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:(0,a.jsx)(t.strong,{children:"A 3D outcrop model"})}),(0,a.jsxs)(t.td,{children:["A triangulated mesh is the most useful \u2014 the intensity maps and the DFN comparison both need mesh geometry. A point cloud works for capturing orientations but not for the mesh-based steps. See ",(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-basics/ta030-loading-a-model",children:"Importing 3D outcrop data"}),"."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:(0,a.jsx)(t.strong,{children:"A coordinate system on the project"})}),(0,a.jsxs)(t.td,{children:["Intensity is measured per unit area and per unit volume, so the numbers are only meaningful if the model is in real units. Set it before you start: ",(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-extras/ta100-setting_coordinate_system",children:"Setting the coordinate system"}),"."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsxs)(t.td,{children:[(0,a.jsx)(t.strong,{children:"Calibrated photographs"})," ",(0,a.jsx)(t.em,{children:"(optional)"})]}),(0,a.jsxs)(t.td,{children:["Only for the photo-based capture route in ",(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf030-fractures-from-photographs",children:"step 2"})," \u2014 an SfM image with a recovered camera, or a photo registered to the model."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsxs)(t.td,{children:[(0,a.jsxs)(t.strong,{children:["The ",(0,a.jsx)(t.code,{children:"DFN"})," licence feature"]})," ",(0,a.jsx)(t.em,{children:"(optional)"})]}),(0,a.jsxs)(t.td,{children:["Only for ",(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf060-building-a-dfn",children:"step 5"}),". If the Interpretation tree has no ",(0,a.jsx)(t.strong,{children:"Discrete Fracture Network"})," node at all, you do not have it \u2014 see ",(0,a.jsx)(t.a,{href:"/docs/next/general/setup-system/feature-availability",children:"Feature availability"}),"."]})]})]})]}),"\n",(0,a.jsx)(t.admonition,{title:"Work through the basics first",type:"tip",children:(0,a.jsxs)(t.p,{children:["This tutorial assumes you can already create a project, load a model and\ndigitise a polyline. If any of that is unfamiliar, start with the\n",(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-basics/ta010-layout-of-vrgs",children:"basic tutorial"}),"."]})}),"\n",(0,a.jsx)(t.h2,{id:"a-note-on-what-you-are-measuring",children:"A note on what you are measuring"}),"\n",(0,a.jsx)(t.p,{children:"Two things are worth deciding before you click anything, because they shape\nevery number that c
1omes out the far end."}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"What counts as a fracture."})," Set the rule before you map, not while you are\nmapping: a minimum trace length, whether you include bedding-parallel partings,\nwhether you separate joints from faults. VRGS lets you record the distinction\n(orientation ",(0,a.jsx)(t.strong,{children:"Classification"}),", and the facies/horizon ",(0,a.jsx)(t.strong,{children:"Active Descriptor"}),"),\nbut only if you decide it up front."]}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"What the exposure is not showing you."})," An outcrop samples fractures with a\nbias: sets running parallel to the face are under-represented, and fractures\nlonger than the exposure are cut off at its edges. VRGS corrects for the first\nwhere it can \u2014 the Terzaghi correction on a scan line \u2014 and the DFN validation\nreport handles the second as censoring. Neither correction invents data that the\noutcrop never held, so it pays to know which sets your exposure is blind to."]}),"\n",(0,a.jsx)(t.h2,{id:"the-steps",children:"The steps"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf020-mapping-traces",children:"Mapping fracture traces"})," \u2014 digitising traces on the model by hand."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf030-fractures-from-photographs",children:"Fractures from photographs"})," \u2014 the AI and ACO detectors, and projecting the result onto the model."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf040-orientations-and-sets",children:"Orientations and fracture sets"})," \u2014 getting orientations, including extracting them from the faces the outcrop exposes, and splitting them into sets on the stereonet."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf050-intensity",children:"Measuring fracture intensity"})," \u2014 scan lines, and P21/P32/P33 intensity maps."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.a,{href:"/docs/next/tutorial/tutorial-fractures/tf060-building-a-dfn",children:"Building a DFN"})," \u2014 generating a network from what you mapped, and checking it against the outcrop."]}),"\n"]})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},28453(e,t,r){r.d(t,{R:()=>s,x:()=>i});var n=r(96540);const a={},o=n.createContext(a);function s(e){const t=n.useContext(o);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),n.createElement(o.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.