[CIG-SHORT] How to determine the value of Up direction

tu xiang tuxiang2016 at outlook.com
Tue Aug 29 22:42:37 PDT 2017


I construct another fault mesh based on the 2017 Troubleshooting tutorial example.

the .jou files:
# -*- Python -*- (syntax highlighting)
#
# ----------------------------------------------------------------------
# Set units to SI.
# ----------------------------------------------------------------------
${Units('si')}
#
# ----------------------------------------------------------------------
# Reset geometry.
# ----------------------------------------------------------------------
reset

# ----------------------------------------------------------------------
# Create block
# ----------------------------------------------------------------------
${blockLength=40.0*km}
${blockWidth=24.0*km}
${blockHeight=16.0*km}

brick x {blockLength} y {blockWidth} z {blockHeight}
${idVol=Id("volume")}

volume {idVol} move x 0 y 0 z {-0.5*blockHeight}

# ----------------------------------------------------------------------
# Create interface surfaces
# ----------------------------------------------------------------------
create planar surface with plane yplane offset 0
${idSf=Id("surface")}
surface {idSf} name "fault_surface"
create planar surface with plane zplane offset -10000
${idSi=Id("surface")}
surface {idSi} name "material_interface"

# ----------------------------------------------------------------------
# Divide volumes using interface surfaces
# ----------------------------------------------------------------------
webcut volume 1 with plane surface fault_surface
webcut volume 1 4 with plane surface material_interface
volume 1 name "elastic_xpos"
volume 4 name "elastic_xneg"
volume 5 name "visco_xpos"
volume 6 name "visco_xneg"

# ----------------------------------------------------------------------
# Create embedded fault
# ----------------------------------------------------------------------
${faultLength=36*km}
${faultWidth=10.0*km}
brick  x {faultLength} y {1.0*km}  z {2.0*faultWidth}
${idV=Id("volume")}
chop volume 2 with volume {idV}

# ----------------------------------------------------------------------
# Imprint all volumes, merging surfaces
# ----------------------------------------------------------------------
imprint all with volume all
merge all

delete body 3 8 9

# End of file

# -*- Python -*- (syntax highlighting)
# ----------------------------------------------------------------------
# Generate geometry
# ----------------------------------------------------------------------
playback 'geometry.jou'

# ----------------------------------------------------------------------
# Set discretization size
# ----------------------------------------------------------------------
volume all size {1*km}

# ----------------------------------------------------------------------
# Generate the mesh
# ----------------------------------------------------------------------
mesh volume all

# ----------------------------------------------------------------------
# Create blocks for materials
# ----------------------------------------------------------------------
block 1 volume elastic_xpos elastic_xneg
block 1 name "elastic"
block 2 volume visco_xpos visco_xneg
block 2 name "viscoelastic"

# ----------------------------------------------------------------------
# Create nodesets for faults
# ----------------------------------------------------------------------
group "fault" add node in surface fault_surface
nodeset 10 group fault
nodeset 10 name "fault"

group "fault_edge" add node in curve 81
group "fault_edge" add node in curve 82
group "fault_edge" add node in curve 83
nodeset 11 group fault_edge
nodeset 11 name "fault_edge"

#group "fault_ext" add node in surface fault_surface
#group "fault_ext" add node in surface fault_surface at A
#group "fault_ext" add node in surface fault_surface at B
#group "fault_ext" add node in surface fault_surface at C
#group "fault_ext" add node in surface fault_surface at D
#nodeset 12 group fault_ext
#nodeset 12 name "fault_ext"


# ----------------------------------------------------------------------
# Create nodeset for +x face
# ----------------------------------------------------------------------
group "face_xpos" add node in surface 23
group "face_xpos" add node in surface 31
group "face_xpos" add node in surface 25
group "face_xpos" add node in surface 38
nodeset 20 group face_xpos
nodeset 20 name "face_xpos"

# ----------------------------------------------------------------------
# Create nodeset for -x face
# ----------------------------------------------------------------------
group "face_xneg" add node in surface 21
group "face_xneg" add node in surface 33
group "face_xneg" add node in surface 27
group "face_xneg" add node in surface 35
nodeset 21 group face_xneg
nodeset 21 name "face_xneg"

# ----------------------------------------------------------------------
# Create nodeset for +y face
# ----------------------------------------------------------------------
group "face_ypos" add node in surface 20
group "face_ypos" add node in surface 28
nodeset 22 group face_ypos
nodeset 22 name "face_ypos"

# ----------------------------------------------------------------------
# Create nodeset for -y face
# ----------------------------------------------------------------------
group "face_yneg" add node in surface 30
group "face_yneg" add node in surface 37
nodeset 23 group face_yneg
nodeset 23 name "face_yneg"

# ----------------------------------------------------------------------
# Create nodeset for +z face
# ----------------------------------------------------------------------
group "face_zpos" add node in surface 10
group "face_zpos" add node in surface 17
nodeset 24 group face_zpos
nodeset 24 name "face_zpos"

# ----------------------------------------------------------------------
# Create nodeset for -z face
# ----------------------------------------------------------------------
group "face_zneg" add node in surface 12
group "face_zneg" add node in surface 16
nodeset 25 group face_zneg
nodeset 25 name "face_zneg"

# ----------------------------------------------------------------------
# Create nodeset for -z face
# ----------------------------------------------------------------------
#group "face_zneg_nofault" add node in group face_zneg
#group "face_zneg_nofault" remove node in group fault_ext
#nodeset 26 group face_zneg_nofault
#nodeset 26 name "face_zneg_nofault"

# ----------------------------------------------------------------------
# Export exodus file
# ----------------------------------------------------------------------
export mesh "mesh.exo" dimension 3 overwrite


It is so strange, it output the same errors (the log.log file).

[pylithapp.problem]
interfaces = [fault]

[pylithapp.problem.interfaces]
fault = pylith.faults.FaultCohesiveDyn

[pylithapp.problem.interfaces.fault]
label = fault
edge  = fault_edge
id    = 100
up_dir = [2, 0, 1]

quadrature.cell = pylith.feassemble.FIATLagrange
quadrature.cell.dimension = 2

[pylithapp.problem.interfaces.fault]
# Specify zero tolerance for detecting slip. Must be larger than the
# KSP absolute tolerance.
open_free_surface = True
zero_tolerance = 1.0e-10
#friction.force_healing = True

friction = pylith.friction.SlipWeakening
friction.label = Slip weakening
friction.db_properties = spatialdata.spatialdb.SimpleDB
friction.db_properties.label = Slip weakening
friction.db_properties.iohandler.filename = spatialdb/fault_friction.spatialdb
friction.db_properties.query_type = linear

traction_perturbation = pylith.faults.TractPerturbation
traction_perturbation.db_initial.label = Initial fault tractions
traction_perturbation.db_initial = spatialdata.spatialdb.SimpleDB
traction_perturbation.db_initial.iohandler.filename = spatialdb/fault_traction.spatialdb
traction_perturbation.db_initial.query_type = linear

I have tried many times. But all failed.
Hope someone tell me how to deal with these problem.
Look forward to your reply.
Best regards
Tu Xiang







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20170830/a5b8dbc5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log.log
Type: application/octet-stream
Size: 5821 bytes
Desc: log.log
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20170830/a5b8dbc5/attachment-0001.obj>


More information about the CIG-SHORT mailing list