Training
ResFracPro Fundamentals Training Course Recorded Sessions
Simulate the Entire Life Cycle of an Unconventional Well with a Single Simulator
Course description
ResFrac’s four-day ResFracPro Fundamentals course teaches petroleum and reservoir engineers how to build, calibrate and interpret a fully coupled hydraulic fracturing and reservoir simulation, and how to use it to optimize the decisions that drive well economics: cluster spacing, well spacing, fluid and proppant volumes, landing depth, stage length and well sequencing. These are the complete recordings of the July 2026 virtual delivery, roughly 15 hours across four days, with every session timestamped so you can go straight to the topic you need. The days run continuously rather than as standalone modules, so each picks up where the previous one ended.
The live course alternates instruction with hands-on work. Day 1 is a full day of instruction. On days 2, 3 and 4 the mornings are instructional and the afternoons are given over to participants building models against their own data. The recordings cover the instructional sessions.
- Format: recorded live course, four instructional sessions
- Total runtime: approximately 14 hours 50 minutes
- Delivered: 13 to 16 July 2026, virtual
- Instructor: Chris Ponners
- Cost: free to watch
- Course materials: available on request
This course is for engineers who will run ResFracPro themselves and want the full workflow rather than isolated features, for reservoir and completions engineers weighing whether physics-based simulation answers questions their current tools cannot, and for anyone who needs to interpret someone else’s ResFrac results. It assumes working familiarity with hydraulic fracturing and reservoir engineering, and no prior experience with ResFrac.
Who this course is for
This course is for new and existing ResFrac users who will run ResFracPro themselves and want the full workflow rather than isolated features, for reservoir and completions engineers weighing whether physics-based simulation answers questions their current tools cannot, and for anyone who needs to interpret someone else’s ResFrac results. It covers the basics of geomechanical and fracturing theory, so it assumes working familiarity with hydraulic fracturing and reservoir engineering but no prior experience with ResFrac.
After this course, you will be able to
- Build a model from scratch: import log data into a static model, set up wells, perforations and stage design, mesh it, and define fluids and proppants
- Set up injection and production schedules, run a simulation, and know what the validation warnings are telling you
- Read the output: 3D visualization, line plots, gun barrel plots, rate transient analysis (RTA) and G-function, and the economic model
- Run a multivariate sensitivity analysis and interpret the results, including when trends are non-monotonic
- Work through a history match in the right order, knowing which parameter to reach for and when to stop
- Recognize where the specialized workflows apply: external and pre-existing fractures, heterogeneity, conventionals, carbon capture, utilization and storage (CCUS), and enhanced geothermal systems (EGS)
Don’t hesitate to reach out! Email us at [email protected], or click below.
Table of Contents
Day 1: Introduction, modeling concepts, and building a simulation
Runtime 3:38:43
Day one introduces the modeling approach and walks through building a simulation from scratch. The first hour covers why fully coupled physics-based simulation answers questions that decline curve and rate transient analysis cannot, and explains the core concepts: the continuous fracture propagation algorithm, fracture element sizing, stress shadowing and zipper order. The remainder builds a two-well Bakken example, covering the static model, curve sets, well trajectories and perforations, meshing, the fluid model and proppants.
Questions answered
- Why use a fully coupled simulator instead of DCA or RTA?
- What fracture element size should I use, and why is 50 to 150 feet the default?
- How do I import log data into a static model and upscale it sensibly?
- How do I set up well trajectories, stages and perforation clusters?
- What does ResFrac’s meshing do, and how does it relate to the static model layers?
- When should I use a compositional fluid model rather than black oil?
Topics: coupled fracture and reservoir simulation, parent-child well interaction, well spacing and completion size, continuous fracture propagation, fracture element size, fracture turning, stress shadowing, zipper order, proppant settling, static model construction, property versus depth import, layer upscaling, relative permeability curve sets, well trajectories and perforations, stage and cluster design, meshing, black oil fluid models, proppant conductivity
Video Timestamps
Introduction to ResFrac
- 0:08 Welcome and instructor introduction
- 4:59 What the four days cover
- 9:04 Why physics-based modeling rather than DCA or RTA
- 16:05 What a fully coupled model gives you
- 19:58 Parent-child wells and depletion
- 23:03 Well spacing and completion size scenarios
- 25:58 Applications and optimization workflows
- 29:59 Model scope and limitations
- 35:59 The continuous fracture propagation algorithm
- 41:57 Choosing fracture element size
- 45:00 Fracture turning and when it matters
- 48:00 Stress shadowing and analytical validation
- 50:00 Fault slip, Mohr-Coulomb and zipper order
- 54:59 Proppant settling and fracture roughness
- 58:01 Modeling the average stage
- 59:59 Parent-child depletion effects
Getting into the software and the static model
- 1:04:01 The three core ResFrac documents
- 1:06:57 UI hierarchy: projects, workflows and sandboxes
- 1:12:01 Starting the Bakken example simulation
- 1:15:57 Naming, templates and where they come from
- 1:22:00 Advanced options and unit systems
- 1:25:58 Horizontal fractures and overburden stress
- 1:27:58 Black oil versus compositional fluid models
- 1:29:58 Initial conditions and pressure gradient
- 1:34:06 Parameter help and matrix properties
- 1:37:59 Proppant embedment
- 1:39:57 Static model: importing property versus depth data
- 1:44:06 The property versus depth wizard
- 1:48:00 MD to TVD conversion and frac gradient
- 1:52:11 Layer searching and upscaling
Creating a simulation
- 1:58:05 Curve sets and relative permeability models
- 2:02:06 Assigning pay and non-pay curves
- 2:06:07 Curve sets panel and pressure-dependent permeability
- 2:10:02 Wells and perforations: trajectories and coordinates
- 2:18:07 The 3D preview and checking well landing depth
- 2:22:01 Adjust well landing depth wizard
- 2:26:16 Stage length, cluster design and how stages are counted
- 2:38:17 Perforation phasing
- 2:42:05 Meshing: well, fracture and matrix
- 2:48:00 Matrix mesh and static model layers
- 2:54:06 Fracture turning and horizontal fractures
- 3:00:04 External fractures
- 3:04:02 Perforation activation and deactivation
- 3:10:11 The black oil table and correlations
- 3:17:59 File hierarchy and where produced fluid comes from
- 3:25:57 Proppants panel and proppant mixtures
- 3:32:15 Conductivity versus effective normal stress
- 3:38:10 Wrap-up
Day 2: Proppant and fluid theory, running simulations and interpreting results
Runtime 3:42:05
Day two opens with the theory behind proppant and fluid behavior, covering conductivity under stress, time-dependent conductivity loss and damage mechanisms, then builds a fluid system. From there it completes the simulation setup begun on day one: well controls, injection and production sequences, shut-in types, and what happens when a simulation runs on ResFrac’s servers. The second half interprets results through the visualization tool, line plots and the economic model, and closes by setting up a sensitivity analysis.
Questions answered
- How does proppant pack conductivity change with effective normal stress and over time?
- How do I build a fluid system, including crosslinkers and breakers?
- What shut-in type should I use, and when?
- How do I estimate bottom hole pressure when I only have wellhead data?
- Where do simulation results live, and which output file should I use?
- How do I set up a sensitivity analysis and choose a sampling scheme?
- How do I read a gun barrel plot, and what does propped half-length actually tell me?
- How do I set up the economic model and compare simulations on value rather than geometry?
Topics: proppant pack conductivity, effective normal stress, time-dependent conductivity loss, fluid systems and rheology, crosslinkers and breakers, damage mechanisms, leakoff, injection and production sequences, shut-in types, BHP estimation, output file structure, 3D visualization, gun barrel plots, RTA and G-function analysis, economic modeling, sensitivity analysis, sampling schemes
Video Timestamps
Proppant and fluid theory
- 0:00 Welcome and importing the shared simulations
- 3:34 What day two covers
- 6:29 Proppant conductivity and effective normal stress
- 9:59 Time-dependent conductivity loss
- 13:09 Proppant pack damage and irreversible conductivity
- 20:41 Water solutes panel: building a fluid system
- 24:01 Pipe friction tables and slick water viscosity
- 28:31 Vendor fluid libraries, crosslinkers and breakers
- 32:03 Damage mechanisms and leakoff
Well controls and running simulations
- 35:41 Well controls and the simulation timeline
- 37:04 Setting up the injection sequence
- 39:52 Slurry rate, injection pressure and proppant type
- 45:57 Shut-in types and the isolate well condition
- 56:06 The production sequence
- 58:44 Rate versus pressure control
- 1:02:47 Averaging duration and output timing
- 1:06:05 Estimating BHP from wellhead pressure
- 1:10:19 History matching helper items
- 1:16:01 Multiple wells and independent schedules
- 1:19:20 Pad and flush volumes, BHP extrapolation wizard
- 1:21:12 Survey of the remaining panels
- 1:26:55 Validation warnings and code versions
- 1:32:05 How simulations run on ResFrac servers
- 1:36:17 Maximum simulation time and test runs
- 1:39:59 Naming conventions and tracking parameter sets
- 1:46:05 Importing a completed simulation folder
- 1:49:02 Output file structure: sim track and results
Interpreting results
- 1:58:16 The visualization tool: 3D viewer basics
- 2:02:11 Stretch, attributes and color bars
- 2:06:28 Stepping through time and making movies
- 2:10:48 Cross-sections and multi-panel views
- 2:18:08 Thresholds and conductivity over time
- 2:23:56 Line plots and time series data
- 2:34:12 Comparing simulated and field data
- 2:39:28 RTA and G-function plots
- 2:40:53 Fracture versus depth and flow by layer
- 2:46:45 Gun barrel plots, propped half-length and saving layouts
- 2:54:11 The economic model and price decks
- 3:02:34 Compound line plots across simulations
Sensitivity analysis
- 3:06:01 Setting up a sensitivity analysis
- 3:12:10 Decision support parameters
- 3:16:08 Sampling schemes: one at a time, factorial, Monte Carlo
- 3:22:58 Defining distributions for uncertainty
- 3:25:28 Pre-existing fractures for natural fracture systems
- 3:32:15 Post-processing sensitivity results
- 3:41:07 Wrap-up
Day 3: Multivariate sensitivity analysis and history matching fundamentals
Runtime 3:40:38
Day three moves from sensitivity analysis into history matching. The morning builds a multivariate sensitivity study on fracture toughness and effective fracture aperture conductivity, interprets the resulting matrix of fracture geometries, and introduces automation workflows and automatic history matching. The middle section covers the fundamental theory behind fracture modeling: what fiber optic data reveals about fracture swarms, how toughness and stress shadowing compete to control fracture dimensions, and why basin-level templates converge. The day closes by starting a hands-on history matching exercise on a two-well Middle Bakken pad.
Questions answered
- How do I set up a sensitivity analysis on more than one parameter at a time?
- What do fiber optic waterfall plots tell me about how many fractures are really forming?
- What controls fracture height growth, and what can I do when stress alone is not enough?
- In what order should I work through a history match?
- How do I define an objective function for automatic history matching?
- Why do models in the same basin converge on similar tuning parameters?
- When should I use an automation workflow instead of running sensitivities by hand?
Topics: multivariate sensitivity analysis, parameter groups, full factorial sampling, automatic history matching, objective functions and misfit, fiber optic interpretation, fracture swarms, fracture turning, fracture toughness, stress shadowing, viscous pressure drop, fracture height growth, flow behind casing, fracture collision distance, RTA and linear flow, water banking, proppant trapping
Video Timestamps
Multivariate sensitivity and automation workflows
- 0:09 Welcome and what day three covers
- 3:56 Setting up a multivariate sensitivity analysis
- 7:57 Parameter groups and decision support parameters
- 12:40 Full factorial sampling and running the workflow
- 15:34 Choosing output metrics: median length and height
- 20:29 Interpreting the sensitivity matrix
- 23:30 Non-monotonic trends in length and height
- 26:12 Where time series results are stored
- 28:12 Importing a shared sensitivity workflow
- 34:00 Pre-run state and sharing workflows
- 38:08 Comparing fracture geometries in the 3D view
- 41:59 Automation workflows and automatic history matching
- 43:59 Objective functions and misfit definitions
- 50:10 Simulation limits per parameter group
Fundamental theory for fracture modeling
- 57:59 Fundamental theory: fluid and proppant transport
- 1:00:00 Fiber optics and the Fisher 2002 waterfall plot
- 1:06:00 Modeling a fiber response in ResFrac
- 1:08:16 Fracture swarms and dominant fractures
- 1:12:01 Fracture turning and when to model it
- 1:16:09 Fracture toughness versus stress shadowing
- 1:23:57 Viscous pressure drop and the EFAC parameter
- 1:27:57 Why basin-level templates converge
- 1:32:07 Toughness scaling and controlling fracture height
- 1:44:00 Flow behind casing and near-wellbore pressure drop
- 1:52:00 How many fractures form per perforation cluster
- 1:55:59 Fracture collision distance and cluster randomness
- 2:04:04 Conductivity multipliers and when to use defaults
- 2:12:05 Well controls, wellbore meshing and shut-in types
- 2:16:00 Boundary condition volume and meshing in sector models
- 2:25:59 RTA, linear flow and matrix compaction
- 2:32:14 Wellflow scalers and the EGS template
History matching: philosophy and order of operations
- 2:36:03 History matching philosophy and order of operations
- 2:48:19 Net pressure, perforation efficiency and proppant trapping
- 2:57:58 Water banking and flowback
History matching worked example
Day 4: Completing the history match and special topics
Runtime 3:49:03
Day four completes the history matching worked example begun on day three, then turns to special topics chosen by the class. The first half calibrates a model against field observations, covering fracture toughness, stress shadowing, tracers, proppant placement and fractional flow, and shows the reasoning behind each parameter change rather than just the result. The second half covers external and pre-existing fractures, general heterogeneity, conventional wells, mesh refinement, carbon storage and enhanced geothermal systems.
Questions answered
- Which parameter should I adjust when my fracture geometry does not match?
- How do I set up stress observation planes to quantify stress shadowing?
- Why am I not seeing pressure interference between wells in my model?
- How do I match water cut using fractional flow analysis?
- When is a history match good enough to stop iterating?
- How do I model a conventional well, a CO2 storage well, or a geothermal system in ResFrac?
Topics: fracture toughness scaling, stress observation points and planes, black oil tracers, pressure interference, fracture connections, proppant trapping and conductivity, fractional flow and water cut matching, external fractures, pre-existing fractures, general heterogeneity, conventional well modeling, spurt loss, mesh refinement, CCUS, enhanced geothermal systems
Video Timestamps
Completing the history match
- 0:08 Welcome and what day four covers
- 4:10 Completing the history matching worked example
- 7:19 Adjusting relative fracture toughness
- 10:38 Reading effective horizontal fracture toughness
- 14:42 Which parameter to change: toughness, stress profile or leakoff
- 17:48 ISIP, net pressure and the water hammer effect
- 22:43 Stress observation points and planes
- 32:43 Tuning effective fracture aperture conductivity
- 36:04 Reviewing the list of observations
- 38:16 Black oil tracers: setting up a water tracer
- 42:18 Diagnosing missing pressure interference
- 45:47 Fracture connection and collision distance
- 51:28 Fracture initiation randomness and the random seed
- 54:57 General heterogeneity in fracture toughness
- 1:00:00 Sealed wellbore pressure monitoring as a fiber alternative
- 1:10:10 Raising conductivity to get pressure communication
- 1:12:08 Proppant placement and proppant trapping
- 1:20:07 Where AI fits in a history matching workflow
- 1:26:00 Matching total productivity before individual phases
- 1:31:57 Fractional flow analysis and matching water cut
- 1:38:18 Reviewing the final match and knowing when to stop
Special topics and tricky details
- 1:46:52 Special topics: external fractures
- 1:57:07 Fracture connections and collision behavior
- 2:03:29 Pre-existing fractures and auto-placed templates
- 2:21:46 General heterogeneity: building property files
- 2:29:47 Stress direction and how horizontal stress is calculated
- 2:40:11 Conventionals: damage zone and filter cake
- 2:48:02 Spurt loss and pipe friction tables
- 2:58:48 Mesh refinement and logarithmic grid refinement