geodynamics / pylith

PyLith is a finite element code for the solution of dynamic and quasi-static tectonic deformation problems.
Other
154 stars 98 forks source link

Error when trying to use fault surface divided into parts #656

Closed quanzhenlaozu closed 1 year ago

quanzhenlaozu commented 1 year ago

Hello, I will divide the slab into three parts, with the node set being fault slab1, fault Slabtop2, fault slab3, fault slabbot1, fault slabbot2, fault Slabbot3, each part is set with a displacement, but an error occurred during runtime, 'Error occurred while adjusting topology to create cohesive cells for fault' fault_slabbot2 ',Error in topology of mesh associated with symmetry of advertising information Can't it be set like this?

knepley commented 1 year ago

I think this is 2.2. This error occurs when there is a problem inserting cohesive cells. This can happen, for instance, when all vertices of a cell are on the same fault. Does this happen?

quanzhenlaozu commented 1 year ago

Yes,this is 2.2.I also just split slab into three parts, like the image below.

------------------ 原始邮件 ------------------ 发件人: "geodynamics/pylith" @.>; 发送时间: 2023年9月27日(星期三) 晚上7:08 @.>; @.**@.>; 主题: Re: [geodynamics/pylith] [REPLACE THIS WITH AN APPROPRIATE TITLE FOR YOUR BUG REPORT] (Issue #656)

I think this is 2.2. This error occurs when there is a problem inserting cohesive cells. This can happen, for instance, when all vertices of a cell are on the same fault. Does this happen?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

baagaard-usgs commented 1 year ago

You cannot break a fault surface into separate pieces that touch without inserting a buried edge between the pieces. Inserting the buried edges allows the algorithm that inserts the cohesive cells to work, but it is almost certainly NOT what you want because it will pin the slip to zero along the buried edges. The workaround is to use a single fault surface. If you provide a diagram of the boundary value problem you are trying to solve, then we can provide guidance on how to solve it using PyLith.

quanzhenlaozu commented 1 year ago

Thank you.I want to divide the slab_top into three parts, each with different displacement settings. The following two pictures are my model and questions.The first image shows the model without grid, and the second image shows the model after grid establishment.

------------------ 原始邮件 ------------------ 发件人: "geodynamics/pylith" @.>; 发送时间: 2023年9月27日(星期三) 晚上10:23 @.>; @.**@.>; 主题: Re: [geodynamics/pylith] Error when trying to use fault surface divided into parts (Issue #656)

You cannot break a fault surface into separate pieces that touch without inserting a buried edge between the pieces. Inserting the buried edges allows the algorithm that inserts the cohesive cells to work, but it is almost certainly NOT what you want because it will pin the slip to zero along the buried edges. The workaround is to use a single fault surface. If you provide a diagram of the boundary value problem you are trying to solve, then we can provide guidance on how to solve it using PyLith.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

baagaard-usgs commented 1 year ago

None of your images are showing up in the GitHub issues. Please upload them through the web browser interface.

You can use a spatial database to specify variations in slip over a fault surface. See the examples.

quanzhenlaozu commented 1 year ago

Sorry.There are my images. IMG_0058 IMG_0055

quanzhenlaozu commented 1 year ago

Sorry, I seem to understand how to handle it, and I can set up different in the database. Thank you very much for your answer