User Tools

Site Tools


wg:magma_migration:benchmark:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wg:magma_migration:benchmark:start [2014/08/28 22:57]
ljhwang
wg:magma_migration:benchmark:start [2020/12/29 23:25] (current)
ljhwang
Line 1: Line 1:
 ====== Benchmarks ====== ====== Benchmarks ======
 +
 +//This content has been moved to hubzero. LJ Hwang 2020.12.29//​
  
 Benchmarks for the Magma Dynamics Demonstration Suite (MADDs). Benchmarks for the Magma Dynamics Demonstration Suite (MADDs).
  
 ===== An Introduction and Tutorial to the "​McKenzie Equations"​ for Magma Migration ===== ===== An Introduction and Tutorial to the "​McKenzie Equations"​ for Magma Migration =====
-A new formulation for the equations of magma migration in viscous materials as originally derived by McKenzie is presented, as well as a set of well-understood special case problems that form a useful benchmark-suite for developing and testing new codes. ​//upload file //+A new formulation for the equations of magma migration in viscous materials as originally derived by McKenzie is presented, as well as a set of well-understood special case problems that form a useful benchmark-suite for developing and testing new codes. ​{{:​wg:​magma_migration:​benchmark:​1_katz_2007.pdf|}}
  
 ===== Running stgMADDs Benchmarks ===== ===== Running stgMADDs Benchmarks =====
Line 45: Line 47:
  
 ==== 2D Ridge Model ==== ==== 2D Ridge Model ====
 +
 Velocity, pressure and pressure gradients solutions and L2 errors for a 2D ridge model with 120 x 60 elements. Velocity, pressure and pressure gradients solutions and L2 errors for a 2D ridge model with 120 x 60 elements.
 +{{ :​wg:​magma_migration:​benchmark:​2d_ridge_model.png?​100 |}}
 Global Pressure Gradient Errors for 2D Ridge Model. Normalised global L2 errors. Global Pressure Gradient Errors for 2D Ridge Model. Normalised global L2 errors.
 +{{ :​wg:​magma_migration:​benchmark:​gpg_errors_2d.png?​100 |}}
 ==== 3D Ridge Model==== ​ ==== 3D Ridge Model==== ​
 Velocity, pressure and pressure gradient solutions and L2 error fields for 3D ridge model. Velocity, pressure and pressure gradient solutions and L2 error fields for 3D ridge model.
 +{{ :​wg:​magma_migration:​benchmark:​3d_ridge_model.png?​100 |}}
 Global Pressure Gradient Errors for 3D Ridge Model. Global Pressure Gradient Errors for 3D Ridge Model.
 +{{ :​wg:​magma_migration:​benchmark:​gpg_errors_3d.png?​100 |}}
 Global normalised L2 pressure gradient errors at varying resolutions. Global normalised L2 pressure gradient errors at varying resolutions.
  
Line 67: Line 71:
 with the XML file to be passed at run time being the Porridge.xml file. with the XML file to be passed at run time being the Porridge.xml file.
  
-//upload image - Gaussian Porosity Field Advection. Advection of Gaussian porosity field as a Stokes equation force term. The lower density porosity region rises due to gravity.// ​+//Gaussian Porosity Field Advection. Advection of Gaussian porosity field as a Stokes equation force term. The lower density porosity region rises due to gravity.// ​ 
 +{{ :​wg:​magma_migration:​benchmark:​field_advection.png?​100 |}}
  
 ===Ridge model with Gaussian porosity distribution=== ===Ridge model with Gaussian porosity distribution===
Line 75: Line 80:
 with the XML file to be passed being Ridge2D.xml. with the XML file to be passed being Ridge2D.xml.
  
-//upload image - Ridge Model with Gaussian Porosity Field. Stokes flow with 2D ridge model boundary conditions and Gaussian porosity initial distribution,​ driven by a porosity dependent force term.//+//Ridge Model with Gaussian Porosity Field. Stokes flow with 2D ridge model boundary conditions and Gaussian porosity initial distribution,​ driven by a porosity dependent force term.// 
 +{{ :​wg:​magma_migration:​benchmark:​ridge_model_gausisan_porosity.png?​100 |}}
  
 === Validation of the advection scheme === === Validation of the advection scheme ===
