[CIG-SHORT] The pylith_benchmarks reports errors
tu xiang
tuxiang2016 at outlook.com
Thu Mar 15 03:31:19 PDT 2018
Dear Matt,
The version I am running is Trelis V16.0.3 Linux.X64 .
According to the examples provided by Pylith, I find that there two kinds of methods for setting vertex spacing with increasing spacing away from fault. I wonder which method will be better for a three-dimensional non-planar fault?
One is that you can export the fault surface into Exodus file and then add the variable of cellsize which specifies the distance between vertices of a cell edge into the Exodus file.
For example
playback 'geometry.jou'
# ----------------------------------------------------------------------
# Create tet4 mesh with resolution dictated by 'cell_size_fn'.
# ----------------------------------------------------------------------
volume all scheme tetmesh
import sizing function "mesh_cellsize.exo" block all variable "cell_size_fn" time 0.0000000
volume all sizing function type exodus
surface all sizing function type exodus
curve all scheme stride
# ----------------------------------------------------------------------
# Generate the mesh
# ----------------------------------------------------------------------
mesh surface all
surface all smooth scheme condition number beta 1.2 cpu 10
smooth surface all
mesh volume all
# ----------------------------------------------------------------------
# Smooth mesh to improve quality
# ----------------------------------------------------------------------
${condnum=2.0}
${loop(4)}
volume all smooth scheme condition number beta {condnum} cpu 2
smooth volume all
${condnum=condnum-0.1}
${endloop}
The other is you can specify the function for computing discretization size at end of curve with bias.
For example:
playback 'geometry.jou'
# ----------------------------------------------------------------------
# Set discretization size and scheme
# ----------------------------------------------------------------------
#{dx=200*m}
surface all scheme trimesh
volume all scheme tetmesh
#{bias_factor=1.02}
# Function for computing discretization size at end of curve with bias
#{fun_dx='dxStart*bias_factor**ceil( ln(1-curveL/dxStart*(1-bias_factor))/ln(bias_factor))'}
# ----------------------------------------------------------------------
# Compute sizes at curve endpoints
# ----------------------------------------------------------------------
# dxA - size at vertex 32 34
#{dxStart=dx}{curveL=Length(39)}{execute("dxA="//fun_dx)}
# dxB - size at vertex 63 66
#{dxStart=dx}{curveL=Length(85)}{execute("dxB="//fun_dx)}
# dxC - size at vertex 31 33
#{dxStart=dx}{curveL=Length(49)}{execute("dxC="//fun_dx)}
# dxD - size at vertex 17 18
#{dxStart=dxC}{curveL=Length(38)}{execute("dxD="//fun_dx)}
# dxE - size at vertex 1 2
#{dxStart=dxA}{curveL=Length(25)}{execute("dxE="//fun_dx)}
# dxF - size at vertex 3 4
#{dxStart=dxA}{curveL=Length(36)}{execute("dxF="//fun_dx)}
# dxG - size at vertex 64 65
#{dxStart=dxB}{curveL=Length(84)}{execute("dxG="//fun_dx)}
# dxH - size at vertex 75 76
#{dxStart=dxB}{curveL=Length(105)}{execute("dxH="//fun_dx)}
# dxI - size at vertex 5 6
#{dxStart=dxG}{curveL=Length(99)}{execute("dxI="//fun_dx)}
# dxJ - size at vertex 7 8
#{dxStart=dxD}{curveL=Length(35)}{execute("dxJ="//fun_dx)}
# ----------------------------------------------------------------------
# Reset sizes
# ----------------------------------------------------------------------
curve all scheme default
surface all sizing function none
surface fault_surface fault_surface at A fault_surface at B size {dx}
# Set bias on curves extending from faults
curve 39 scheme bias fine size {dx} factor {bias_factor} start vertex 32
curve 45 scheme bias fine size {dx} factor {bias_factor} start vertex 34
curve 85 scheme bias fine size {dx} factor {bias_factor} start vertex 62
curve 81 scheme bias fine size {dx} factor {bias_factor} start vertex 61
curve 49 scheme bias fine size {dx} factor {bias_factor} start vertex 36
curve 48 scheme bias fine size {dx} factor {bias_factor} start vertex 35
# ----------------------------------------------------------------------
# bias starting at A
curve 25 scheme bias fine size {dxA} factor {bias_factor} start vertex 19
curve 36 scheme bias fine size {dxA} factor {bias_factor} start vertex 19
curve 26 scheme bias fine size {dxA} factor {bias_factor} start vertex 20
curve 34 scheme bias fine size {dxA} factor {bias_factor} start vertex 20
# bias starting at B
curve 84 scheme bias fine size {dxB} factor {bias_factor} start vertex 66
curve 105 scheme bias fine size {dxB} factor {bias_factor} start vertex 66
curve 82 scheme bias fine size {dxB} factor {bias_factor} start vertex 63
curve 107 scheme bias fine size {dxB} factor {bias_factor} start vertex 63
# ----------------------------------------------------------------------
# C to C
curve 43 size {dxC}
# bias starting at C
curve 38 scheme bias fine size {dxC} factor {bias_factor} start vertex 31
curve 46 scheme bias fine size {dxC} factor {bias_factor} start vertex 33
# bias starting at D
curve 35 scheme bias fine size {dxD} factor {bias_factor} start vertex 17
curve 33 scheme bias fine size {dxD} factor {bias_factor} start vertex 18
# bias E to E
curve 1 size {dxE}
# bias F to F
curve 3 size {dxF}
# bias G to G
curve 83 size {dxG}
# bias H to H
curve 106 size {dxH}
# bias I to I
curve 5 size {dxI}
# bias J to J
curve 7 size {dxJ}
# bias A to B
curve 91 scheme bias fine size {dxA} coarse size {dxB} start vertex 19
curve 88 scheme bias fine size {dxA} coarse size {dxB} start vertex 20
# bias B to D
curve 98 scheme bias fine size {dxB} coarse size {dxD} start vertex 66
curve 102 scheme bias fine size {dxB} coarse size {dxD} start vertex 63
# bias D to I
curve 27 scheme bias fine size {dxD} coarse size {dxI} start vertex 17
curve 28 scheme bias fine size {dxD} coarse size {dxI} start vertex 18
# bias E to G
curve 87 scheme bias fine size {dxE} coarse size {dxG} start vertex 1
curve 86 scheme bias fine size {dxE} coarse size {dxG} start vertex 2
# bias F to H
curve 108 scheme bias fine size {dxF} coarse size {dxH} start vertex 4
curve 109 scheme bias fine size {dxF} coarse size {dxH} start vertex 3
# bias G to I
curve 99 scheme bias fine size {dxG} coarse size {dxI} start vertex 65
curve 103 scheme bias fine size {dxG} coarse size {dxI} start vertex 64
# bias H to J
curve 119 scheme bias fine size {dxD} coarse size {dxI} start vertex 75
curve 117 scheme bias fine size {dxD} coarse size {dxI} start vertex 76
# Set bias on surfaces
surface fault_body sizing function type bias start curve 90 factor {bias_factor}
surface fault_body at B sizing function type bias start curve 89 factor {bias_factor}
surface fault_body at A sizing function type bias start curve 47 factor {bias_factor}
surface fault_body at C sizing function type bias start curve 100 factor {bias_factor}
surface fault_body at D sizing function type bias start curve 101 factor {bias_factor}
surface 34 sizing function type bias start curve 80 factor {bias_factor}
surface 48 sizing function type bias start curve 80 factor {bias_factor}
# ----------------------------------------------------------------------
# Generate the mesh
# ----------------------------------------------------------------------
mesh surface all
surface all smooth scheme condition number beta 1.3 cpu 10
smooth surface all
mesh volume all
Best regards,
Tu Xiang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geodynamics.org/pipermail/cig-short/attachments/20180315/369f6389/attachment.html>
More information about the CIG-SHORT
mailing list