SimpleDB boundary condition for varied displacement rate

Dear Pylith developer,

I would like to create 3D modeling of inter-seismic fault deformation with boundary condition of displacement rate like in this figure below. The displacement rate (mm/ year) is applied and varied laterally (nodes with the same longitude latitude but different depth have the same displacement rate value).

I would like to use Pylith v2.2.1 or v2.2.2. I checked on the example we can used the SimpleDB for different boundary condition value at different points. However, I could not find example of SimpleDB for displacement rate value (mm/ yr) (kindly correct If I’m wrong).

I would like to ask, can I use displacement rate value (mm/ yr) that varied laterally (as shown in the figure) for the boundary condition in the SimpleDB file? How shall I modify the example code? Kindly suggest.

Thank you in advance

Dian

(Huang et al., 2023)

We may not have an example with a SimpleDB with a displacement rate for PyLith v2.2, but the concepts are very similar to the cases of a UniformDB with a displacement rate (refer to examples/3d/hex8/step04.cfg) and a SimpleDB for spatially varying values (refer to examples/3d/hex8/step18.cfg).

Thank you @baagaard

I will check these examples

Dian

Dear @baagaard

I have tried SimpleDB file for spatially varying values, for the boundary condition at +x face, -x face, +y face, and -y face. However I found a problem related to degree of freedom.

Below is the illustration for boundary condition that I apply (black arrow):

I created two files for the SimpleDB files: …_xface.spatialdb and …_yface.spatialdb.
In the .cfg file I defined 5 boundary conditions for x_pos, x_neg, y_pos, y_neg, and z_neg.

But I found error:

I attached the .cfg and .spatialdb files in the ZIP folder.
files.zip (5.3 KB)

Please advice what should I do. Thank you.

Dian

Along the edges and corners where the boundaries overlap, you cannot constrain the displacement at points using two different boundary conditions. For example, you cannot constrain the x and y degrees of freedom of a point from the BC on the +x boundary and from the BC on the +y boundary.

In cases where the displacements are zero (not your case), we usually constrain the degree of freedom normal to the boundary. This prevents overlapping boundary conditions.

In cases where the multiple degrees of freedom are constrained and will overlap at edges and corners, the correct procedure is to remove the overlap by not including the overlappling points in one of the groups specifying the boundary. For example, in creating the group of point on the +x boundary, you can remove the points that are on the -y and +y boundaries (assuming you are constraining the horizontal components of displacement). In CUBIT this is done using the the boolean options on groups.

Thank you so much for the reply and advice @baagaard
I will try it!

Regards

Dian