Line 85: Line 91:
 Running this simulation at varying resolutions,​ the convergence of the errors for the advection scheme were determined using both the Gaussian distribution and diagonal step function as initial conditions. The errors were recorded for schemes which used a cubic method as well as a quadratic method based on the element shape functions for interpolating the value at the end point of the characteristic. As can be observed from the convergence errors plots below, the quadratic and cubic interpolation method schemes converged at comparable (less than linear) rates using the step function initial condition, with an improvement in those results obtained using the cubic interpolation method. When the Gaussian initial distribution was applied (which was easier to solve accurately on account of the smoother gradients involved), both interpolation methods converged at a rate much better than linear, with the cubic interpolation method proving far superior to the quadratic method. Running this simulation at varying resolutions,​ the convergence of the errors for the advection scheme were determined using both the Gaussian distribution and diagonal step function as initial conditions. The errors were recorded for schemes which used a cubic method as well as a quadratic method based on the element shape functions for interpolating the value at the end point of the characteristic. As can be observed from the convergence errors plots below, the quadratic and cubic interpolation method schemes converged at comparable (less than linear) rates using the step function initial condition, with an improvement in those results obtained using the cubic interpolation method. When the Gaussian initial distribution was applied (which was easier to solve accurately on account of the smoother gradients involved), both interpolation methods converged at a rate much better than linear, with the cubic interpolation method proving far superior to the quadratic method.
  
-// upload file - Semi Lagrangian Advection Scheme Test - Step Function.+//Semi Lagrangian Advection Scheme Test - Step Function.
 Diagonal step function initial distribution subjected to a shearing velocity field.// Diagonal step function initial distribution subjected to a shearing velocity field.//
- +{{ :​wg:​magma_migration:​benchmark:​semi_lagrangian_step.png?​100 |}} 
-// upload file - Semi Lagrangian Advection Scheme Test - Gaussian Distribution.+// Semi Lagrangian Advection Scheme Test - Gaussian Distribution.
 Gaussian initial distribution subjected to a shearing velocity field.// Gaussian initial distribution subjected to a shearing velocity field.//
- +{{ :​wg:​magma_migration:​benchmark:​semi_lagrangian_gauss.png?​100 |}} 
-// upload file - Error Convergence for Advection Scheme - Step Function IC.+// Error Convergence for Advection Scheme - Step Function IC.
 Normalised global L2 errors for semi Lagrangian advection scheme with a diagonal step function initial condition as a function of resolution.//​ Normalised global L2 errors for semi Lagrangian advection scheme with a diagonal step function initial condition as a function of resolution.//​
 +{{ :​wg:​magma_migration:​benchmark:​error_convergence_step.png?​100 |}}
  
-// upload file - Error Convergence for Advection Scheme - Gaussian IC.+//Error Convergence for Advection Scheme - Gaussian IC.
 Normalised global L2 errors for semi Lagrangian advection scheme with Gaussian initial distribution as a function of resolution.//​ Normalised global L2 errors for semi Lagrangian advection scheme with Gaussian initial distribution as a function of resolution.//​
 +{{ :​wg:​magma_migration:​benchmark:​error_convergence_gauss.png?​100 |}}
 ===== Milestone 3 Results ===== ===== Milestone 3 Results =====
 Details the results for the third milestone, in which the melt velocity was determined given the existing solid velocity and pressure fields. Details the results for the third milestone, in which the melt velocity was determined given the existing solid velocity and pressure fields.
Line 109: Line 116:
 Since the melt velocity is decoupled from the McKenzie equations, it is relatively simple to calculate, provided that the pressure and solid velocity fields have already been accurately determined. As such no tests were applied to validate its accuracy, however qualitatively their behavior is observed to be correct. Since the melt velocity is decoupled from the McKenzie equations, it is relatively simple to calculate, provided that the pressure and solid velocity fields have already been accurately determined. As such no tests were applied to validate its accuracy, however qualitatively their behavior is observed to be correct.
  
-//upload file - Melt Model - 2D Ridge with Constant Porosity.+//Melt Model - 2D Ridge with Constant Porosity.
 Solid and melt velocity, pressure and pressure gradient fields for 2D ridge model with constant porosity. Melt velocity magnitudes are significantly larger near the point of discontinuity due to their proportionality to the pressure gradients, which are largest at these points.// Solid and melt velocity, pressure and pressure gradient fields for 2D ridge model with constant porosity. Melt velocity magnitudes are significantly larger near the point of discontinuity due to their proportionality to the pressure gradients, which are largest at these points.//
