This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
software:pylith:cdm2015:questions_log [2015/08/25 18:43] baagaard |
software:pylith:cdm2015:questions_log [2015/08/25 22:42] (current) baagaard |
||
---|---|---|---|
Line 34: | Line 34: | ||
Brad Aagaard: The work Jacobian refers to two different things in PyLith. There is the Jacobian of the system of equations. This corresponds to the tangent stiffness matrix for an elasticity problem. There is also the Jacobian which maps a reference cell to the actual cell. The error you were getting is associated with the mapping. We check the determinant of the Jacobian against a threshold (default value is 1.0e-6). A value smaller than the threshold generally indicates something is wrong with the problem setup and would lead to very poor conditioning of the system of equations. Usually a small Jacobian means the length scale used in the nondimensionalization is too big (the default is 1.0 km). | Brad Aagaard: The work Jacobian refers to two different things in PyLith. There is the Jacobian of the system of equations. This corresponds to the tangent stiffness matrix for an elasticity problem. There is also the Jacobian which maps a reference cell to the actual cell. The error you were getting is associated with the mapping. We check the determinant of the Jacobian against a threshold (default value is 1.0e-6). A value smaller than the threshold generally indicates something is wrong with the problem setup and would lead to very poor conditioning of the system of equations. Usually a small Jacobian means the length scale used in the nondimensionalization is too big (the default is 1.0 km). | ||
+ | |||
+ | |||
+ | ===== Application of PyLith to research problems ===== | ||
+ | |||
+ | 8. **so we can do forward modeling (if we have disp and x-y) ?** | ||
+ | |||
+ | Brad Aagaard: I am not sure what you mean. The current version of PyLith is designed for forward calculations. It does have a user-friendly interface for static Green's functions that are intended for use in inverting for coseismic slip from GPS/InSAR data in complex 2-D and 3-D domains. | ||
+ | |||
+ | 16. **Is it possible to extract elastic medium parameters through the surface displacement using this code?** | ||
+ | |||
+ | Brad Aagaard: PyLith does not currently have support for adjoint simulations for constraining elastic properties. This could be done as a series of forward problems. This may be possible in future versions of PyLith via the multiphysics capabilities that will make it possible to supply your own governing equation. | ||
+ | |||
+ | 31. Farrokh: **What do suggest to switch the analysis from implicit to explicit? If we need dynamic rupture analysis only in very small part of the whole time duration, and the most part it should be quasi-static, what do you suggest to handle it?** | ||
+ | |||
+ | Charles Williams: Use quasi-static to get to point of spontaneous rupture, then use those as initial stresses for dynamic solution. We are working towards earthquake cycle modeling that would allow automatically switch back and forth between dynamic and quasi-static solutions. The first step towards that goal is better adaptive time stepping, which is scheduled for v3.0. | ||
+ | |||
+ | 32. Wajahat Ali: **Does any part of pylith is covering induce seismicity ?** | ||
+ | |||
+ | Charles Williams: Upcoming multiphysics versions of PyLith will address this more completely (e.g., fully coupled poroelasticity). At present, you can estimate changes in effective normal stress and apply these as initial conditions to existing faults. | ||
+ | |||
+ | 33. Wajahat Ali: **if we don't have a known fault in an area can we use elastic properties from sonic logs to identify faults?** | ||
+ | |||
+ | Brad Aagaard: PyLith does not contain any functionality to identify faults from sonic logs. | ||
Line 46: | Line 69: | ||
Brad Aagaard: We strongly recommend that you start with the PyLith binary. There are detailed instructions in the manual. The basic steps are: (1) unpack the binary. (2) Change to the top-level directory of the unpacked distribution, (3) run "source setup.sh". You can then change to a directory with the example input files, such as examples/3d/hex8, and run a simulation using PyLith. | Brad Aagaard: We strongly recommend that you start with the PyLith binary. There are detailed instructions in the manual. The basic steps are: (1) unpack the binary. (2) Change to the top-level directory of the unpacked distribution, (3) run "source setup.sh". You can then change to a directory with the example input files, such as examples/3d/hex8, and run a simulation using PyLith. | ||
+ | |||
+ | 26. **can we use echo--- in script ?** | ||
+ | |||
+ | Charles Williams: You cannot put shell or Python commands in the .cfg file. If necessary you could edit the Python code, but would then need to recompile it. We recommend using the Python and C/C++ debuggers rather than using print statements for debugging. The PyLith binary contains optimized code, so for debugging it is best to build from source. | ||
4. **what about easy restarting (i.e. if you run an EQ cycle model for n-years and want to continue for longer total time)?** | 4. **what about easy restarting (i.e. if you run an EQ cycle model for n-years and want to continue for longer total time)?** | ||
Line 52: | Line 79: | ||
We did find a bug in the initial stress specification for viscoelastic materials in v2.1 (I think it also applies to earlier releases too). This will be fixed in the upcoming release in the next few weeks. | We did find a bug in the initial stress specification for viscoelastic materials in v2.1 (I think it also applies to earlier releases too). This will be fixed in the upcoming release in the next few weeks. | ||
- | |||
- | 8. **so we can do forward modeling (if we have disp and x-y) ?** | ||
- | |||
- | Brad Aagaard: I am not sure what you mean. The current version of PyLith is designed for forward calculations. It does have a user-friendly interface for static Green's functions that are intended for use in inverting for coseismic slip from GPS/InSAR data in complex 2-D and 3-D domains. | ||
12. Wajahat Ali: **can you please explain more about nearest neighbor and will this step introduce error ? in locations** | 12. Wajahat Ali: **can you please explain more about nearest neighbor and will this step introduce error ? in locations** | ||
Line 69: | Line 92: | ||
Brad Aagaard: This really depends on the number of observations and the spacing between observations. Checkerboard resolution tests can give you a general idea. | Brad Aagaard: This really depends on the number of observations and the spacing between observations. Checkerboard resolution tests can give you a general idea. | ||
- | 16. **Is it possible to extract elastic medium parameters through the surface displacement using this code?** | ||
- | Brad Aagaard: PyLith does not currently have support for adjoint simulations for constraining elastic properties. This could be done as a series of forward problems. This may be possible in future versions of PyLith via the multiphysics capabilities that will make it possible to supply your own governing equation. | + | 28. Farrokh: **My question is about modeling the dynamic rupture considering insitu stress. Since for the explicit dynamic analysis Pylith use a trivial solver, I was wondering how can include static calculation before time-stepping? Can we use db_initial_stress to include initial stress throughout the whole domain? I was using db_initial_stress applied along the boundaries to include insitu remote stresses; however, the results I got showed applying loads on the boundaries generate a heavy P-wave that made the results wrong.** |
+ | |||
+ | Brad Aagaard: For a linear elastic model the deformation depends only on the change in stresses not the initial stresses so we usually don't use them. For simulations with spontaneous rupture (FaultCohesiveDyn), we need the initial tractions on the fault, so we usually impose them directly if we have a linearly elastic material. For elastoplastic and viscoelastic models the initial stresses in the bulk medium can be important. For dynamic spontaneous rupture simulations, we don't tend to use viscoelastic materials; we do use initial stresses for elastoplastic problems with the Drucker Prager bulk consitutive model. | ||
+ | |||
+ | 29. Farrokh: **There were some additional settings specific to fault friction. in [pylithapp.petsc] for dike intrusion (step20.cfg). I was wondering if we want to include an opening mode pressurized fracture in a dynamic rupture (explicit time stepping), since we don’t use PETSc, do we still need to use these modifications for fault friction?** | ||
+ | |||
+ | Brad Aagaard: The zero_tolerance parameter is relevant for explicit time stepping, but the PETSc solver settings are not because we don't use the PETSc solvers with explicit time stepping. For dike intrusions the open_free_surface parameter would also be relevant. | ||
+ | |||
+ | 30. Farrokh: **Can we use nonuinform, automatic time step in spontaneous dynamic rupture?** | ||
+ | |||
+ | Brad Aagaard: PyLith uses the central difference scheme for explicit time stepping. The stable time step is controlled by the CFL condition (time it takes the P wave to propagate across a cell), so a uniform time step is used. When we switch to using PETSc time stepping algorithms (planned for v3.0) we will have more options for adaptive time stepping in quasi-static simulations. | ||
===== PyLith Output ===== | ===== PyLith Output ===== | ||
Line 99: | Line 131: | ||
Brad Aagaard: PyLith relies on an interior surface (group of vertices associated with cell faces) for faults. CUBIT/Trelis can only generate this type of information if the surfaces for the faults (fracture surfaces) separate two volumes. This means the surfaces must extend to the edges of the volumes. Sometimes it is convenient to insert artificial surfaces (for example, a horizontal surface near the top of the mantle) so that you can divide your domain into pieces and allow your fault surfaces to truncate at this artificial surface rather than extend them all the way to the bottom of your domain. In either case you need not define the nodeset in CUBIT/Trelis to be the entire surface, but can create a set of vertices over a subset of the surface to match the extend of the fault/fracture. | Brad Aagaard: PyLith relies on an interior surface (group of vertices associated with cell faces) for faults. CUBIT/Trelis can only generate this type of information if the surfaces for the faults (fracture surfaces) separate two volumes. This means the surfaces must extend to the edges of the volumes. Sometimes it is convenient to insert artificial surfaces (for example, a horizontal surface near the top of the mantle) so that you can divide your domain into pieces and allow your fault surfaces to truncate at this artificial surface rather than extend them all the way to the bottom of your domain. In either case you need not define the nodeset in CUBIT/Trelis to be the entire surface, but can create a set of vertices over a subset of the surface to match the extend of the fault/fracture. | ||
- | 19. **Renier Ladron de Guevara: I've been trying to reproduce the volcano with dike and magma chamber with a 90m SRTM DEM model amd I am getting the errors I am copuing below. I will appreciate any help regarding the possible reason for this issue. The error comes out when running the dem2lines.py script.** | + | 19. Renier Ladron de Guevara: **I've been trying to reproduce the volcano with dike and magma chamber with a 90m SRTM DEM model amd I am getting the errors I am copuing below. I will appreciate any help regarding the possible reason for this issue. The error comes out when running the dem2lines.py script.** |
<code> | <code> | ||
Line 116: | Line 148: | ||
Brad Aagaard: This looks like a problem with getting the data into the arrays. The array sizes are different than expected. | Brad Aagaard: This looks like a problem with getting the data into the arrays. The array sizes are different than expected. | ||
- |