Effective Properties of Fractured Media
Using Java, Matlab and Comsol
Pål Næverlid Sævik, UiB
Presented at Bergen User Group Workshop, October 31st 2012
Upscaling of fractures
• Impossible to resolve all fractures • Only statistical fracture information available • Therefore: Replace heterogeneous medium
with equivalent homogeneous medium • How to find the equivalent property? • Solution: Numerical or analytical
homogenization
Homogenizable properties
• Laplace equation-type properties
• Electrical conductivity • Thermal conductivity • Diffusion coefficient • Hydraulic permeability • Mechanical stress tensor
Numerical vs. analytical
Numerical • Generate sample geometry
and simulate physics • Potentially accurate • Needs very fine mesh, and
many realizations • In practice: Coarse mesh
and few realizations used • …and it’s still slow
Analytical • Predictions based on
analytical approximations • Very fast • Tight analytical error
estimates are lacking • Extensive comparisons with
numerical upscaling are lacking
Effective medium methods
• Represents fractures as thin ellipsoids
• Self-consistent methods • Differential method • Input parameters:
– Fracture density – Shape – Orientation – Aperture and
conductivity contrast
Challenges
• Mesh generation – Periodic meshing – Generate less
demanding geometry • Parametric sweep
– Flux direction – Mesh size – Geometry parameters
• Numerical convergence – Extremely large number
of elements required
• Large number of realizations – Parallelization – Handle failed
computations – Memory leakage
• Setting material properties – Individual fractures
needs tailored material properties
Solutions
• Schedule computational tasks using Java • Generate realizations in Matlab • Solve the equations using Comsol batch job • Handling specialized parameter sweep in Java • Monitoring the solution process using Java • Post-process and store results using Java
Ways of combining Comsol with Java and Matlab
• Integrate Matlab function with Comsol • Call Java class from Comsol • Connect to Comsol server from Java or Matlab • Initiate Comsol instance within Java or Matlab • Call Comsol batch job from Java or Matlab
Interaction scheme 1
External job scheduler Comsol batch job
Java class Matlab function External
computational code