GeMA
The GeMA main application
Loading...
Searching...
No Matches
Examples

The first set of examples form a basic tutorial on how to build GeMA simulation models, illustrating both basic and some advanced techniques that can be applied on several other modelling scenarios. Those examples where created to complement the explanation given on the basic GeMA tutorial and should be followed on the same order as presented here.

Other sections on this page presents several examples illustrating some of the GeMA capabilities with both syntetic and real test cases conducted by the Geomechanics group at the Tecgraf Institute.

All the simulation models and the accompanying presentations are available on the "examples" folder installed together with the GeMA applilcation.

The last section on this page links to a set of slides and examples presented during the GeMA-ERAS training meeting for Shell collaborators on september, 24th, 2020.

Tutorial examples

Steady state heat conduction on a square plate

This tutorial example presents a steady state analysis of heat conduction on a square plate subjected to Dirichlet boundary conditions.

Its main objectives are to show how to strucuture a GeMA model, how to create a simple mesh, setup material values, setup a prescribed temperature boundary condition, create user functions to validate analytical and numerical results and create a simple orchestration procedure to execute a FEM analysis.

**Main file:** Temperature\SteadyStateHeatConduction.lua
**Description:** [Temperature\TemperatureExamples.pdf](TemperatureExamples.pdf), example 1.

Transient heat conduction on a square plate

This tutorial example presents a transient analysis of heat conduction on a square plate subjected to Dirichlet boundary conditions.

Its main objective is to show how to transform the steady state analysis of the previous example into a transient analysis.

**Main file:** Temperature\TransientHeatConduction.lua
**Description:** [Temperature\TemperatureExamples.pdf](TemperatureExamples.pdf), example 2.

Transient conduction on a heated rod

This tutorial example simulates the heat conduction on an insulated rod with a heat influx on one of its tips, comparing the numerical results to an analytical solution.

Its main objective is to further illustrate new boundary condition types by applying a Neumann boundary condition. It also shows how to create time-dependent user functions.

**Main file:** Temperature\HeatedRod.lua
**Description:** [Temperature\TemperatureExamples.pdf](TemperatureExamples.pdf), example 3.

Temperature profile for a set of sedimentary layers

This tutorial analyzes the temperature profile for a set of sedimentary layers subjected to a heat flux at their base and a prescribed surface temperature. It is composed by four examples with increasing functionalities. The first one does a simple steady state analysis. The second introduces porosity dependencies and non-linearities to the model materials. The third presents a transient simulation for a surface temperature boundary condition that changes with time and the fourth changes the implementation of the porosity initialization from serial to a parallel one.

The main objective of this four examples is to show how some complex models can be created by combining user provided functions with advanced orchestration techniques .

**Main files:** Temperature\BasinLayers1.lua, BasinLayers2.lua, BasinLayers3.lua and BasinLayers4.lua
**Description:** [Temperature\TemperatureExamples.pdf](TemperatureExamples.pdf), examples 4, 5, 6 and 7.

Phase change by the effective heat capacity method

This tutorial example presents a phase change analysis for a solidification problem, solved by using the effective heat capacity method and the non-linear FEM solver.

The main objectives of this example are to give an introduction on how to use the non-linear FEM solver and to show how to track results at a given node during the simulation.

**Main file:** Temperature\Solidification.lua
**Description:** [Temperature\TemperatureExamples.pdf](TemperatureExamples.pdf), example 8.

MeshLib tutorial

This tutorial presents several examples of meshes that can be build by the MeshLib set of Lua scripts.

Its main objective is to exemplify how to create 2D and 3D "grid like" meshes, as well as how to add interface elements to any 2D mesh and how to save meshes to a model file.

**Main file:** MeshLib\meshLibExample.lua
**Description:** [MeshLib\GemaMeshLib.pdf](GemaMeshLib.pdf)

Multiphysics models

Coupled Thermo-Mechanical analysis for a heated bar

This examples analyses the heat conduction on a bi-material bar, subjected to heating on a small part of its bottom, coupled with thermal stress calculation.

**Main file:** CoupledTM\BendingBar.lua
**Description:** [CoupledTM\BendingBar.pdf](BendingBar.pdf)

Modelling reservoir production

This example illustrates the fluid flow and geomechanical behavior of a soft reservoir within a stiff region after 12-years of production.