- +{{ :​wg:​magma_migration:​benchmark:​melt_model_2d.png?​100 |}} 
-//upload file - Melt Model - Gaussian Porosity Driven Flow+// Melt Model - Gaussian Porosity Driven Flow
 Solid and melt velocity, pressure and pressure gradient fields for Stokes flow driven by a Gaussian initial porosity distribution.//​ Solid and melt velocity, pressure and pressure gradient fields for Stokes flow driven by a Gaussian initial porosity distribution.//​
 +{{ :​wg:​magma_migration:​benchmark:​melt_model_gaussian.png?​100 |}}
 ===== Milestone 4 Results and Analysis ===== ===== Milestone 4 Results and Analysis =====
 Discussion of the system being modeled, and details of how to run the model with different initial conditions in 2 and 3D. Discussion of the system being modeled, and details of how to run the model with different initial conditions in 2 and 3D.
-2D Solitary Wave +====Problem Description==== 
-A 2D solitary wave with a wave speed of 7 rising through a solid with a constant speed of -2. The wave shows no visible diffusive behavior. +This milestone solves a porosity pressure system which involves the coupling of a Darcy flow to describe the compressibility of the permeable solid matrix and a time dependent advection equation for the porosity field. Together these equations allow for non-linear dispersive porosity waves. Given an initial porosity distribution which is itself a porosity wave, this wave should advect at a speed determined by the amplitude and the power used to determine the permeability from the porosity (as well as the velocity of the background solid), without any diffusion. If the initial porosity distribution is not itself a solitary porosity wave, with time these should emerge from the porosity field. 
-Noisy 1D Solitary Wave Initial Condition + 
-Initial condition of a vertically changing 1D solitary wave with a certain amount of introduced noise, which allows 2D solitary waves to emerge over time. +====Running the Simulations==== 
-Emerging 2D Solitary Waves +In order to run the solitary waves model, (int 2D) first: 
-Solitary waves emerging from a noisy 1D solitary wave initial condition. + 
-Emergent 2D Solitary Waves +    cd Magma/​Models/​Milestone4/​SolitaryWaves2D 
-Solitary waves having emerged from a noisy 1D solitary wave initial distribution. +Then make a symbolic link to the executable binary as: 
-Emergent 3D Solitary Waves. + 
-3D Solitary Waves emerging from a noisy 1D Solitary Wave initial distribution+    ln -s ../​../​../​../​build/​bin/​StGermain . 
 +The simulation may then be run in parallel as: 
 + 
 +    mpirun -np <# of procs> ./StGermain SolitaryWaves.xml 
 +This will run the code with the default initial porosity distribution of a solitary wave with a wave speed of 7 and a porosity exponent of 3. The backgound solid velocity has been set in the file VelocityField.xml as -2, such that the wave should rise with a speed of 5. In order to verify that the wave is advecting at the correct speed, this may be changed to -7, which should then show the wave to be stationary. 
 + 
 +An alternative initial porosity distribution of a vertically changing noisy 1D solitary wave may be set from the file sWaveSetup.xml by modifying the referenceSolutionFileName parameter to ./​input/​solitaryWaves1DGlobal.dat. This should then show a set of 2D solitary porosity waves emerging from the 1D distribution with time. 
 + 
 +A 3D model may also be run by changing directories to: 
 + 
 +    cd Magma/​Models/​Milestone4/​SolitaryWaves3D 
 +and then repeating the procedures detailed above for the 2D system. The initial condition, read in from the file ./​input/​solitaryWaves3DGlobal.dat,​ is that of a single 1D solitary wave in the vertical direction set against a noisy background distribution which evolves with time into a set of 3D solitary waves. 
 + 
 +//2D Solitary Wave. 
 +A 2D solitary wave with a wave speed of 7 rising through a solid with a constant speed of -2. The wave shows no visible diffusive behavior.// 
 +{{ :​wg:​magma_migration:​benchmark:​2d_solitary_wave.png?​100 |}} 
 +// Noisy 1D Solitary Wave Initial Condition. 
 +Initial condition of a vertically changing 1D solitary wave with a certain amount of introduced noise, which allows 2D solitary waves to emerge over time.// 
 +{{ :​wg:​magma_migration:​benchmark:​1d_solitary_wave.jpeg?​100 |}} 
 +// Emerging 2D Solitary Waves. 
 +Solitary waves emerging from a noisy 1D solitary wave initial condition.// 
 +{{ :​wg:​magma_migration:​benchmark:​2d_solitary_wave_emerging.jpeg?​100 |}} 
 +// Emergent 2D Solitary Waves. 
 +Solitary waves having emerged from a noisy 1D solitary wave initial distribution.// 
 +{{ :​wg:​magma_migration:​benchmark:​2d_solitary_wave_emerging_noisy.jpeg?​100 |}} 
 +//{{ :​wg:​magma_migration:​benchmark:​3d_solitary_wave_emerging.png?​100 |}}Emergent 3D Solitary Waves. 
 +3D Solitary Waves emerging from a noisy 1D Solitary Wave initial distribution//
  
 ===== Milestone 5 Results and Analysis ====== ===== Milestone 5 Results and Analysis ======
 Results and analysis for the isoviscous McKenzie equations (with melting) driven by a corner flow velocity BC. Results and analysis for the isoviscous McKenzie equations (with melting) driven by a corner flow velocity BC.
