Upload
gns
View
0
Download
0
Embed Size (px)
Citation preview
Spring AGU MeetingBaltimore, May, 2006
Development of a Package for Modeling Stress in the Lithosphere
Charles WilliamsRensselaer Polytechnic Institute
Spring AGU MeetingBaltimore, May, 2006
Other People Involved in Code Development
Matt Knepley (CIG/ANL)PETSc/Sieve development and implementation, parallelization.
Brad Aagaard (USGS)External packages, merging of LithoMop and EqSim into PyLith.
Leif Strand (CIG)Build system, SVN repository.
Michael Aivazis (CIG/CACR)Pyre/pythia.
Spring AGU MeetingBaltimore, May, 2006
What Types of Problems Would We Like To Solve?
Stress evolution over multiple earthquake cycles.Complex geometries, rheologies, and boundary conditions.
Realistic fault behavior on multiple time scales.
Large-scale models of inter/intra-plate stresses.Large spatial scales, spherical geometry.
Contributions from gravity and lithosphere/mantle coupling.
Volcanically-induced stresses (intrusion, emplacement, etc.).
Complex structure and plastic/viscoplastic rheology.
Spring AGU MeetingBaltimore, May, 2006
What Code Features Will Be Needed to Solve These Problems?
Need to represent a wide range of spatial and temporal scales.
Must allow complex structures and geometries.
Able to model faults and complex rheologies.
Different types of geometries (spherical, 2D, etc.).
Easily adaptable to different problem types, sometimes involving different physics.
Spring AGU MeetingBaltimore, May, 2006
SCEC Community Block Model
View of CBM for Mojave region fromhttp://structure.harvard.edu/cfm/blockmodel.jpg
Moderate-resolution mesh (56,472 nodes; 342, 998 elements)created by Carl Gable, LANL.
Forward/inverse models of elastic block interactions.
Models of multiple earthquake cycles.
Spring AGU MeetingBaltimore, May, 2006
Parallelization Using PETSc and SieveMesh represented in terms of hierarchical covering relations.
Sieves are inherently parallel, eliminating need for constructs such as “ghost nodes”.
Sieves make parallelization much easier.
PETSc/Sieve can import meshes from a variety of meshing packages, perform partitioning and refinement, and provide parallel data structures that may be used directly by PyLith.
Spring AGU MeetingBaltimore, May, 2006
Geometric Flexibility Through Multiple Element TypesMultiple element types provide compatibility with many meshing packages.
Different element types may be combined for greater flexibility.
We will use the FIAT (FInite element Automatic Tabulator) package to use arbitrary element types of any order.
Spring AGU MeetingBaltimore, May, 2006
Faults!"#$%"&'()*# +!"#$%& '()*+,-.*/*0*1*()2
,-./0#$&1 23#4#50"&.5*&6.0#$).3&67*#3"!%3%45
FIG. 3.7!Assembly of various interface elements with two solid elements. Notethat element trint12 can have curved edges.
!
"
# $
% &
'
(
)50#$89
("
'
%
!
&
%%
!
# #
" "
& &
''
0$)50:
%%
!
# #
"
$
&(
)
'
0$)50;<
'
$
(
)
* *
++
,,
Presently:Kinematic case: ‘Split nodes’
‘Dynamic’ case: ‘Slippery nodes’
Soon - cohesive elements:
Kinematic case: Specified differential slip.
‘Dynamic’ case: Slip determined by element constitutive relationship.
Eventually - discontinuous elements:
Faults can cut through elements for kinematic or dynamic case.
From WARP3DManual
Spring AGU MeetingBaltimore, May, 2006
Stress Changes Due to Dynamic Rupture Propagation
Quasi-static solution is needed to provide realistic initial conditions for dynamic solution.
At end of dynamic solution, there are regions of high shear stress, which would likely be reduced by viscoelastic relaxation (quasi-static).
Movie of 2002 M 7.9 Denali earthquake provided by Brad Aagaard, USGS.
Spring AGU MeetingBaltimore, May, 2006
Code Coupling For Complex Problems
E. Choi, August, 2004
SNAC CitcomS
Pyre Modeling Framework
TECTON
Quasi-static
code
EqSim
Dynamic code
LithoMop
Quasi-static
codePyLith
Quasi-static/
dynamic code EqSim
Dynamic code
CitcomS
Convection
code
Other
Modeling
Codes
Merging of LithoMop and EqSim will facilitate simulation of problems involving interseismic and coseismic time scales.
Integration of both codes into Pyre framework will facilitate coupling with other codes in the framework.
Spring AGU MeetingBaltimore, May, 2006
Inversion SetupModular design allows one component (e.g., BC) to be replaced without altering anything else (e.g., mesh).
Computed values may be requested for specified locations and converted into cost functions by the driver application.
Image of Mojave portion of CBM from Carl Gable, LANL.
PyLith Package
Solver
Time stepping, BC,
etc.
FECore
Mesh, integration,
etc.
Faults
Kinematic BC,
Dynamic properties
Materials
Specification and
physics
Additional
Components
SpatialData Package
Generic Interface
Query
Query
Query
Driver Application
Python script to
control multiple
simulations
Pa
ram
ete
rs
ComputedValues
Spring AGU MeetingBaltimore, May, 2006
How Desired Features Are Being AddressedWide range of spatial and temporal scales.
Parallelization using PETSc/Sieve.
Merging LithoMop + EqSim -> PyLith.
Allowing code coupling using Pyre.
Complex structures and geometries.Multiple element types.
Use Sieve for interfacing with meshing packages.
Different types of geometries (e.g., spherical).Most components are independent of geometry.
Use of FIAT provides basis functions for any geometry.
Modular design will facilitate addition of new geometries.
Spring AGU MeetingBaltimore, May, 2006
How Desired Features Are Being Addressed (cont.)
Faults and complex rheologies.Modular design simplifies addition of new rheologies.
Cohesive elements with easily-defined constitutive relations.
Adaptable to different problems with different physics.
Integration into Pyre framework will eventually allow coupling with other codes in the framework.
Modular design allows easy extensibility.
Spring AGU MeetingBaltimore, May, 2006
Project Support and Further InformationSCECFault systems workshops, initial funding for code development.
GeoFramework projectDevelopment of Pyre/Pythia framework.
NSF ITR programFunding for code development.
CIGInfrastructure and code development assistance.
Further information: www.geodynamics.org.
Spring AGU MeetingBaltimore, May, 2006
component
bindings
library
services
services
services
services
component
bindings
engine
component
bindings
engine
solver (e.g., TECTON)
solver (e.g., EqSim)infrastructure
framework
package
python
C/C++
FORTRAN/C/C++
Pyre Architecture
Spring AGU MeetingBaltimore, May, 2006
Examples of Code Coupling Using Pyre
Mesher Lithomop3d Visualization
(e.g., DX)pyre pyre
Lithomop3dpyreRegional
Convection
(e.g., CitComS)
Rupture
Propagation
(e.g., EqSim)
pyre
Complete Quasi-static Modeling Package
Coupling Different Modeling Codes
Spring AGU MeetingBaltimore, May, 2006
TECTON 1.0 Material Property Specification
€
σ ij =Cijklεkl
€
˙ ε ijV =
′ σ ij ′ J 2n−1
2ηn
€
k e P( ) =αI1 + ′ J 2
Elastic
Power-lawviscous
Drucker-Pragerplastic
Spring AGU MeetingBaltimore, May, 2006
Lithomop Material Property Specification
Elastic
Viscoelastic
Elasto-plastic
Viscoelastic/plastic
Spring AGU MeetingBaltimore, May, 2006
Planned Material Models for LithoMop3d
Model TECTON 1.0 Lithomop3d
1. Isotropic Elastic Yes Yes
2. Transversely Isotropic Elastic No Planned
3. Orthotropic Elastic No Planned
4. Anisotropic Elastic No Planned
5. Maxwell Linear Viscoelastic Yes Yes
6. Maxwell Power-Law Viscoelastic Yes Planned
7. Drucker-Prager Elasto-Plastic Yes Planned
8. Model 5 + Model 7 Yes Planned
9. Model 6 + Model 7 Yes Planned
Spring AGU MeetingBaltimore, May, 2006
Automatic Computation of Prestresses
Application of gravity results in unrealistically large initial deformation.
Solution is to apply initial stresses to cancel gravity.
This is now done automatically in LithoMop.
Using this method, it is also possible to avoid the Poisson’s ratio problem with gravity.
Initial StateElastic SolutionGravity
‘turned on’
Spring AGU MeetingBaltimore, May, 2006
Code Usage - SCEC Benchmarks
BM5
Ux, m-0.6 0.6
Uy, m-0.6 0.6
Uz, m-0.6 0.6
BM7
Spring AGU MeetingBaltimore, May, 2006
Misfits for SCEC BM 5
0.01
-0.01
m
Ux
0.01
-0.01
m
Ux
0.01
-0.01
m
Uy0.01
-0.01
m
Uz
0.01
-0.01
m
Uz
Map View
Cross-Section
Spring AGU MeetingBaltimore, May, 2006
Code Usage - Multiple Earthquake Simulations for Taiwan
From Ya-Ju Hsu [2005]
Spring AGU MeetingBaltimore, May, 2006
Simple Spatial DatabasePoint
Constant material properties
Uniform boundary conditions
Line
Depth-varying material properties
Linearly-varying boundary conditions
Plane Volume
Fault slip distribution
BC on external boundary
Heterogeneous material properties
Spring AGU MeetingBaltimore, May, 2006
Mesh Creation
Meshing Package
LaGriT, CUBIT,
NetGen, etc.
CIG Package
Partitioning Uniform Refinement
Spring AGU MeetingBaltimore, May, 2006
Structure of PyLith Package
Pyre
low−level code inefficient, compiledlanguage
from Pythonbindings to call C++
high−level codein rich, expressiveinterpreted language
Bindings
Python scripts
C++ library
Solver
Bindings
Python scripts
C++ library
FECore
Bindings
Python scripts
C++ library
Faults
Bindings
Python scripts
C++ library
Materials
Python script
Application
C libraries
PETScC libraries
MPI
Bindings
Python scripts
C++ library
SpatialData
Bindings
Python scripts
C++ library
Spring AGU MeetingBaltimore, May, 2006
Future Data Import and Export Mechanisms
Lithomop3d
Data Import Facility
Import Ascii
Import AVS
UCD
Data Export Facility
Export
OpenDX
Export AVS
UCD
??? ???
Spring AGU MeetingBaltimore, May, 2006
Example Problem: SCEC BM5 Using Carl Gable’s Mesh
Similar procedure used when using package such as NETGEN.
Spring AGU MeetingBaltimore, May, 2006
Lithomop Surface Displacements Compared To Analytical Solution
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0 4000 8000 1.2 104 1.6 104 2 104 2.4 104
Y = 0 mY = 8000 mY = 16000 mY = 24000 m
Y = 0 mY = 8000 mY = 16000 mY = 24000 m
X-Di
spla
cem
ent (
m)
X-Distance (m)
Lithomop Analytical
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0 4000 8000 1.2 104 1.6 104 2 104 2.4 104
Y = 0 mY = 8000 mY = 16000 mY = 24000 m
Y = 0 mY = 8000 mY = 16000 mY = 24000 m
Z-Di
spla
cem
ent (
m)
X-Distance (m)
Lithomop Analytical