**Main file:** Subsidence\3D\coupledHMRes3.lua
**Description:** [Subsidence\3D\ModellingSubsidence.pdf](ModellingSubsidence.pdf)

2D Uncoupled subsidence analysis and reservoir compaction

This example illustrates an uncoupled analysis of surface subsidence and compaction of an oil reservoir located at the North Sea basin.

**Main file:** Subsidence\2D\Subsidence_UC.lua
**Description:** [Subsidence\2D\GeMA_Subsidence2D.pdf](GeMA_Subsidence2D.pdf), example 1.

2D Fully coupled subsidence analysis and reservoir compaction

This example illustrates a fully coupled analysis of surface subsidence and compaction of an oil reservoir located at the North Sea basin.

**Main file:** Subsidence\2D\Subsidence_FC.lua
**Description:** [Subsidence\2D\GeMA_Subsidence2D.pdf](GeMA_Subsidence2D.pdf), example 2.

Chemical reactions with multi-species transport

Multispecies reactive transport example

This example presents a reactive transport analysis on a rectangular plate subjected to Dirichlet (prescribed concentration) boundary conditions and multiple species with linear reaction rates.

**Main file:** ReactiveTransport\multispeciesReactiveTransport.lua
**Description:** [ReactiveTransport\multispeciesReactiveTransport.pdf](multispeciesReactiveTransport.pdf)

Geological fault reactivation models

2D Fault reactivation

This example presents a fault reactivation analysis of a a multi layer porous media with two main natural fractures, submitted to an hydraulic injection at the reservoir.

**Main file:** FaultReactivation\2D\faultReactivation.lua
**Description:** [FaultReactivation\2D\FaultReactivation2D.pdf](FaultReactivation2D.pdf)

Flow through discrete fractured porous media

2D Consolidation for fractured porous media

This example presents a 2D coupled hydro-mechancal simulation for the consolidation of a naturally fractured reservoir using interface elements to represent the fractures.

**Main file:** DiscreteFracture\2D\DFMkvar.lua
**Description:** [DiscreteFracture\ModellingDiscreteFracture.pdf](ModellingDiscreteFracture.pdf), example 1.

2D Fluid flow in fractured porous media

This example presents a rectangular porous media under in-situ conditions, subjected to a pore pressure gradient in the x direction.

**Main file:** DiscreteFracture\2D\naturalFractures2D.lua
**Description:** [DiscreteFracture\ModellingDiscreteFracture.pdf](ModellingDiscreteFracture.pdf), example 2.

3D Consolidation for fractured porous media

This example presents a 3D coupled hydro-mechancal simulation for the consolidation of a naturally fractured reservoir using interface elements to represent the fractures.

**Main file:** DiscreteFracture\3D\DFM3Dkvar.lua
**Description:** [DiscreteFracture\ModellingDiscreteFracture.pdf](ModellingDiscreteFracture.pdf), example 3.

3D Fluid flow in fractured porous media

This example presents a block of fratured porous media under in-situ conditions, subjected to a pore pressure gradient in the x direction.

**Main file:** DiscreteFracture\3D\naturalFractures3D.lua
**Description:** [DiscreteFracture\ModellingDiscreteFracture.pdf](ModellingDiscreteFracture.pdf), example 4.

Flow through fractured porous media using a double porosity, double permeability formulation

2D Double porosity, double permeability on a fractured reservoir

This example presents a coupled hydro-mechanical simulation of a naturally fractured reservoir using the dual porosity, dual permeability model.

**Main file:** DualPorosityDualPermeability\2D\DPP-kvar.lua
**Description:** [DualPorosityDualPermeability\2D\GemaDualPorosityDualPermeability2D.pdf](GemaDualPorosityDualPermeability2D.pdf)

3D Double porosity, double permeability on a fractured reservoir

This example presents a 3D coupled hydro-mechanical simulation of a naturally fractured media using the dual porosity, dual permeability model.

**Main file:** DualPorosityDualPermeability\3D\DPDP-PTop.lua
**Description:** [DualPorosityDualPermeability\3D\GemaDualPorosityDualPermeability3D.pdf](GemaDualPorosityDualPermeability3D.pdf), example 1.

3D Dam seepage

This example presents a dam seepage problem, modeled as a 3D coupled hydro-mechanical simulation with natural fractures represented using the dual porosity, dual permeability model.