-Isoviscous McKenzie System with Corner Flow BC - 1 +====Problem Description==== 
-After 1 time step +This model describes the full isoviscous McKenzie equations (with melting), for a system driven by a corner flow velocity boundary condition for the solid phase. These equations couple a Stokes system for the solid phase with a Darcy flow for the melt moving through the permeable solid, and an advection term for the porosity field. The flow is driven by a corner flow boundary condition for the solid, which creates a region of low dynamic pressure about the area of discontinuity,​ and a linear ramp in the melting function. 
-Isoviscous McKenzie System with Corner Flow BC - 50 + 
-After 50 time steps +====Running the Simulation==== 
-Isoviscous McKenzie System with Corner Flow BC - 3200 +The model is run from the directory:​ 
-After 3200 time steps. + 
-Velocity - x component +    Magma/​Models/​Milestone5/​IsoviscousMcKenzieRidge2D/​ 
-x component of the velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150. +and executing as: 
-Velocity - y component + 
-y component of the velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150. +    ./StGermain IsoviscousMcKenzieRidge2D.xml 
-Dynamic (Stokes) pressure +taking care to create a soft link to the StGermain binary in the build directory as before. 
-Dynamic pressure due to viscous shear for the 3D isoviscous McKenzie model with ridge BCs at time step 150. + 
-Porosity +3D Model with Ridge Velocity Boundary Conditions 
-Porosity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150. +A 3D model was also implemented,​ which is driven by Dirichlet BCs on the velocity field, which are interpolated onto the prescribed domain from an input file (the same one as for Milestone 1). The directory and execution command for running this model are given as: 
-Compaction pressure + 
-Compaction pressure due to compressibility of the solid phase for the 3D isoviscous McKenzie model with ridge BCs at time step 150. +    Magma/​Models/​Milestone5/​IsoviscousMcKenzieRidge3D/​ 
-Melt fraction +    ./StGermain IsoviscousMcKenzieRidge3D.xml 
-Melt fraction field representing the melt to solid phase of the 3D isoviscous McKenzie model with ridge BCs at time step 150. +Some images for the x and y velocity components, the dynamic and compaction pressures, the porosity, the melt fraction and the x and y melt velocity components are attached below. 
-Melt velocity - x component + 
-x component of the melt velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150. +//Isoviscous McKenzie System with Corner Flow BC - 1. 
-Melt velocity - y component +After 1 time step// 
-y component of the Melt velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.+{{ :​wg:​magma_migration:​benchmark:​iso_bc-1.png?​100 |}} 
 +//Isoviscous McKenzie System with Corner Flow BC - 50. 
 +After 50 time steps// 
 +{{ :​wg:​magma_migration:​benchmark:​iso_bc-50.png?​100 |}} 
 +//Isoviscous McKenzie System with Corner Flow BC - 3200. 
 +After 3200 time steps.// 
 +{{ :​wg:​magma_migration:​benchmark:​iso_bc-3200.png?​100 |}} 
 +//Velocity - x component. 
 +x component of the velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​velocity_x.png?​100 |}} 
 +// Velocity - y component. 
 +y component of the velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​velocity_y.png?​100 |}} 
 +//Dynamic (Stokes) pressure, 
 +Dynamic pressure due to viscous shear for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​dynamic_pressure.png?​100 |}} 
 +//Porosity. 
 +Porosity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​porosity_bc150.png?​100 |}} 
 +//Compaction pressure. 
 +Compaction pressure due to compressibility of the solid phase for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​compaction_pressure.png?​100 |}} 
 +//Melt fraction. 
 +Melt fraction field representing the melt to solid phase of the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​melt_fraction.png?​100 |}} 
 +//Melt velocity - x component. 
 +x component of the melt velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​melt_velocity_x.png?​100 |}} 
 +//Melt velocity - y component. 
 +y component of the Melt velocity field for the 3D isoviscous McKenzie model with ridge BCs at time step 150.// 
 +{{ :​wg:​magma_migration:​benchmark:​melt_velocity_y.png?​100 |}}
wg/magma_migration/benchmark/start.1409266650.txt.gz · Last modified: 2014/08/28 22:57 by ljhwang