Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solution derivative for fault face kernels has incorrect values #636

Open
baagaard-usgs opened this issue Jul 1, 2023 · 4 comments
Open
Assignees
Labels
bug:petsc PETSc related bug

Comments

@baagaard-usgs
Copy link
Contributor

baagaard-usgs commented Jul 1, 2023

Describe the bug

The derivative of the solution, s_x, for the fault face kernels has incorrect values. The offsets of s_x (sOff_x) seem to be correct as they are set to pass just the values for one side of the fault. The values for the derivatives do not seem to be matching up with the offsets.

To Reproduce

PETSc branch: knepley/fix-plex-hybrid-integration
PyLith branch: baagaard/feature-mmstests-dynamic-prescribed-slip

@baagaard-usgs baagaard-usgs added the bug General bug label Jul 1, 2023
@baagaard-usgs baagaard-usgs self-assigned this Jul 1, 2023
@baagaard-usgs baagaard-usgs added bug:petsc PETSc related bug and removed bug General bug labels Jul 1, 2023
@baagaard-usgs baagaard-usgs changed the title Solution derivative for fault face kernels has wrong order Solution derivative for fault face kernels has incorrect values Jul 1, 2023
@baagaard-usgs
Copy link
Contributor Author

@knepley Need to add geometry for neighboring cells to hybrid residual and Jacobian calculation.

  • Need to get cell on each side of the fault.
  • Make array neighbors and get geometry for neighbors (cell).
  • Pass both geometry of faces and neighbors to residual and Jacobian calculations.
  • Need to use neighbor geometry for negative and positive sides of the fault calculations (cell Jacobian, etc).

@baagaard-usgs
Copy link
Contributor Author

@knepley Here is an update on the status of the fault integration for dynamic prescribed slip.

Describe the bug

The derivative of the solution, s_x, for the fault face kernels has incorrect values for 2 faces. The MMS test currently imposes uniform shear strain with zero slip. The xy strain should be -0.5 leading to a y traction of -1. For 2 faces, we get an xy strain of -1 leading to a y traction of -2.

To Reproduce

PETSc branch: knepley/fix-hybrid-geometry
PyLith branch: baagaard/feature-mmstests-dynamic-prescribed-slip

Note: This PETSc branch is not up-to-date with PETSc main, so it reports version 3.19.4. It should be rebased on PETSc main or you will need to update configure.ac to allow use this version of PETSc.

cd tests/mmstests/linearelasticity/faults-2d
make mmstest_linearelasticity_faults2d
make export-data
./mmstest_linearelasticity_faults2d UniformStrainRateExplicit::QuadQ1::testResidual

@baagaard-usgs
Copy link
Contributor Author

Matt pushed a change to PETSc branch fix-hybrid-geometry and it is now rebase on PETSc main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:petsc PETSc related bug
Projects
None yet
Development

No branches or pull requests

2 participants