**Main file:** DualPorosityDualPermeability\3D\DAM-DPP-DFN.lua
**Description:** [DualPorosityDualPermeability\3D\GemaDualPorosityDualPermeability3D.pdf](GemaDualPorosityDualPermeability3D.pdf), example 2.

Hydraulic fracturing models using interface elements

Hydraulic fracture propagation in permeable porous media using the KGD model

This example presents a coupled Hydro-Mechanical analysis of the propagation of a fracture on an initially pressurized borehole using the KGD model.

**Main file:** InterfaceHydraulicFracturing\hydDrivenKGD.lua
**Description:** [InterfaceHydraulicFracturing\InterfaceHydraulicFracturing.pdf](InterfaceHydraulicFracturing.pdf)

Hydraulic fracturing models using XFEM

KGD analytical model in K-vertex propagation regime

This example presents a transient XFEM analysis of a single hydraulic fracture on a square plate, with results compared to the KGD analytical solution.

**Main file:** XFEMHydraulicFracturing\KGD.lua
**Description:** [XFEMHydraulicFracturing\XFEMHydraulicFracturingExamples.pdf](XFEMHydraulicFracturingExamples.pdf), example 1.

Single hydraulic fracture entering another layer with symmetric / asymmetric stress contrast

This set of examples presents a transient XFEM analysis of a single hydraulic fracture entering another layer with symmetric and asymmetric stress contrast, with results respectively compared to Simonson and Fung analytical solutions.

**Main files:** XFEMHydraulicFracturing\Simonson.lua and Fung.lua
**Description:** [XFEMHydraulicFracturing\XFEMHydraulicFracturingExamples.pdf](XFEMHydraulicFracturingExamples.pdf), examples 2 and 3.

Three simultaneous / sequential hydraulic fractures with a homogeneous stress state in a single layer

This set of examples presents a transient XFEM analysis of three simultaneous and sequential hydraulic fractures, with an homogeneous stress state and fracture spacings of 7 and 20m.

**Main files:** XFEMHydraulicFracturing\SimHF7.lua, SimHF20.lua, SeqHF7.lua and SeqHF20.lua
**Description:** [XFEMHydraulicFracturing\XFEMHydraulicFracturingExamples.pdf](XFEMHydraulicFracturingExamples.pdf), examples 4 and 5.

Three simultaneous hydraulic fractures entering another layer with symmetric stress contrast

This set of examples presents a transient XFEM analysis of three simultaneous hydraulic fractures entering another layer with symmetric stress contrast and varying fracture spacings of 7 and 20 m.

**Main files:** XFEMHydraulicFracturing\SimHF7SC.lua and SimHF20SC.lua
**Description:** [XFEMHydraulicFracturing\XFEMHydraulicFracturingExamples.pdf](XFEMHydraulicFracturingExamples.pdf), example 6.

Rock dissolution modelling

1D Dissolution of a simple fracture using interface elements

This example presents the early evolution of a karst aquifer, modelled as a conduit.

Its main objective is to show how to create a multiphysics simulation where one of the physics is implemented wholly in Lua and integrated with another GeMA physics through the global simulation loop.

**Main files:** RockDissolution\simpleKarstEvolution.lua
**Description:** [RockDissolution\ModellingTheEvolutionRockDissolution.pdf](ModellingTheEvolutionRockDissolution.pdf), example 1.

2D Evolution of a karst aquifer

This example presents the early evolution of a vertical karst aquifer due to the dissolution process along fractures represented by interface elements.

Its main objective is to show how to create a multiphysics simulation where one of the physics is implemented wholly in Lua and integrated with another GeMA physics through the global simulation loop.

**Main files:** RockDissolution\conceptualKarst2D.lua
**Description:** [RockDissolution\ModellingTheEvolutionRockDissolution.pdf](ModellingTheEvolutionRockDissolution.pdf), example 2.

Integration with external simulators

2D one-way HM coupling with upscaling and using an external simulator

This example presents a one-way HM coupling simulation in 2D involving an upscaling process and the use of an external simulator.

Its main objective is to show how to interface with external simulators and how to orchestrate an upscaling process.

**Main files:** CoupledHMExternalSimulator\CoupledHMExternalSimulator.lua
**Description:** [CoupledHMExternalSimulator\CoupledHMExternalSimulator.pdf](CoupledHMExternalSimulator.pdf)


Shell training examples

This set of examples where used during the GeMA-ERAS training meeting for Shell collaborators on september, 24th, 2020.