diff --git a/DataSets/PhaseField/.gitattributes b/DataSets/PhaseField/.gitattributes new file mode 100644 index 0000000..440a547 --- /dev/null +++ b/DataSets/PhaseField/.gitattributes @@ -0,0 +1,2 @@ +threePointsBendSingleNotch/threePointsBendingSingleNotch.vtu filter=lfs diff=lfs merge=lfs -text +threePointsBendWithHoles/threePointsBendingWithHoles.vtu filter=lfs diff=lfs merge=lfs -text diff --git a/DataSets/PhaseField/threePointsBendSingleNotch/ThreePointsBendingSingleNotch.jou b/DataSets/PhaseField/threePointsBendSingleNotch/ThreePointsBendingSingleNotch.jou new file mode 100644 index 0000000..07f76f6 --- /dev/null +++ b/DataSets/PhaseField/threePointsBendSingleNotch/ThreePointsBendingSingleNotch.jou @@ -0,0 +1,230 @@ +# ===================================================================== +# Coreform Cubit journal +# Symmetric structured mesh for the notched three-point-bending specimen +# +# Geometry follows the referenced sketch: +# - span/length = 8 +# - height = 2 +# - notch centered at x = 4 +# - notch base width = 0.2 +# - notch tip height = 0.4 +# +# Meshing strategy: +# 1. Build four mapped source patches on z=z_lo: +# left-lower, left-upper, right-lower, right-upper. +# 2. Merge the shared symmetry/crack-path topology before meshing. +# 3. Bias horizontal curves toward the crack path at x=x_notch. +# 4. Map mesh the source patches. +# 5. Disassociate the source mesh and extrude the mesh faces directly +# into HEX8 layers with create element extrude. +# +# This avoids geometric volume sweep/target remeshing and preserves the +# biased source mesh on the far face. +# ===================================================================== + +reset +reset aprepro + +# --------------------------------------------------------------------- +# Geometry parameters +# --------------------------------------------------------------------- +#{L = 8.0} +#{H = 2.0} +#{thk = 0.1} +#{z_mid = 0.0} +#{z_lo = z_mid - thk/2.0} +#{z_hi = z_mid + thk/2.0} + +#{x_left = 0.0} +#{x_right = L} +#{x_notch = L/2.0} +#{notch_w = 0.2} +#{notch_h = 0.4} +#{x_notch_l = x_notch - notch_w/2.0} +#{x_notch_r = x_notch + notch_w/2.0} + +#{x_support_l = 0.0} +#{x_support_r = L} +#{x_load = x_notch} +#{path_y_end = H} + +#{geom_tol = 1.0e-7*L} + +# --------------------------------------------------------------------- +# Discretization controls +# --------------------------------------------------------------------- +#{n_x = 100} +#{n_notch_side = 32} +#{n_crack_path = 160} +#{n_thk = 2} + +#{x_bias_to_crack = 1.04} +#{x_bias_from_crack = 1.0/x_bias_to_crack} + +# Exodus IDs. +#{ns_support_l = 101} +#{ns_support_r = 102} +#{ns_load_line = 103} +#{ns_symmetry_plane = 104} +#{ns_notch_flank_nodes = 107} +#{ns_crack_path_nodes = 108} + +# ===================================================================== +# Build four structured source faces on z=z_lo +# ===================================================================== + +# Shared symmetry/crack-path vertices. +create vertex {x_notch} {notch_h} {z_lo} +#{v_tip = Id("vertex")} +create vertex {x_notch} {H} {z_lo} +#{v_top_mid = Id("vertex")} + +# Left-side vertices. +create vertex {x_left} 0.0 {z_lo} +#{v_lb = Id("vertex")} +create vertex {x_notch_l} 0.0 {z_lo} +#{v_nl = Id("vertex")} +create vertex {x_left} {notch_h} {z_lo} +#{v_lsplit = Id("vertex")} +create vertex {x_left} {H} {z_lo} +#{v_lt = Id("vertex")} + +# Right-side vertices. +create vertex {x_notch_r} 0.0 {z_lo} +#{v_nr = Id("vertex")} +create vertex {x_right} 0.0 {z_lo} +#{v_rb = Id("vertex")} +create vertex {x_right} {notch_h} {z_lo} +#{v_rsplit = Id("vertex")} +create vertex {x_right} {H} {z_lo} +#{v_rt = Id("vertex")} + +create surface vertex {v_lb} {v_nl} {v_tip} {v_lsplit} +#{source_ll = Id("surface")} +surface {source_ll} name "source_left_lower_zminus" + +create surface vertex {v_lsplit} {v_tip} {v_top_mid} {v_lt} +#{source_lu = Id("surface")} +surface {source_lu} name "source_left_upper_zminus" + +create surface vertex {v_tip} {v_nr} {v_rb} {v_rsplit} +#{source_rl = Id("surface")} +surface {source_rl} name "source_right_lower_zminus" + +create surface vertex {v_tip} {v_rsplit} {v_rt} {v_top_mid} +#{source_ru = Id("surface")} +surface {source_ru} name "source_right_upper_zminus" + +# Merge common topology before meshing so the symmetry/crack path is a +# shared mesh edge between the two halves. +merge all + +# --------------------------------------------------------------------- +# Recover source-face curves after merge +# --------------------------------------------------------------------- + +#{bottom_l_curve = CurveAt(0.5*x_notch_l, 0.0, z_lo, 1)} +#{split_l_curve = CurveAt(0.5*x_notch, notch_h, z_lo, 1)} +#{top_l_curve = CurveAt(0.5*x_notch, H, z_lo, 1)} +#{left_lower_curve = CurveAt(x_left, 0.5*notch_h, z_lo, 1)} +#{left_upper_curve = CurveAt(x_left, 0.5*(notch_h + H), z_lo, 1)} +#{notch_left_curve = CurveAt(0.5*(x_notch_l + x_notch), 0.5*notch_h, z_lo, 1)} + +#{bottom_r_curve = CurveAt(0.5*(x_notch_r + x_right), 0.0, z_lo, 1)} +#{split_r_curve = CurveAt(0.5*(x_notch + x_right), notch_h, z_lo, 1)} +#{top_r_curve = CurveAt(0.5*(x_notch + x_right), H, z_lo, 1)} +#{right_lower_curve = CurveAt(x_right, 0.5*notch_h, z_lo, 1)} +#{right_upper_curve = CurveAt(x_right, 0.5*(notch_h + H), z_lo, 1)} +#{notch_right_curve = CurveAt(0.5*(x_notch + x_notch_r), 0.5*notch_h, z_lo, 1)} + +#{crack_curve_src = CurveAt(x_notch, 0.5*(notch_h + path_y_end), z_lo, 1)} + +curve {bottom_l_curve} name "bottom_left_edge" +curve {split_l_curve} name "split_left_edge_y_notch_h" +curve {top_l_curve} name "top_left_edge" +curve {left_lower_curve} name "left_lower_vertical_edge" +curve {left_upper_curve} name "left_upper_vertical_edge" +curve {notch_left_curve} name "starter_notch_left_flank" + +curve {bottom_r_curve} name "bottom_right_edge" +curve {split_r_curve} name "split_right_edge_y_notch_h" +curve {top_r_curve} name "top_right_edge" +curve {right_lower_curve} name "right_lower_vertical_edge" +curve {right_upper_curve} name "right_upper_vertical_edge" +curve {notch_right_curve} name "starter_notch_right_flank" + +curve {crack_curve_src} name "potential_crack_path_source_edge" + +# ===================================================================== +# Structured source-face meshing +# ===================================================================== + +# Horizontal intervals. +curve {bottom_l_curve} {split_l_curve} {top_l_curve} interval {n_x} +curve {bottom_r_curve} {split_r_curve} {top_r_curve} interval {n_x} + +# Vertical/notch intervals. +curve {left_lower_curve} {notch_left_curve} interval {n_notch_side} +curve {right_lower_curve} {notch_right_curve} interval {n_notch_side} +curve {left_upper_curve} {right_upper_curve} {crack_curve_src} interval {n_crack_path} + +# Bias horizontal curves so cells become smaller toward x=x_notch. +# The factors are chosen according to curve orientation in the surface +# construction above. +curve {bottom_l_curve} scheme bias factor {x_bias_from_crack} +curve {split_l_curve} {top_l_curve} scheme bias factor {x_bias_to_crack} + +curve {bottom_r_curve} scheme bias factor {x_bias_to_crack} +curve {split_r_curve} {top_r_curve} scheme bias factor {x_bias_from_crack} + +surface {source_ll} {source_lu} {source_rl} {source_ru} scheme map +mesh surface {source_ll} {source_lu} {source_rl} {source_ru} + +# ===================================================================== +# Convert the mapped source mesh into HEX8s by direct face extrusion +# ===================================================================== + +# This robust mesh-only extrusion preserves the biased mapped source +# faces exactly and creates matching target faces and hex layers. +disassociate mesh from surface {source_ll} {source_lu} {source_rl} {source_ru} +quality face all scaled jacobian global +create element extrude face all direction 0.0 0.0 1.0 distance {thk} layers {n_thk} + +# ===================================================================== +# Element block +# ===================================================================== + +block 1 hex all +block 1 element type hex8 +block 1 name "specimen_hex8" +block 1 description "Structured full hexahedral mesh of the single-notch bending specimen" + +# ===================================================================== +# Nodesets +# ===================================================================== + +nodeset {ns_support_l} add node with x_coord >= {x_support_l - geom_tol} and x_coord <= {x_support_l + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_support_l} name "support_left_line" +nodeset {ns_support_l} description "Left support column through thickness" + +nodeset {ns_support_r} add node with x_coord >= {x_support_r - geom_tol} and x_coord <= {x_support_r + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_support_r} name "support_right_line" +nodeset {ns_support_r} description "Right support column through thickness" + +nodeset {ns_load_line} add node with x_coord >= {x_load - geom_tol} and x_coord <= {x_load + geom_tol} and y_coord >= {H - geom_tol} and y_coord <= {H + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_load_line} name "load_line_full_thickness" +nodeset {ns_load_line} description "Top load column through thickness on the symmetry line" + +nodeset {ns_symmetry_plane} add node with x_coord >= {x_notch - geom_tol} and x_coord <= {x_notch + geom_tol} and y_coord >= {notch_h - geom_tol} and y_coord <= {path_y_end + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_symmetry_plane} name "symmetry_crack_plane" +nodeset {ns_symmetry_plane} description "Internal symmetry plane above the notch tip" + +nodeset {ns_notch_flank_nodes} add node with x_coord >= {x_notch_l - geom_tol} and x_coord <= {x_notch_r + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {notch_h + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_notch_flank_nodes} name "starter_notch_flank_nodes" +nodeset {ns_notch_flank_nodes} description "Nodes on the triangular starter notch flanks" + +nodeset {ns_crack_path_nodes} add node with x_coord >= {x_notch - geom_tol} and x_coord <= {x_notch + geom_tol} and y_coord >= {notch_h - geom_tol} and y_coord <= {path_y_end + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_crack_path_nodes} name "potential_crack_path_nodes" +nodeset {ns_crack_path_nodes} description "Nodes along the full-height symmetry crack path" + +export Abaqus "threePointsBendingSingleNotch.inp" overwrite diff --git a/DataSets/PhaseField/threePointsBendSingleNotch/description.rst b/DataSets/PhaseField/threePointsBendSingleNotch/description.rst new file mode 100644 index 0000000..f3ba841 --- /dev/null +++ b/DataSets/PhaseField/threePointsBendSingleNotch/description.rst @@ -0,0 +1,21 @@ +Three-point bending specimen with single notch +============================================== + +Three-dimensional HEX8 mesh for a phase-field fracture specimen with a single starter notch. + + +License +------- +Distributed with GEOSDATA under its repository license. +The original mesh dimensions are referenced from https://www.sciencedirect.com/science/article/pii/S0045782510001283. + +File descriptions +----------------- + ++-------------------------------------+------+--------------------------------------------------------------+ +| File | Type | Description | ++=====================================+======+==============================================================+ +| threePointsBendingSingleNotch.vtu | text | VTK unstructured-grid mesh. | ++-------------------------------------+------+--------------------------------------------------------------+ +| ThreePointsBendingSingleNotch.jou | text | Coreform Cubit geometry and meshing journal. | ++-------------------------------------+------+--------------------------------------------------------------+ diff --git a/DataSets/PhaseField/threePointsBendSingleNotch/threePointsBendingSingleNotch.vtu b/DataSets/PhaseField/threePointsBendSingleNotch/threePointsBendingSingleNotch.vtu new file mode 100644 index 0000000..b13d4a2 --- /dev/null +++ b/DataSets/PhaseField/threePointsBendSingleNotch/threePointsBendingSingleNotch.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c27bd8a7f93400a56a2e1c746b1e120b2b37bfa9ae5b539db044e3eff4cf436 +size 10562784 diff --git a/DataSets/PhaseField/threePointsBendWithHoles/ThreePointsBendingWithHoles.jou b/DataSets/PhaseField/threePointsBendWithHoles/ThreePointsBendingWithHoles.jou new file mode 100644 index 0000000..8ba5733 --- /dev/null +++ b/DataSets/PhaseField/threePointsBendWithHoles/ThreePointsBendingWithHoles.jou @@ -0,0 +1,229 @@ +# ===================================================================== +# Coreform Cubit journal +# Three-point-bending specimen with three through-holes +# +# Meshing strategy used in this revision: +# 1. Build the 3-D solid and recover the z=z_lo source face. +# 2. Split the source face with the crack-path topology curve. +# 3. Size the split hole curves and the crack-path curve explicitly. +# 4. Pave the source face with quadrilaterals. +# 5. Sweep the conforming source mesh through the thickness into HEX8s. +# 6. Refine the swept mesh around the crack-path curve feature. +# ===================================================================== + +reset +reset aprepro + +# --------------------------------------------------------------------- +# Geometry parameters +# --------------------------------------------------------------------- +#{L = 20.0} +#{H = 8.0} +#{thk = 0.1} +#{z_mid = 0.0} +#{z_lo = z_mid - thk/2.0} +#{z_hi = z_mid + thk/2.0} + +# Zero-width starter-notch edge on the source face. +#{x_notch = 4.0} +#{notch_h = 1.0} + +# Through-holes. +#{x_hole = 6.0} +#{hole_r = 0.25} +#{y_hole_1 = 2.75} +#{y_hole_2 = 4.75} +#{y_hole_3 = 6.75} + +# Setup coordinates. +#{x_support_l = 1.0} +#{x_support_r = L - 1.0} +#{x_load = L/2.0} + +# Boolean overbuild and coordinate-selection tolerance. +#{eps = 1.0e-3} +#{geom_tol = 1.0e-7*L} + +# --------------------------------------------------------------------- +# Discretization controls +# --------------------------------------------------------------------- +#{h_bulk = 0.05} +#{n_hole = 50} +#{n_notch = 16} +#{h_hole = 2.0*3.141592653589793*hole_r/n_hole} +#{h_path = 0.01} + +# Keep n_thk even so that a layer lies exactly at z=z_mid. +#{n_thk = 2} + +# Crack-path post-sweep refinement. The interval selects the +# hex-sheet distance from the crack-path curve where a sheet is inserted. +#{path_refine_interval = 1} + +# Exodus IDs. +#{ns_support_l = 101} +#{ns_support_r = 102} +#{ns_load_line = 103} +#{ns_notch_face_nodes = 107} +#{ns_crack_path_nodes = 108} + +# --------------------------------------------------------------------- +# Potential crack-path geometry used to place the topology curve +# --------------------------------------------------------------------- +#{path_dx = x_hole - x_notch} +#{path_dy = y_hole_2 - notch_h} +#{path_len = sqrt(path_dx*path_dx + path_dy*path_dy)} + +#{x_path_end = x_hole - hole_r*path_dx/path_len} +#{y_path_end = y_hole_2 - hole_r*path_dy/path_len} +#{x_path_2 = x_notch + 0.12*(x_path_end - x_notch)} +#{y_path_2 = notch_h + 0.24*(y_path_end - notch_h)} +#{x_path_3 = x_notch + 0.38*(x_path_end - x_notch)} +#{y_path_3 = notch_h + 0.50*(y_path_end - notch_h)} +#{x_path_4 = x_notch + 0.72*(x_path_end - x_notch)} +#{y_path_4 = notch_h + 0.79*(y_path_end - notch_h)} + +# ===================================================================== +# Build the solid and cut the three holes +# ===================================================================== + +create brick x {L} y {H} z {thk} +#{parent_vol = Id("volume")} +volume {parent_vol} move x {L/2.0} y {H/2.0} z {z_mid} + +create cylinder height {thk + 2.0*eps} radius {hole_r} +#{hole_cut_1 = Id("volume")} +volume {hole_cut_1} move x {x_hole} y {y_hole_1} z {z_mid} + +create cylinder height {thk + 2.0*eps} radius {hole_r} +#{hole_cut_2 = Id("volume")} +volume {hole_cut_2} move x {x_hole} y {y_hole_2} z {z_mid} + +create cylinder height {thk + 2.0*eps} radius {hole_r} +#{hole_cut_3 = Id("volume")} +volume {hole_cut_3} move x {x_hole} y {y_hole_3} z {z_mid} + +subtract volume {hole_cut_1} {hole_cut_2} {hole_cut_3} from volume {parent_vol} + +# There is only one remaining volume; do not issue imprint all / merge all. +#{specimen = VolumeAt(L/2.0, H/2.0, z_mid, 1)} +volume {specimen} name "three_hole_bending_specimen" + +# --------------------------------------------------------------------- +# Exact setup vertices on the source face +# --------------------------------------------------------------------- +# These positions split the source-face boundary curves. The resulting +# quad-mesh nodes are then swept into exact through-thickness columns. + +imprint volume {specimen} with position {x_support_l} 0.0 {z_lo} position {x_support_r} 0.0 {z_lo} position {x_load} {H} {z_lo} + +# --------------------------------------------------------------------- +# Zero-width starter edge on the source face only +# --------------------------------------------------------------------- +#{source_surf = SurfaceAt(L/2.0, H/2.0, z_lo, 1)} + +create curve polyline location {x_notch} 0.0 {z_lo} location {x_notch} {notch_h} {z_lo} +#{notch_guide = Id("curve")} + +imprint surface {source_surf} with curve {notch_guide} + +# Recover IDs after the imprint changes topology. +#{source_surf = SurfaceAt(L/2.0, H/2.0, z_lo, 1)} +#{notch_edge_src = CurveAt(x_notch, notch_h/2.0, z_lo, 1)} + +curve {notch_edge_src} name "starter_notch_edge_zminus" + +curve {notch_edge_src} interval {n_notch} + +# --------------------------------------------------------------------- +# Potential crack-path topology curve on the source face +# --------------------------------------------------------------------- +# Splitting the source surface makes the crack path a real topological +# boundary, rather than a free curve overlay that the paver can ignore. + +split surface {source_surf} across location {x_notch} {notch_h} {z_lo} location {x_path_2} {y_path_2} {z_lo} location {x_path_3} {y_path_3} {z_lo} location {x_path_4} {y_path_4} {z_lo} location {x_path_end} {y_path_end} {z_lo} +#{path_curve = Id("curve")} + +# Recover IDs after the path split. +#{source_surf = SurfaceAt(L/2.0, H/2.0, z_lo, 1)} +#{hole_curve_1 = CurveAt(x_hole + hole_r, y_hole_1, z_lo, 1)} +#{hole_curve_3 = CurveAt(x_hole + hole_r, y_hole_3, z_lo, 1)} + +surface {source_surf} name "quad_source_zminus" +curve {path_curve} name "potential_crack_path_refinement_curve" + +# ===================================================================== +# Pave the source face +# ===================================================================== + +set paver cleanup extend + +surface {source_surf} size {h_bulk} + +# Apply curve sizing after the bulk surface size so the surface target +# cannot relax the explicit boundary and crack-path controls. +curve {notch_edge_src} interval {n_notch} +curve {path_curve} size {h_path} +curve {hole_curve_1} {hole_curve_3} interval {n_hole} + +# The crack-path split cuts the middle-hole circumference, so no single +# original middle-hole curve ID remains. Select all cut middle-hole arcs +# by location and give each arc the equivalent n_hole edge size. +curve in surface {source_surf} with x_coord >= {x_hole - hole_r - geom_tol} and x_coord <= {x_hole + hole_r + geom_tol} and y_coord >= {y_hole_2 - hole_r - geom_tol} and y_coord <= {y_hole_2 + hole_r + geom_tol} size {h_hole} + +surface {source_surf} scheme pave +mesh surface {source_surf} + +# ===================================================================== +# Sweep the source mesh through the thickness into HEX8s +# ===================================================================== +# The crack path remains a mesh-edge path on the z=z_lo sweep layer. + +#{target_surf = SurfaceAt(L/2.0, H/2.0, z_hi, 1)} +surface {target_surf} name "quad_target_zplus" + +volume {specimen} scheme sweep source surface {source_surf} target surface {target_surf} +volume {specimen} interval {n_thk} +mesh volume {specimen} + +# Cubit's Refine Mesh Start Node ... Direction Edge ... End Node command +# rejects this crack path because its mesh edges are owned by the sweep +# source surface. Use the supported feature-curve refinement instead. +refine mesh volume {specimen} feature curve {path_curve} interval {path_refine_interval} + +# ===================================================================== +# Element block +# ===================================================================== + +block 1 hex all +block 1 element type hex8 +block 1 name "specimen_hex8" +block 1 description "Extruded linear hexahedral mesh of the three-hole specimen" + +# ===================================================================== +# Nodesets +# ===================================================================== +# Explicit lower/upper coordinate bounds are used instead of the +# extended-parser tolerance keyword, which was rejected in the log. + +nodeset {ns_support_l} add node with x_coord >= {x_support_l - geom_tol} and x_coord <= {x_support_l + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_support_l} name "support_left_line" +nodeset {ns_support_l} description "Left support column through thickness" + +nodeset {ns_support_r} add node with x_coord >= {x_support_r - geom_tol} and x_coord <= {x_support_r + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_support_r} name "support_right_line" +nodeset {ns_support_r} description "Right support column through thickness" + +nodeset {ns_load_line} add node with x_coord >= {x_load - geom_tol} and x_coord <= {x_load + geom_tol} and y_coord >= {H - geom_tol} and y_coord <= {H + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_load_line} name "load_line_full_thickness" +nodeset {ns_load_line} description "Central load column through thickness" + +nodeset {ns_notch_face_nodes} add node with x_coord >= {x_notch - geom_tol} and x_coord <= {x_notch + geom_tol} and y_coord >= {-geom_tol} and y_coord <= {notch_h + geom_tol} and z_coord >= {z_lo - geom_tol} and z_coord <= {z_hi + geom_tol} +nodeset {ns_notch_face_nodes} name "starter_notch_shared_face_nodes" +nodeset {ns_notch_face_nodes} description "Nodes on the unsplit zero-width starter interface" + +nodeset {ns_crack_path_nodes} add node in curve {path_curve} +nodeset {ns_crack_path_nodes} name "potential_crack_path_nodes" +nodeset {ns_crack_path_nodes} description "Nodes on the source-layer potential crack path; expanded through thickness by inp_to_vtu.py" + +export Abaqus "threePointsBendingWithHoles.inp" overwrite diff --git a/DataSets/PhaseField/threePointsBendWithHoles/description.rst b/DataSets/PhaseField/threePointsBendWithHoles/description.rst new file mode 100644 index 0000000..a80814c --- /dev/null +++ b/DataSets/PhaseField/threePointsBendWithHoles/description.rst @@ -0,0 +1,21 @@ +Three-point bending specimen with holes +======================================= + +Three-dimensional HEX8 mesh for a phase-field fracture specimen with a starter notch and three through-holes. + + +License +------- +Distributed with GEOSDATA under its repository license. +The original mesh dimensions are referenced from https://www.sciencedirect.com/science/article/pii/S0045782510001283. + +File descriptions +----------------- + ++------------------------------------+------+--------------------------------------------------------------+ +| File | Type | Description | ++====================================+======+==============================================================+ +| threePointsBendingWithHoles.vtu | text | VTK unstructured-grid mesh. | ++------------------------------------+------+--------------------------------------------------------------+ +| ThreePointsBendingWithHoles.jou | text | Coreform Cubit geometry and meshing journal. | ++------------------------------------+------+--------------------------------------------------------------+ diff --git a/DataSets/PhaseField/threePointsBendWithHoles/threePointsBendingWithHoles.vtu b/DataSets/PhaseField/threePointsBendWithHoles/threePointsBendingWithHoles.vtu new file mode 100644 index 0000000..9cb1821 --- /dev/null +++ b/DataSets/PhaseField/threePointsBendWithHoles/threePointsBendingWithHoles.vtu @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1c1f36ee6c041755fe55b5b7f4c08e611f3b7ef2891d68f3cc1095db10c58e6 +size 49152688