From: Matthew Knepley <[email protected]>
Date: Friday, August 7, 2020 at 12:28 PM
To: PETSc <[email protected]>
Cc: Brad Aagaard <[email protected]>
Subject: [EXTERNAL] Using TS IMEX for a mechanical problem with a fault
We are using ARKIMEX (tried many of the formulations) for a problem with
elastodynamics. Thus we have, in first order form,
u_t - v = 0
v_t - E(u) + C (v^+ - v^-) + f = 0
C^T lambda = 0
Here u is the displacement, v is the velocity, E is the elastic operator, C are
the compatibility condition across the fault (v^+ and v^- are velocity on
opposite sides of the fault), and lambda is
the Lagrange multiplier enforcing the fault conditions.
We are running an example that breaks a bar in the middle and lets elastic
waves travel outward and eventually fall off the end (absorbing boundary
conditions). We are splitting this into a LHS and RHS for IMEX. The LHS
operator looks like
/ M 0 0 \
| 0 M C |
\ 0 C^T 0 /
where M is the mass matrix and C is the operator from above. This gives the
wrong solution, with the displacement being way too small and inconsistent with
the velocity.
However, if I multiply the RHS by M^{-1}, then the solution "looks" right. Do
the IMEX methods assume that the LHS Jacobian is the identity somewhere?
Thanks,
Matt
This is PyLith (https://github.com/geodynamics/pylith), so if someone wants to
run it, we can help them out.
--
What most experimenters take for granted before they begin their experiments is
infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener
http://www.cse.buffalo.edu/~knepley/