FRANC3D V7.4 Users Guide
FRANC3D V7.4 Users Guide
Guide
Version 7.4
1
9.5 Unseen Errors...................................................................................................................... 82
9.5.1 Failed to Triangulate .................................................................................................... 83
9.6 Concave Crack Fronts ......................................................................................................... 84
10. Meshing............................................................................................................................. 87
11. Crack Growth with Multiple Load Cases ......................................................................... 97
12. Crack Face Tractions ...................................................................................................... 114
12.1 Crack Face Tractions as Nodal Forces........................................................................... 115
12.1.1 Half-Penny Surface Crack (Curved Front) ............................................................. 115
12.1.2 Edge-Through Crack (Straight Front) ..................................................................... 122
12.2 Add Crack Face Tractions to Existing Load Steps ........................................................ 126
12.3 CFT with Temperature ................................................................................................... 136
12.3.1 Adding CFT to Existing Load Step ........................................................................ 139
12.3.2 Adding CFT to an Extra Load Step ........................................................................ 140
12.3.3 Adding CFT to an Extra Load Step – No Thermal Expansion ............................... 142
13. Local+Global Connections ............................................................................................. 147
13.1 Uncracked ANSYS Model ............................................................................................. 147
13.2 Cracked Model ............................................................................................................... 149
13.3 Comparing SIFs ............................................................................................................. 150
13.5 Local + Global Connection ............................................................................................ 152
14. Reducing Analysis Time ................................................................................................. 154
14.1 Use Smaller Local Submodel......................................................................................... 154
14.1.1 Multiple Portions .................................................................................................... 154
14.1.2 Reasonable Initial Crack Shape .............................................................................. 154
14.2 Output Results for Template Nodes/Elements Only...................................................... 156
14.3 Reduce Time Points/Load Steps .................................................................................... 156
14.4 Timing Output ................................................................................................................ 156
15. FRANC3D Error Messages and Possible Solutions ....................................................... 158
15.1 Generic File and Folder Access Errors .......................................................................... 158
15.2 Input Model and FRANC3D Restart File Errors ........................................................... 158
15.3 Flaw/Crack Insertion Errors ........................................................................................... 160
15.4 SIF Computation and Crack Growth Errors .................................................................. 164
15.5 Analysis Code Errors ..................................................................................................... 166
15.5.1 Input FE File ............................................................................................................ 167
15.5.2 Analysis Command Line.......................................................................................... 167
15.5.3 Analysis Executable or License Access ................................................................... 167
16. Crack Face Contact ......................................................................................................... 168
16.1 ANSYS Thick Plate ....................................................................................................... 168
16.1.1 No Crack Face Contact (CFC) ................................................................................ 171
16.1.2 Default Crack Face Contact (CFC) ......................................................................... 172
16.1.3 Modified Crack Face Contact (CFC) Settings ........................................................ 178
16.1.4 Modified Crack Front Template ............................................................................. 180
16.2 ABAQUS Thick Plate .................................................................................................... 182
16.2.1 No Crack Face Contact (CFC) ................................................................................ 182
16.2.2 Default Crack Face Contact (CFC) ......................................................................... 184
16.2.2.1 Coarse Mesh with Default Crack Face Contact (CFC) ........................................ 186
16.2.3 Modified Crack Front Template ............................................................................. 186
2
16.2.4 Tied Contact ............................................................................................................ 188
3
1. Introduction
This document is a supplement to the Reference and Tutorial documents. It describes some of
the underlying features of the software and is intended to help more experienced users.
The content of the file consists of blocks of data associated with specific settings. For example,
the ANSYS analysis settings are identified by the label: [f3d_ansys].
ANSYS specific settings follow the label.
The settings should match what is in the FRANC3D Preferences dialog (Fig 1.1); see Section 5.4
of the Reference document for a description of this dialog.
4
For example, the MSWindows version of the file might contain the following information:
[prog_defs]
user_NASGRO_lib=-
help_dir="F:\\current\\FRANC3D_V7_1_Docs\\franc3d_v71_docs"
def_dir="F:\\tmp"
fe_input=ABAQUS
suppress_dir_box=false
[avail_codes]
codes=ANSYS|ABAQUS|NASTRAN
The “prog_defs” and “avail_codes” correspond to settings under the General tab in Fig 1.1.
[SETTINGS]
iconview=12582912
doublesize=false
y=0
x=0
selforecolor=#ffffff
forecolor=#000000
userheader=50
nameheader=200
width=810
directory="F:\\current\\F3D_v7_models\\extra\\Lug"
dateheader=150
sorting=0
normalfont=helvetica,90,bold
typeheader=100
backcolor=#ffffff
hilitecolor=#ffffff
itemspace=104
shadowcolor=#8b8984
bordercolor=#000000
basecolor=#d4d0c8
sizeheader=60
height=500
attrheader=60
dirwidth=300
selbackcolor=#0a246a
[f3d_linewidth]
linewidth=1
[f3d_3d_color]
Background Color=#ffffff
5
3rd Highlight=#cccc00
Text Color=#000000
Polygon Color=#b2b2b2
Vector Color=#000000
2nd Highlight=#00cccc
1st Highlight=#cc0000
Marker Color=#000000
[f3d_3d_view_func]
Recenter=29
Zoom=4
Zoom/Spin=3
Group Select=49
Select=17
Rotate=1
Back Clip=20
Spin=4
Front Clip=18
Pan=2
[File Dialog]
style=12582912
width=500
height=300
showhidden=0
[f3d_startup_size]
width=1155
height=864
def_width=900
def_height=675
The “settings” and other options above correspond to settings in the Window, 3DView and
Display tabs in Fig 1.1.
[Visited Directories]
0="F:\\current\\F3D_v7_models\\extra\\Lug"
1="F:\\current\\F3D_v7_models\\extra"
2="F:\\current\\F3D_v7_models"
3="F:\\current"
4="G:\\"
5="F:\\tmp"
visiting=0
[f3d_ansys]
6
executable=C:\\Program Files\\ANSYS Inc\\v172\\ansys\\bin\\win64\\ANSYS172.exe
elem_series=1
db_mem=0
delete_files=1
num_procs=1
license=ansys
solver=0
output_nset=1
total_mem=0
include_path=0
[f3d_nastran]
executable="C:\\Program Files\\Autodesk\\Nastran 2017\\Nastran.exe"
omit_nodes=0
delete_files=1
pyramids=0
front_elems=0
include_path=0
[f3d_abaqus]
executable="C:\\SIMULIA\\Commands\\abq2016.bat"
ask_delete=0
delete_files=1
num_procs=2
output_nset=1
output_frequency=0
include_path=0
The “f3d_ansys”, “f3d_nastran” and “f3d_abaqus” blocks correspond to settings in the respective
analysis code tabs in Fig 1.1.
[f3d_meshing]
coarsen_crack_mouth=1
write_files_only=0
start_element_id=1
max_backtrack_restarts=4
condense_mesh=1
local_surface_refinement=0
start_node_id=1
max_volume_elements=500000
volume_mesher=franc3d
[f3d_advanced_meshing]
surface_refinement_factor=1.2
volume_octree_refine_factor=2.6
volume_optimal_sphere_factor=0.75
7
volume_optimal_size_factor=1.375
surface_boundary_factor=0.3
uniform_refine=0
Most of the data-blocks listed above correspond with tabs in the Preferences dialog. For some
data-blocks, such as [f3d_3d_view_func], it is probably easier to change the settings using the
FRANC3D GUI.
For some settings, it might be necessary to change the settings by editing the file. For example,
if FRANC3D does not list the user’s ANSYS license string, the string can be set in the resource
file.
8
3. FRANC3D Files and Archiving Simulations
A large number of files can be generated during a crack growth simulation. For each step of
crack growth, FRANC3D will save a restart file along with the analysis finite element (FE) files.
FRANC3D automatically names and numbers crack growth step files using the user-supplied
base-name plus: _STEP_###. The numbering typically starts with ‘000’ for the initial crack
front.
The analysis codes create a number of files that do not need to be retained. There is a setting
(delete_files=1) in the “f3d_ansys/abaqus/nastran” resource block (see Section 2) that allows
FRANC3D to delete (most of) the unused analysis files. FRANC3D will not delete all the
analysis files; for instance, for ANSYS the .db and .rst file are not deleted, and these can be read
into ANSYS to display the crack model and corresponding results.
The various file types are described in Section 3.1. Section 3.2 gives some options for archiving
the simulation while reducing disk storage requirements.
9
7. .fcg – fatigue crack growth data (SIF history and crack growth model)
8. .cgp – crack growth parameters, including crack growth rate data and load schedule
9. .db & .rst are the ANSYS FE analysis files that are not deleted by FRANC3D; these files
can be read into ANSYS to view results
10. .odb is the ABAQUS FE analysis file that is not deleted by FRANC3D; this file can be
read into ABAQUS CAE to view results
a) the ABAQUS .dat file contains ABAQUS contour integral results and is not deleted
11. .op2/.fno are NASTRAN FE results files that can be used to view results
13. .txt – a number of ASCII text files are created and some of these are important when
archiving a simulation. For instance, the RETAINED text files created when importing a
FE model should be saved.
You can retain the FRANC3D session log file along with the original uncracked FE input (.inp,
.cdb, or .nas) file. If you have several session log files for a simulation, you can combine these
into a single session.log (.f3d is an alternate extension that can be used instead of the rather
generic .log extension).
If you are doing a local+global subdivision inside FRANC3D, you will have a
_RETAINED_ELEMS.txt. Also, you might have a _RETAINED.txt file for the mesh facets/nodes
that are retained. You should keep these two .txt files along with the LOCAL and GLOBAL .inp
(or .cdb or .nas) files.
You can save the initial crack as a .crk file. Even though the initial crack might be described in
the session log, saving this file is recommended especially if you do not save the initial crack
restart .fdb file (discussed below). Note that if you save the initial crack restart file, you can
extract the initial crack geometry information from the .fdb file (see Section 2.10 of the base
Tutorial documents).
With the above files, you can repeat everything using the FRANC3D playback feature; note that
fatigue cycle integration (and corresponding display) cannot be replayed.
10
The initial uncracked FE files and the FRANC3D session log represent the minimum for
archiving, but this will require re-running all the crack growth steps.
For bigger more complex models that take significant runtime, you could keep the initial and
final crack step files. This includes the .fdb, .inp (or .cdb or .nas), and .dtp files. Sometimes it is
helpful to keep a few intermediate steps as well.
The final crack step .fdb file contains all of the crack growth history data. With this, you can re-
extract the SIF history or re-compute cycles without having to rerun the entire simulation.
Another alternative is to keep all crack step files except for the FE analysis files; the FE analysis
results files (.rst, .odb or .op2) are usually the largest. You could keep the initial and final crack
step files, but compress them.
The analysis results files (.odb for ABAQUS or .rst /.db for ANSYS or .op2/.fno for NASTRAN)
can be moved into a subfolder and saved (and compressed) until you are finished with the
simulation. While those files usually take the most disk space, they are useful for extracting
results such as color contours of displacement or stress for the full model, which might be
required for reports or presentations.
11
4. Crack and Model Surface Geometry
This chapter describes how FRANC3D manages the underlying geometry of the model and crack
surfaces. Crack insertion is based on geometric intersections of the crack surface and crack front
template and model surface geometry.
The first section describes how model surface geometry is created from the FE model.
Extracting a local submodel from a full model reduces and simplifies the mesh-to-geometry
process. Figure 4.1 shows the full model of a simple “test specimen” along with the highlighted
collection of elements that comprise the local model. The local submodel is converted to
FRANC3D geometry while the rest of the full model remains “as-is” in a separate “global” FE
model file.
12
1) compute the weighted average surface-facet normal at all FE nodes,
2) define one or two triangular Bezier patches for each FE facet,
3) identify “topological” edges, and group together patches that form logical faces.
Figure 4.2 shows the local submodel surface triangular patches. Each quadrilateral facet of the
original brick mesh is split into two patches. If the original mesh is comprised of tetrahedral
elements, the surface mesh would consist of triangles and these would be used directly. Figure
4.3 shows the underlying Bezier triangle geometry with 10 control points; planar and curved
surfaces can be represented.
Figure 4.2 Triangular patches defined from the surface facets of 3D elements.
13
The angle between adjacent patches can be used to define the topological boundaries of
collections of patches. Figure 4.4 shows the “logical faces” for the submodel from Figure 4.2.
Section 4.4 describes how one can modify the ‘kink’ angle to create better topological surfaces
for some models.
The lower right corner of Fig 4.4 shows an extra edge; it is a display artifact that is shown
because the surface mesh facets, on the two adjacent cut-surfaces, have been retained.
In FRANC3D, the local submodel is merged with the “global” FE model after crack insertion
and remeshing. The best method for merging is to ‘glue’ the nodes and element faces on the cut-
surfaces. Consequently, the mesh facets on the cut-surface are normally retained, Figure 4.5, and
FRANC3D uses these facets for the surface mesh when remeshing.
Flaw surfaces are defined using a collection of Bezier patches. Crack front edges can be curves
(cubic splines) or straight lines, and the flaw surface can be planar or non-planar. Figure 4.6
shows a penny-shaped crack consisting of a collection of triangular Bezier patches being inserted
into a corner of the local submodel; the triangular Bezier patches of the local model are shown.
14
Figure 4.5 Topological faces of the submodel with cut-surface mesh facets retained.
Surface-surface intersections are determined so that only the portion of the crack geometry that
falls inside the model is retained when remeshing.
It is noted here that cracks are extended by re-inserting the “extended” geometry into the original
uncracked model. Figure 4.7 shows the original penny-shaped crack plus two steps of crack
growth. The new extended geometry is added to the previous geometry; the surface can be non-
planar.
15
initial crack
crack extension
A crack normally has a template mesh along the crack front. The template is used to place well-
shaped elements, a combination of brick and quarter-point-wedge elements, along the crack
fronts. The template geometry, Figure 4.8, is tied to the flaw surface geometry, and also must
intersect the model surface geoemtry for surface-breaking cracks.
The original flaw surface patches are split into as many pieces as needed to produce water-tight
connections between all geometric patches on the flaw and the template, Fig 4.8.
Typical template
cross-section
The combined flaw and template geometry is added to the model geometry. First, surface-
surface intersections are computed for all model and flaw patches. Patches are trimmed, so that
16
only the geometry inside the model is retained, and then are combined into composite objects.
The trimmed patches are divided into triangular sub-patches to keep the model watertight.
Figure 4.9 shows the trimmed penny-shaped crack inserted into the model, with patches divided
to produce a watertight geometry.
Note that in Figure 4.9, the template is “hollow”. The inside of the template is pre-defined and
does not need to be included at this stage.
The collection of triangular patches into logical faces, for this corner crack model, is shown in
Figure 4.10.
17
4.3 Meshing the Cracked Geometry
Once the geometric intersection is complete and the patches are organized into logical surfaces,
meshing can be performed. First, surface meshes are generated for all logical surfaces using
triangular facets (note that the template outer surface is already meshed). The surface mesh must
conform to any retained cut-surface mesh, as well as all un-retained surface geometry. Figure
4.11 shows the surface mesh for the corner crack in the model, minus the template mesh ends;
Figure 4.12 shows additional views.
retained cut-
Template mesh surface meshes
extracted as it is
already meshed
18
The surface mesh is the starting point for the 3D volume meshing. Quadrilateral faces will get a
pyramid element added first, which leaves an all-triangular surface mesh for the subsequent
tetrahedral meshing. Pyramid elements are generated for compatibility between quadrilateral
facets on template or retained cut-surface facets, as shown in Figure 4.13. It is noted that
pyramid elements do require a finite volume (FRANC3D does not allow flat pyramids).
template
cut surfaces surfaces
The crack front template volume mesh is pre-defined and will be added to the final pyramid-
tetrahedral volume mesh. The template mesh consists of wedge and brick elements (Fig 4.14);
this is described in Section 6.1.15 of the Reference document.
19
4.4 Edge Wizard
The FRANC3D Advanced menu includes the Edges Wizard… option. The edge extraction
dialog is often required for models with no clearly defined geometry boundaries. For example,
an airfoil (Figure 4.15) typically requires that the user break the geometry into manageable
pieces. The leading (and trailing) edge of the airfoil and the transition to the platform might have
no edges that fall above or below the default kink angle threshold. The result is a large complex
surface that is more difficult to remesh. Quite often, there are small pieces of surfaces and
dangling edges (Figure 4.16) that lead to meshing failures (typically the software will be stuck at
surface meshing).
By adjusting the kink angle threshold, Figure 4.17, one can create additional boundary edges that
break the surface into manageable pieces and remove dangling surface edges. Note that you will
have to use the up/down arrow to get the angle threshold to change correctly. The only guideline
is that you should use an angle that does not create dangling surface edges; you might have to
carefully inspect the bounding edges that are displayed.
20
Figure 4.16 Red circle highlights a dangling edge on the surface.
Figure 4.17 Edge extraction kink angle adjusted to break the surface into multiple surfaces.
21
5. Local Model Extraction
In Section 4.1, it was stated that a local submodel, which is extracted from the full FE model,
simplifies the geometry re-construction. It also simplifies the crack insertion process by limiting
the number of patches that must be checked for intersection. Plus it speeds up remeshing, and
simplifies the transfer/mapping of boundary condition data.
There are three options for importing the original uncracked FE model: 1) import the complete
model, 2) import and divide the model into local and global using FRANC3D tools, and 3)
import an already divided model (Figure 5.1).
If the model is relatively simple and the crack will grow relatively large, the first option might be
best. We use this option in the tutorials, where we have a relatively large surface crack in a cube.
However, for most models, you will want a smaller local model.
The FRANC3D tools for extracting portion(s) of the full model (Figure 5.2) are described in
Section 4.5.2 of the Reference document. The By Material and By Element Group options
require that the user define sets (or components) of elements in the analysis code, but this is often
the case anyway.
One thing to note is that FRANC3D will condense materials; if there are two (or more) materials
with different material IDs but identical properties, FRANC3D will condense this to a single
material ID. You could alter the material property data slightly for one of the materials to
prevent the condensing.
22
Once an element set has been selected and cropped, the resulting local and global portions are
saved along with a file with the base file name followed by _RETAINED_ELEMS.txt. This file
contains the element IDs for the local model. This file can be used with the Retained From File
option (Fig 5.2), and it can be re-used during playback of a session log.
You can retain the original complete FE model and the _RETAINED_ELEMS.txt file to recreate
the local and global model extraction, as described in Section 3.2 for archiving a simulation.
The third option in Fig 5.1 can be used once _LOCAL and _GLOBAL FE files are saved (using
the second option), or it can be used if the FE model is divided using other tools/software. In the
second case, it is important to remember to collect the node sets (components) that define the
cut-surface between the local and global portions so that these can be selected later when
merging the cracked-remeshed local portion with the global portion.
The FRANC3D tools automatically create an AUTO_CUT_SURF for the local portion and a
GLOBAL_CONNECT_SURF for the global portion. It is not necessary to use these same
names when dividing the model using other tools; it is best to use two distinct names for the local
and global, even though the node IDs are the same.
23
The size of the local model should be based on the extent of crack growth and the geometry of
the model. Also, it might be advantageous to adjust the local model based on the boundary
conditions – including contact, constraint, cyclic symmetry, etc; keeping boundary condition data
in the global portion limits how much data needs to transferred/mapped on the cracked-remeshed
portion.
One thing to note, when saving the new files associated with the larger local model (Fig 5.3), do
not overwrite the initial local, global and retained file names. You will have to edit the file
names in the dialog before selecting Next.
24
Figure 5.4: A local sub-model that can cause volume meshing to fail.
It is possible to create a 3D FE model with duplicate elements and nodes. For instance, ANSYS
cyclic symmetry models might be doubled when archived to the .cdb file. At this time,
FRANC3D does not check for this situation.
FRANC3D will read the doubled mesh, but crack insertion will fail, usually with an error
message that states that the crack does not fall inside the model region.
We will work on code to catch this case so that you will be informed that you have a doubled
mesh upon import.
For the ANSYS cyclic symmetry case, you can use the “cyclic,undouble” command prior to the
“cdwrite” command.
It is possible to create a 3D FE model with unreferenced nodes – nodes that do not belong to any
elements – that are located very far from the local elements. FRANC3D determines tolerances
based on the model’s bounding box and facet sizes. If there are nodes far from the elements, the
bounding box dimensions and tolerances might be highly distorted; this can cause the crack
insertion to fail.
25
In Ver 7.4, we have added code to remove any node that is not tied to an element prior to the
crack insertion and remeshing algorithm, which should prevent this error from occurring.
It is possible to create a 3D FE model with highly distorted or poorly shaped elements. If these
elements are part of the model surface in the local model, they can lead to failed crack insertion
and remeshing. For example, we have encountered an uncracked 3D FE mesh where one
element was distorted and penetrated adjacent elements. FRANC3D was not able to create a
valid watertight geometry of the model surface in this case.
A simple solution was to exclude the poor element and the adjacent elements from the local
model.
It is difficult to imagine or illustrate all of the potential errors that such meshes can create. We
have some tools to check the quality and integrity of the input mesh. So if you encounter errors
when importing or when inserting/remeshing a crack, you can send us the files to examine and
debug.
In practice, if a model has boundary conditions, contact, constraint etc applied to a surface and
the crack will be inserted into this surface, it is best to define a named-surface. The original
surface information – node IDs and associated element facets – will be saved as part of the
surface. Upon crack insertion and remeshing, the remeshed node IDs and associated element
facets are mapped back to the original surface to determine the interpolated boundary conditions.
Depending on the topological/geometrical features that define the boundary of the surface, the
mapped remeshed surface might be slightly different in terms of shape and size. Usually this is
not as issue, but the user should be aware.
For example, Figure 5.5 shows the mesh facets and nodes for a “surface”, which is part of a
larger flat surface of the model. After inserting the crack and remeshing (Figure 5.6 – left
image), the mapped surface is different, as shown in the right image of Figure 5.6. If we could
retain the outer ring of element facets of the initial surface, the mapping would be constrained.
26
Figure 5.5: A selected portion of a larger flat surface.
27
Figure 5.7: Sequence of dialogs for import and divide of an ANSYS model with extra load files.
We can open the GLOBAL .cdb file and search for “lswrite” commands:
lswrite,3
allsel,all,all
/SOLU
OUTRES,ALL,-1
lssolve,1,3,1
to verify that the extra load step information is included.
28
The user should not include the extra .s## files again if the model is imported again (as an
already divided model). The lswrite command shown above indicates that there are 3 load steps
in the GLOBAL .cdb file; the original Ansys_Cube.cdb file contains one load step and the .s02
and .s03 files each contain one load step.
29
6. Defining Initial Crack Geometry
FRANC3D provides a set of parameterized crack shapes plus two options for user-defined
cracks, Figure 6.1. The two user-defined crack types are discussed below.
Section 6.1.10 of the Reference document describes the boundary point data that must be entered
to define the crack. Once the boundary points are entered, FRANC3D triangulates the region
inside the boundary to create the Bezier surface geometry. To successfully triangulate the
region, there are a couple things to note:
30
1) There should be a reasonable number of points on the boundary to create a reasonable
number of Bezier patches.
2) There should be enough non-front points on the boundary to create a reasonable
transition from the front points so that triangular Bezier patches can be defined.
Figure 6.3 shows a case where the number of points on the front boundary is excessive. The
triangulated region is shown in the bottom left inset image. FRANC3D provides some options
for smoothing and reducing the number of points. If we reduce to 10 points along the front, the
number of triangles and the shape of the triangles is reasonable (Figure 6.4). The amount of time
required to insert the crack is reduced with fewer triangles because the number of intersections
(and checks for intersection) will be reduced.
One should use enough points to adequately capture the shape of the front. The number of points
along the front might determine the number of non-front points that are required. Figure 6.5
shows a case where there are insufficient non-front boundary points. The user should add some
additional points to help the triangulation algorithm create better triangles, Figure 6.6.
31
Figure 6.4 Reasonable number of front points.
32
Figure 6.6 Additional non-front points produce a better triangulated surface.
For a surface-breaking crack, the non-front boundary points should fall outside the model surface
to ensure that intersections can be computed, and the first and last front boundary points should
fall outside the model surface to ensure that the crack front template intersects the model surface
too.
Section 6.1.11 of the Reference document describes the FRANC3D interface to add this crack
type to a model. The surface mesh file should include a collection of surface elements and
nodes, and a node set (or component) that defines the crack front. The front node IDs should be
given in geometric order along the front. For the .stl file, an extra .txt file is required that gives
the Cartesian coordinates of the front points; the coordinates should match those in the .stl file.
An example ABAQUS surface mesh is shown in Figure 6.7. The element surface normal vectors
should all be oriented consistently. One can use any standard 2D-planar or shell-surface element
type; shell elements are probably best for non-planar surfaces.
The surface geometry and mesh must be contiguous and water-tight; there should not be doubled
nodes along any boundaries.
33
Figure 6.7 ABAQUS surface mesh with element normal shown.
The mesh is read into FRANC3D and the user selects the crack front node sets, which should be
defined in the mesh file (.inp for ABAQUS). FRANC3D displays this as a crack surface with
the front edges highlighted (Figure 6.8).
Figure 6.8 ABAQUS surface mesh as a FRANC3D crack surface – front edges colored green.
The surface mesh should be defined such that the crack geometry clearly intersects the model
surface geometry – for a surface-breaking crack. This might require that the user add extra
geometry to the surface geometry.
34
6.3 Multiple Cracks
When inserting multiple cracks with significant difference in size (Figure 6.9), you should make
sure the flaw geometry patches are reasonably similar in size. Figure 6.10 shows the geometric
boundary for a penny-shaped crack with radius of 0.1 units; the triangulation algorithm will fill
the interior space with similar size triangles.
Figure 6.9 Multiple cracks of different sizes inserted into a T-shape model.
Figure 6.10 Boundary geometry for penny-shaped crack with radius of 0.1 units.
35
Figure 6.11 shows the original geometry triangles for an edge crack with a length of 3 units. The
triangles are an order of magnitude bigger than the triangles for the penny-shaped crack in Figure
6.10. The Refine button in the Advanced Geometry dialog can be used to divide the triangles
into smaller triangles, Figure 6.12.
In Ver 7.4, FRANC3D should automatically refine the crack geometry to ensure similar size
triangles.
Figure 6.11 Geometry for an edge (through) crack with length of 3 units.
Figure 6.12 Refined geometry for an edge (through) crack with length of 3 units.
36
6.4 Potential Problems for Crack Insertion
A couple of potential problems for crack insertion are discussed in this section.
The first is shown in Figure 6.13, where the crack is being inserted into a single facet of the
original mesh. Note that the Mesh is turned on (see the right side Display options).
If this is attempted, FRANC3D should display the message, shown in Figure 6.14, in the cmd or
terminal window. The crack will not be inserted correctly. The template might get inserted
separately without the crack, Figures 6.15 and 6.16.
Figure 6.14 Error message if a crack is inserted inside a single mesh facet.
37
Figure 6.15 Crack insertion fails, but the template might get inserted.
Figure 6.16 Template inserted without a crack – view from outside (left) and inside (right).
The solution is to place the crack such that it crosses an element boundary, Figure 6.17. The
crack can be translated or made bigger. If the crack cannot be moved or resized, then the
original uncracked model will need to be remeshed with a more refined mesh.
38
Figure 6.17 Crack crosses an element boundary.
Figure 6.18 Crack inserted correctly – view from outside (left) and inside (right).
Cracks can be inserted at kinks in the model surface geometry, Figure 6.19, but one must usually
turn on “simple intersections” for the crack front template. Figure 6.20 shows the template
radius reduced by half and the Simple Template Intersections Only option checked. It usually
helps to reduce the template radius in this case so that you get more elements along the crack
front and thus more nodes closer to the model surface. Figure 6.21 shows the resulting surface
mesh on the crack, where the template is pulled back from the model surface.
39
Figure 6.19 Crack inserted at a kink in the model surface – crack (left) and template (right).
Figure 6.20 Template simple intersections turned on and template radius reduced.
40
Figure 6.21 Crack inserted and meshed with template simple intersections turned on.
Some FE models might contain interior surfaces; this can result from material boundaries of can
be the product of separate parts that are meshed independently but constrained. The current
version of FRANC3D will not correctly insert a crack that crosses such an interface; a new
version is being developed that will insert cracks across material boundaries where there is a
single shared surface between the materials.
41
7. Crack Local Coordinate System for Placing a Crack
FRANC3D uses three coordinate systems when orienting a flaw. There is the global Cartesian
system, a local user-definable coordinate system, and an intrinsic crack system that is attached to
the flaw. The intrinsic crack system is shown when the parameters for the flaw are defined. This
is the x, y, and z axis shown in Figure 7.1.
1. There are two types of translations, global and local. Global translations translate the origin of
the local coordinate system relative to the global Cartesian system. By default, FRANC3D
creates a local coordinate system and translates it so that the flaw sits just in front of the model.
Local translations will translate the flaw relative to the local coordinate system.
2. There are three rotation options; these rotations can be about the global Cartesian axes or
about the local coordinate system.
42
4. There are additional display options to turn on/off node numbers, the local (single prime)
coordinate system axes, and the crack (double prime) coordinate system axes.
1.
4.
2.
3.
Selecting the Define Local Axes button in Fig 7.2 will bring up the dialog box in Figure 7.3,
where there are a number of options to define the local coordinate system. Some of these options
will orient the crack so that it is normal to the model surface, but it might require additional
rotations to get the correct orientation. Each option is described below.
For the first option, the user just specifies a node number on the model surface. A local
coordinate system is defined where the y-axis of the flaw is oriented along the direction of the
local normal to the surface at the node.
The second option is similar to the first, but you specify the coordinates of a point on the model
surface. FRANC3D finds the point on the surface of the model closest to the specified point and
orients the flaw normal to the local surface normal at this point.
The third option defines a local coordinate system by giving three node numbers. The
coordinates of the first node become the origin of the local system. The coordinates of the
second node define a point on the local x axis, and the coordinates of the third node define a
point that lies in the local x-y plane.
43
Figure 7.3. Define local coordinate system dialog.
The fourth option is similar to the previous three-node option, but the user must specify the
actual coordinates of the three points.
The fifth option uses the location of an origin and three rotations. The rotation axes can be
specified in any order, and the rotations are defined about the global axes.
The flaw from Figure 7.2, oriented in a local coordinate system normal to the surface at a node,
is shown in Figure 7.4.
The local y axis is now oriented into the body. The directions of the local x and z axis are
defined so that the x is parallel to one of the x-y, y-z, or z-x planes, whichever gives the most
numerically stable axis rotations.
Notice that the global translations have been reset to zero. Any changes to these will move the
origin of the local coordinate system relative to the coordinates of the specified surface point.
44
Figure 7.4. Crack oriented in a local coordinate system.
To orient the flaw normal to the local maximum principal tensile stress, one can define a local
rotation about the y axis, Figure 7.5.
Figure 7.5. Crack oriented in a local coordinate system and rotated about the local y-axis.
45
In Figure 7.5, the intrinsic crack axes (double primes) have been turned on to illustrate the
relationships among the coordinate systems.
Figure 7.6 illustrates how a translation in the local y direction can be used to modify the portion
of the flaw that is inserted into the body.
Figure 7.6. Crack oriented in a local coordinate system and rotated about the local y-axis and
translated along the local y-axis.
46
8. Crack Growth through Corners and Surfaces
Crack growth in FRANC3D involves adding new crack surface geometry to the existing crack
geometry and re-inserting the combined crack geometry into the uncracked (local) model. As
the growth continues, the crack might encounter geometric features in the model geometry that
cause growth to fail or stop with an error/information message. Section 5.8 of the Tutorials 2-10
document describes steps for transitioning through geometry in a simple plate model.
A couple more example situations are described below along with descriptions of how to
continue the crack growth if it stops.
The ABAQUS model is imported into FRANC3D and divided into local and global portions –
the local portion is highlighted in Figure 8.2. An initial penny-shape crack (Figure 8.3) is
inserted into the model to create an initial corner quarter-circular crack. The cracked and
remeshed local portion is recombined with the global portion and analyzed in ABAQUS. The
resulting Mode I SIF is shown in Figure 84 (the values and units are not important).
47
To simplify the crack growth process, planar crack growth is used with a quasi-static growth rule
with a median crack growth step of 0.1. Automatic crack growth is then started, specifying 40
additional steps of growth. The default crack front fitting options – fixed 3rd order polynomial –
are used throughout.
48
Figure 8.3. Initial corner crack.
The crack front at step #21 is shown in Figure 8.5. Note that the default fitting options require
excessive extrapolation at this stage to ensure that the curve intersects the model surface. If the
fitting option fails to produce a good fit during automatic crack growth – growth will stop and a
message will be displayed indicating that the fitting failed.
To improve the fit, we switch to a moving-polynomial with order=1 and cut down the
extrapolation (Figure 8.6). The moving polynomial is a useful option, but it should be used with
care as it will tend to capture more of the numerical noise in the SIFs (predicted points) and can
lead to ever-increasing oscillations in the predicted fronts.
The crack is manually propagated to step #22 and analyzed. One more step of manual crack
growth is performed at this stage to revise the fitting options again; Figure 8.7 shows the front
fitted with a 2nd order polynomial with just enough extrapolation to ensure that the ends of the
curve are outside of the model.
Note that the shallow intersection angle requires that we use “simple intersections” for the crack
front template (Figure 8.8). To ensure that there are enough predicted new front points near the
ends of the crack front, the template radius should be reasonably small (Figure 8.9).
The combination of numerical noise in the SIFs and simple intersections can cause problems
with predicting good end points for the next crack front. To prevent additional numerical noise,
the fitting options can be simplified to produce reasonable crack front shapes as the crack grows.
Automatic crack growth using a fixed polynomial of 2nd order is set for an additional 20 steps
with a median increment of 0.125.
49
Figure 8.5. Crack growth at step #21.
Figure 8.6. Crack growth at step #21 with revised fitting options.
50
Figure 8.7. Crack growth at step #22 with a 2nd order poly.
Figure 8.8. Crack growth at step #22 showing crack front template with simple intersections
turned on.
51
Figure 8.9. Crack front mesh at step #23 – simple intersections turned on.
The automatic crack growth continues from step #23 to #29. It fails to grow further because step
#29 is not valid; the crack front reaches the corner of the T-shape (Figure 8.10), but it does not
adequately break through the corner. FRANC3D needs to ensure that the crack surface
geometry, the crack front template geometry, and the model geometry intersect and create
“water-tight” regions that can be meshed. Step #29 leads to subsequent errors on the next step of
growth due to current limitations when breaking the crack surface geometry to get two crack
fronts instead of one front.
To continue crack growth, step #28 is read into FRANC3D and the crack is re-grown with a
larger median increment (0.25 instead of 0.125). This produces the crack shown in Figure 8.11.
The crack front has clearly broken through the corner, and there is enough geometry outside of
the model corner to allow FRANC3D to clearly separate the two crack fronts.
From step #29, automatic crack growth can be continued using the prior increment of 0.125 and
a 2nd order polynomial fit. The automatic growth will continue until the crack front reaches the
top of the T shape. Depending on the increment the growth might stop or it might cut through
the top completely – so that there is only a single front again (Figure 8.12). Crack growth might
stop prior to cutting through the top of the T if the model cannot be meshed because the template
is too close to the top surface. If it stops, restart from the previous step and take a bigger step of
growth.
52
Figure 8.10. Crack front at step #29.
53
Figure 8.12. Crack shape at step #36.
The crack should always cut cleanly through the model. The FRANC3D Display - View
Response menu option/dialog (Figure 8.13) can be used to quickly verify that the deformed
shape is valid.
Figure 8.14 shows a case where the crack did not cleanly cut through the model; there is a node
that is shared by both sides of the crack surface. FRANC3D tries to prevent this from
happening, but it is possible. You can periodically inspect the deformed shape, which can be
done using the View Response dialog.
54
Figure 8.14. Crack shape at step #36.
The same model can be used to illustrate potential problems when growing a crack front around
two corners, Figure 8.15. Starting from a small penny-shape crack at the top of the T-bracket,
the crack propagates down, transitions around the two 90-degree corners at the top, and then
eventually transitions around the two fillet corners. If the growth is similar at both corners, the
transition should be straight-forward, as seen in Figure 8.15.
55
If the growth is not similar at both corners, the user might have to perform several ‘manual’ steps
of crack growth to get the crack front to transition properly. To illustrate this, the model
boundary conditions were altered to produce more tension on the right side compared to the left
side, Figure 8.16. This produces slightly different crack extension on the left and right ends of
the crack front.
Figure 8.17. Crack fronts as the crack grows down from the top to the fillets.
The crack transition around the left and right fillets is only slightly different in this case, but it
still might require some user-intervention/assistance to make sure the curve fit is reasonable and
that it intersects the model surface. The relative extension along the front is governed by the
crack growth rate for the computed SIFs; in this case the relative extension is not significantly
56
different. If we change the crack growth model slightly (changing the dKth), we can get crack
extension as seen in the left panel of Figure 8.19. In this case, we can simply ignore a few points
at the one end and fit a polynomial curve through the remaining points. This ignores the fact that
the crack front should not advance at that end – based on K < dKth; however, it will allow the
simulation to continue (partial extension of crack fronts is possible but not robust enough yet).
Figure 8.18. The specified extension requires significant extrapolation to ensure intersection of
the curve with the model surface.
57
8.1.2 Corner Left Uncracked
A simple cube model is used to show how one can end up with an uncracked segment (see
Figure 8.14) as the crack transitions around a corner. The left panel in Figure 8.20 shows a
series of crack fronts starting from a half-penny surface crack; propagation from step #7 to step
#8 is shown in the right panel. While the (blue) curve-fit through the front points does extend
outside of the model surface, it does not extend very far.
FRANC3D will define a new crack surface that is limited by the ends of the curve fit. The
resulting crack surface is shown in Figure 8.21. The region highlighted by the red-circle in the
left-side panel is not cracked. The deformed shape for the resulting FE model is shown in the
right-side panel.
One can easily avoid this situation by decreasing the crack growth step and/or increasing the
amount of extrapolation for the curve fit. The end of the (blue) curve should extend beyond the
+Z model surface to connect with the previous crack front curve fit (and crack geometry).
58
Figure 8.21. Ignoring end points can assist with growth.
59
If the new crack front is close to the back surface (Figure 8.23), we can change the growth
settings to get the front close while keeping the template mesh inside. We can also decrease the
template radius and adjust the meshing parameters (Figure 8.24) to ensure that we get a volume
mesh.
In the Meshing Parameters dialog (accessed by clicking the Meshing Parameters button in
Figure 8.24), we turn on Do Local Surface Refinement. This option ensures that the back model
surface gets a more refined mesh, which will help with the volume meshing between the
template and the back surface. The resulting mesh on the crack surface, near the back surface, is
shown in Figure 8.25.
Figure 8.23. Crack extension decreased and fitting adjusted to keep the template inside.
60
Figure 8.24. Template radius decreased and meshing parameters adjusted.
Once this crack growth step is analyzed, the crack front can be propagated through the model
back surface. We can increase the extension and adjust fitting parameters if needed, Figure 8.26.
It is important to check that the front fitting options push the curve-fit outside the model surface,
Figure 8.27. The template radius and meshing parameters might need to be adjusted again also,
Figure 8.28.
61
Figure 8.25. Crack surface mesh near the model back surface.
62
Figure 8.28. Meshing parameters adjusted for the front breaking the back surface.
Figure 8.28 shows that Simple Intersections are turned on. While FRANC3D will automatically
turn on simple intersections (see Section 6.1.15 of the Reference document), we can turn this on
to ensure that the template ends are pulled back from the model surface.
The template radius is kept small and the Do Coarsen Crack Mouth Mesh is turned off so we
increase the maximum number of volume elements (applicable for FRANC3D volume meshing
only). The resulting surface mesh on the crack is relatively dense (Figure 8.29), but we need the
smaller elements to fill the volume with tetrahedral elements.
63
Figure 8.29. Crack surface mesh near the model back surface.
Once this step of crack growth has been analyzed, we can continue to grow the crack, but there
will now be two crack fronts, Figure 8.30. Each front will have its own set of fitting parameters.
We can discard some end points to simplify the fit. The ends of the front should be smoothed-
out as the fronts continue to advance.
Simple intersections might produce some questionable results at the ends, but are needed to get a
valid mesh. Once the fronts have advanced (Figure 8.31), you can turn off simple intersections
to get the template to extend to the model surface.
64
Figure 8.30. Two crack fronts exist after breaking through the back surface.
65
9. Crack Front Fitting
FRANC3D has several options for fitting the predicted new crack front points, Fig 9.1. There
are two reasons to fit a curve through the new front points: 1) smooth out numerical noise and 2)
extrapolate the ends outside of the model surface.
The default fit is a 3rd-order polynomial with extrapolation set to 3%. This gives a reasonable fit
in many cases, but it is not always appropriate. Section 6.5.5.2: of the Reference document
briefly describes each fitting option. Additional examples and guidelines are provided here.
9.1 Edge Crack in a Plate – When a 3rd Order Single Polynomial Fails
In most cases, the default fitting works reasonably well. However, there are cases where the 3rd
order polynomial fitting fails for no obvious reason to the user. For example, Figure 9.2 shows
66
an edge crack in a plate. The front has been propagated for 18 steps, using a constant median
extension and the default fitting options, without any issues. However, when growing to the next
step, the 3rd order polynomial fit and extrapolation fails, and the error message shown in Figure
9.3 is displayed in the terminal/cmd window. FRANC3D automatically switches the fit to a 1st
order moving polynomial fit, Figure 9.4, in this case. The fit is reasonable and crack growth
could continue.
Figure 9.3. Error message during front fitting for step 19.
67
Figure 9.4. Step 19 front using a 1st order moving polynomial.
It is not always obvious why the fitting fails, especially when it works well for a number of steps
prior to the failure. Figure 9.5 shows the computed new front points for the entire crack front,
and Figure 9.6 shows the points at the two ends. There are a couple things to point out in Figure
9.6. First, the elements at the two ends are distorted with slightly different size compared to the
adjacent elements. The distortion introduces some numerical error in the computed SIFs. There
is not much we can do to avoid this distortion and size variations while extending the template
all the way to the model surface.
The distortion in the element sizes leads to non-uniform spacing of the computed front points.
The distortion in the element shape can lead to numerical noise in the SIFs, in particular the
Mode II / Mode I ratio can change drastically at the model surface. The fixed-order single
polynomial is fit through the set of 3D points using a least-squares method. The extrapolation of
a polynomial, especially as the order increases, can be prone to undesired curvature. In this case,
the combination of these things causes the 3rd order polynomial fit to fail as the end curls back
inside the model and no amount of extrapolation will push the end outside of the model surface.
68
Figure 9.5. Computed new front points – no smoothing.
Figure 9.6. Computed new front points at the two ends of the front.
A simple fix to the problem is to use a lower order single polynomial for all steps of growth.
Figure 9.7 shows a 2nd order polynomial fit to the step 19 front points. The fit captures the
curvature of the front reasonably well and the ends can easily be extrapolated outside of the
model.
69
Figure 9.7. Crack front fit using 2nd order polynomial.
An additional example is shown in Figures 9.8 and 9.9. Figure 9.8 shows 33 steps of crack
growth for a similar edge crack in a thin plate using a 3rd order polynomial fit, and Figure 9.9
shows 21 steps for the same crack in the same plate but using a linear polynomial fit. The 3rd
order fit requires ‘simple intersections’ for the crack front template (the template end is pulled
back from the model surface – see Section 6.1.15 of the Reference document). The 3rd order fit
produces convex/concave oscillations in the front shape, which leads to oscillations in the SIF
history. The linear fit is not ideal and there are oscillations in the angles for the fronts due to the
large steps in growth and numerical errors, but the SIF history curve is smooth, which is best
when computing fatigue cycles.
70
Figure 9.8. Crack front fit using 3rd order polynomial.
71
Figure 9.10. Initial long shallow crack.
Figure 9.11. Computed new front points for initial long shallow crack.
The multiple polynomial option was added specifically for this crack shape. Three polynomials
are used – one for the middle portion and one for each of the two ends. The polynomial order
can be set, but usually a 4th order gives a reasonable fit for all three segments. The multiple poly
ratio setting allows the user to adjust how much of the crack front is fit by each segment. The
default ratio is 5, so at each end, the segment consists of the total number of front points divided
by 5. Each end is fit separately from the middle segment. The ends of the fit-segments are
72
blended together after fitting. However, it is possible to create kinks in the crack front geometry
that will lead to numerical noise/error and potential oscillations in the subsequent front(s).
Figure 9.12 shows the fit at one end of the front using the typical settings. Figure 9.13 shows the
effect of increasing the multiple poly ratio value from 5 to 25, which means fewer points in each
end segment. While the end segment fit is okay, the middle segment fit is poor, and a kink is
created when trying to blend the curves together. Figure 9.14 shows the effect of lowering the
polynomial order to 2 while using the default poly ratio. In this case, a 2nd order polynomial
cannot capture the curvature at the end, and a poor connection between the end and middle
segments is created. In practice, once the appropriate settings are determined for a crack front,
those settings should work for a number of steps of propagation.
Figure 9.12. Fit for long shallow crack using typical settings.
73
Figure 9.13. Fit for long shallow crack using a higher ratio.
Figure 9.14. Fit for long shallow crack using a lower order polynomial.
74
9.3 Moving Polynomial
If the multiple polynomial fit is not acceptable, one can try using the moving polynomial fit.
This fit was originally added to handle extremely complicated crack front shapes. For example,
Figure 9.15 shows an observed flaw shape with a 12th order single polynomial (left image) and a
low-order moving-polynomial fit (right image). The single polynomial cannot capture the shape.
The multiple polynomial fit described above does not work well. A cubic spline captures the
shape reasonably well, however, the moving polynomial has more flexibility and is able to
capture the predicted new shape.
Figure 9.15. Observed flaw shape with a 12th order polynomial (left) and a moving polynomial
(right) fit to the new front points.
We note that for crack fronts with concave segments, the new crack front points can overlap
depending on the amount of extension. The moving polynomial (and the cubic spline) fitting
option looks for reversals in the crack front points, and points are discarded if this occurs.
A moving polynomial smooths the front points by replacing each point with the fit-point based
on neighboring points defined within the span and the specified polynomial order. The default
span is 5, but this is adjusted for the polynomial order. The ends are extrapolated using a linear
fit through the last few points, thus the required extrapolation % is usually less than for the
typical single polynomial fit.
Typically a 1st order moving polynomial provides a reasonable fit. Very high-order polynomials
are not recommended as they will tend to capture more of the minor variations due to numerical
noise/error in the SIFs.
The moving polynomial often can be used for relatively long shallow almost-ellipse shaped
cracks. Quite often users will insert a half-penny surface crack into a model and the crack will
propagate further at the model surface than at the middle (deepest part of the crack), which will
lead to a more ellipse-like shape.
75
Figure 9.16 shows predicted growth from initial surface crack with aspect ratio (0.05/0.04=)
1.25. The surface SIFs are higher (Figure 9.17), which leads to more growth at the surface. The
relative extension along the crack front is a function of the SIFs and the growth model (see
Section 6.5 of the Reference document). Figure 16 shows a single 3rd order polynomial fit
through the new front points. In this case, the polynomial fits reasonably well. We can ignore
one or more end points on either end, as seen earlier the SIFs at the free surface are subject to
more numerical noise/error so ignoring the end points is sometimes the best option. Figure 9.18
shows the Mode II SIFs; the first point shows a significant drop from the curve trend, and
FRANC3D automatically ignores that one end point. Crack growth involves both extension and
kink angle, and noise/error can exist in either or both, leading to badly predicted new front
points.
Figure 9.16. Predicted new front points for an almost-half-penny surface crack.
76
Figure 9.17. Mode I SIFs for initial almost-half-penny surface crack.
As this crack continues to propagate, it continues to grow more at the surface than at the deepest
point. This leads to a higher aspect ratio shape, Figure 9.19. Eventually the 3rd order single
polynomial fit might fail to capture the shape correctly, Figure 9.20. In this case, FRANC3D
should issue a message to the terminal/cmd window and automatically switch to a 1st order
moving polynomial, Figure 9.21. The multiple polynomial fit also works well for this crack,
Figure 9.22.
77
Figure 9.19. After 10 steps of propagation.
Figure 9.20. A 3rd order single polynomial fails after a number of steps of propagation.
78
Figure 9.21. 1st order moving polynomial fit.
79
In some cases, the multiple polynomial fit might work better than the moving polynomial.
Figures 9.23 and 9.24 show a more elongated surface crack that is breaking through the back
surface on the model. The 4th order multiple polynomial provides a good fit to the front points.
The moving polynomial provides a good fit but captures the reduced growth on the front model
surface. While this reduction might be valid, it leads to difficulties creating a good template
mesh and can lead to crack geometry overlap outside of the model, which will cause the growth
to fail.
80
9.4 Crack Front Template Issues
Assuming that you found an acceptable fit to the crack front points, the next issue might be
getting a crack front template created. One potential problem occurs if the template spans
geometric kinks in the crack surface. Figure 9.25 shows the crack extension for an initially
inclined crack that wants to turn; the left image shows the left end of the crack. Figure 9.26
shows the template with the radius set such that template spans the kink in the geometry, and the
resulting mesh is shown in the right image. In this case, the template was added and meshed
successfully, although SIFs at the left end will likely be poor due to the distorted elements. In
many cases, the template will not be successfully added and a somewhat generic error message
will be displayed, Figure 9.27. A possible solution is to make the template radius smaller.
81
Sometimes a user might see a template that appears to be twisted. This is usually just a display
issue; FRANC3D uses a simplified algorithm to display the template in the GUI compared to the
algorithm that is used to do the actual insertion and remeshing. If there are kinks in the crack
front/surface geometry, as in Figure 9.28, the template displayed to the user might appear to be
twisted (right image). The user should generally ignore this and proceed with the insertion and
meshing.
For any case where the crack insertion and meshing fails, if possible, the user should send us the
debug.tst file so that we can determine the problem, and fix any bugs in the code.
.
Figure 9.28. Twist in displayed template.
Another possible error occurs due to excessive extrapolation of polynomial fits. This is
especially true for the case where the crack front oscillates between convex and concave. Figure
9.29 shows the crack geometry for the edge crack in a thin plate (see Figure 9.8). The fronts
between step #5 and 9 show significant oscillation from convex to concave. The concave fronts
also have significant amounts of extrapolation. The right image shows the geometry in relation
to the plate. In this case, the ends of the fronts and geometry (triangular Bezier patches) do not
actually overlap so the crack can be inserted and meshed successfully. For cases where there is
overlap, FRANC3D might output a generic error message, such as “failed to triangulate”; we
plan to improve the feedback for this type of error to show the user why it fails.
82
Figure 9.29. Edge crack geometry in a thin plate at step 15.
Over-extrapolation can lead to overlapping of the crack front geometry that will lead to a “failure
to triangulate” error message and no crack growth will occur.
An additional limitation of the crack growth algorithm was identified for the case of highly non-
planar crack growth, Figure 9.30. The bounding points of the current and new crack front are
collapsed to a least-squares plane, and a 2D meshing algorithm is used to create the triangular
facet geometry representing the new crack surface. For the set of points in Figure 9.30, the
corresponding least-squares boundary is shown in Figure 9.31. The bounding edges cross, which
means that the 2D meshing fails and no crack growth occurs.
83
Figure 9.30. Current and new crack front points in 3D space.
Figure 9.31. Current and new crack front boundary in least-squares planar space; the bounding
edges cross leading to a “no crack growth occurred” error.
When this occurs, FRANC3D reverts to a simple triangulation that connects points on the current
front with the new front points. In practice, this should give a reasonable new crack surface
geometry if there are sufficient points on the front.
The moving polynomial fitting option will check for overlap and remove points to prevent the
curve-fit from overlapping, Figure 9.35. The user might need to adjust the amount of extension
to give a reasonably smooth curve; small kinks or jumps in the crack front geometry usually
leads to bumps in the SIFs along the front.
84
Figure 9.32. Concave portion of a crack front.
85
Figure 9.34. Overlap of new front curve – will fail to produce crack growth.
Figure 9.35. Overlap points removed during smoothing using the moving polynomial.
86
10. Meshing
The Advanced Meshing tab in the FRANC3D Preferences dialog (Figure 10.1) allows the user to
alter the default advanced meshing parameters. Meshing is done in two phases. The surfaces are
meshed first, and the first two parameters in the dialog ‘roughly’ control the surface mesh
refinement. Once the surfaces are meshed, then the volume is meshed. Note that the volume can
be meshed using FRANC3D’s internal advancing-front algorithm, or it can be meshed using
either ABAQUS or ANSYS volume meshing capabilities. The last three parameters in the
dialog ‘roughly’ control the volume mesh refinement when using FRANC3D’s volume meshing
capability.
Figure 10.2 shows two examples of RSD procedures. In the first, a triangular region is
subdivided into four similar triangular regions recursively. In the second, a rectangular region is
subdivided into four similar rectangular regions recursively. RSD procedures only work for a
small number of region shapes, in two-dimensions these include triangles, rectangles, and
87
hexagons. For a rectangular region, every subregion is either undivided or divided into four
similar regions. This information can be stored conveniently in a tree data structure, where each
node in the tree has exactly zero or four children. Such a data structure is called a quadtree.
Figure 10.3 shows a simple example of a divided region and its corresponding quadtree. The
undivided regions, which correspond to leaf nodes in the tree, are called terminal quadrants. The
size of a terminal quadrant can be determined from its level in the tree.
(a) (b)
A
F G
C
H I B C D E
D E
F G H I
In the meshing algorithm, the level of decomposition is a function of the nodal spacing on the
nearby boundaries. The surface refinement factor then controls how quickly the level of
decomposition transitions towards the interior of the region. A refinement factor of one indicates
that the decomposition can only change by one level for adjacent quadtree cells. The surface
boundary factor controls the placement of internal points near the boundaries. A small value
allows points to be placed close to the boundary. Internal nodes can be generated either at the
center or the corners of the terminal quadtree cells if the location is sufficiently far from the
boundary (Figure 10.4).
88
A mesh comprised of triangles is generated using a boundary contraction scheme (Figure 10.5).
A list of all the boundary edges is created. Starting with the first edge in the list, all the internal
and boundary nodes are tested to determine which node produces the largest included angle
when edges are extended from the two ends of the edge to the node. The best vertex is then used
to create a triangular element. The list of boundary edges is updated, removing the edge that was
started from and adding the new edges if they are not part of an existing element. The region,
therefore, contracts by extracting elements one at a time.
The mesh is smoothed by repositioning each internal node to lie at the centroid of its surrounding
polygon. The smoothing uses an iterative approach in which each internal node is repositioned
based on the current nodal positions of its surrounding polygon. This process is repeated until
there is no change of nodal positions between iterations. .
active
boundary
Figure 10.5. Generated triangular element mesh using a boundary contraction procedure.
In FRANC3D, the surface meshing algorithm allows a face of arbitrary shape to be meshed using
all triangular elements. There are many subtle aspects of surface meshing that must be
89
considered to produce a good mesh for volume meshing. For example, the surface curvature is
considered in this paper:
Surface mesh regeneration considering curvatures.
Miranda et al., Engineering with Computers (2009) 25:207–219
We will discuss some additional FRANC3D settings below in relation to cracks and accurate
stress intensity factors (SIFs).
The basis for the 3D volume meshing algorithm in FRANC3D is described in journal articles.
For example:
An Algorithm for Three-Dimensional Mesh Generation for Arbitrary Regions with Cracks,
Cavalcante et al., Engineering with Computers (2001) 17: 75–91.
The 2D quadtree data structure is replaced with a 3D octree. The triangular surface mesh facets
created during surface meshing comprise the boundary of the 3D region. The octree is defined
such that it encompasses the region volume and octree cells contain information about the
bounding triangles. The advancing front algorithm uses up the boundary triangles to form
tetrahedral elements, and the front is updated by removing used and adding any new triangular
faces.
The volume octree refinement factor (see Figure 10.1) is similar to the quadtree surface
refinement factor. It controls how quickly the octree cell subdivision occurs when moving from
the boundary to the interior. The optimal size and sphere factors (see Figure 1) are described in
Cavalcante et al; Figure 10.6, which is extracted from the paper, shows a sphere in relation to the
current triangular boundary face being examined. If the optimal size is decreased, this allows for
smaller elements and slower transitions to larger elements. The factors do not allow for real
fine-tuning of the mesh density, however.
In some cases, the advancing front algorithm can get stuck and the algorithm must backtrack.
FRANC3D allows the user to control the number of backtracking attempts as well as the
maximum number of volume elements allowed, Figure 10.7. The backtracking process is
described in:
A back-tracking procedure for optimization of simplex meshes.
Cavalcante et al., Commun. Numer. Meth. Engng., 2005; 21:711–722.
90
Figure 10.6. Generating optimal tetrahedral element using a boundary contraction procedure.
Figure 10.7 shows the option for choosing FRANC3D or ABAQUS or ANSYS volume meshing.
The Max volume elements and Max backtrack events only apply to the FRANC3D volume
meshing. Figure 7 also shows three additional user options:
1) Do coarsen crack mouth
2) Do local surface refinement
3) Do not coarsen more than the uncracked mesh
The Do coarsen… option allows the user to control the surface mesh density on the crack
surface. Note that this option sometimes gets overruled by the underlying geometry and the
91
advancing front algorithm. In general, the default is to coarsen the crack surface mesh as it
transitions from the template radius (crack front) towards the crack mouth (intersection of the
model free surface). This reduces the overall number of elements while not significantly
affecting the SIF accuracy in most cases. Figure 10.8 shows the same crack with the option on
(left) and off (right).
Figure 10.8. Do Coarsen Crack Mouth Mesh option: on – left image and off – right image.
This option can be important for shallow edge cracks in thin plates. Figure 10.9 shows a shallow
surface crack in a thin plate. To produce enough elements through the thickness of the plate and
along the crack front, to compute accurate (SIFs), the template radius must be relatively small.
The meshing parameters can be set when defining the crack front template, Figure 10.10. Figure
10.11 (top image) shows the crack surface mesh with the default setting of Do Coarsen… turned
on. The bottom image in Figure 10.11 shows the crack surface mesh when this option is
unchecked (turned off).
92
Figure 10.10. Meshing parameters dialog.
Figure 10.11. Surface mesh on shallow surface crack with Do Coarsen on (top) and off
(bottom).
The Do local surface refinement option is useful when a crack front is approaching a model
surface that is not intersected by the crack. Figure 10.12 shows a surface crack front that is
approaching the back surface of the plate. As seen in Figure 10.10, the Do Local… is off by
default. In this case, the resulting surface mesh on the back surface of the plate is shown in
Figure 10.13. Figure 10.14 shows the same model with the Do Local… turned on. The surface
area near the crack front is refined. In some cases, this is the only way a volume mesh can be
created in the space between the front and the plate surface.
93
Plate back surface
Figure 10.13. Surface mesh on back surface of plate with Do Local… off.
94
Figure 10.14. Surface mesh on back surface of plate with Do Local… on.
The Do not coarsen more than the uncracked mesh aims to retain the original uncracked mesh
density when inserting a crack and remeshing. Figure 10.15 shows the same model and crack
with the option off (left image) and on; Figure 10.16 shows the original uncracked mesh. Note
that the original mesh is composed of bricks with quadrilateral facets on the surface. The crack
requires mesh refinement, but the extra option produces a surface mesh that is more similar to
the original density away from the crack. Turning this option on will produce more volume
elements also.
Figure 10.15. Do Not Coarsen More Than Uncracked Mesh option: off – left and on – right.
95
Figure 10.16. Original uncracked mesh.
96
11. Crack Growth with Multiple Load Cases
This section is used to illustrate how multiple (static) load steps combine for crack growth. We
start with a simple cube model in ABAQUS where the first load step is tension with a gradient in
the x-direction and the second load step is uniform tension on the top surface. The bottom is
constrained to prevent rigid body motion, Figure 11.1.
The model is imported and divided in FRANC3D. An edge-crack is defined on the front face
that is inclined 20 degrees from normal, Figure 11.2. This will produce a mix of Mode I and II
SIFs for both load steps.
97
Figure 11.2. Inclined edge crack.
Once the ABAQUS analysis has finished, we examine the SIFs for the initial crack front. Mode
I and II SIFs for load step 1 and 2 are shown in Figures 11.3 – 11.6.
B A
98
Figure 11.4. Mode II for load step 1.
A fatigue crack growth model is selected and the load schedule is defined using simple cyclic
events, Figure 11.7. The schedule is set to repeat forever. We will examine three different
cases: 1) load step 2 only, 2) load step 1 only, and 3) both load steps; Figure 11.7 shows the
schedule for 3). The Kmin is set to 0 (R=0), but could be based on another load step in which
case dK would be Kmax-Kmin rather than simply Kmax.
99
Figure 11.6. Mode II for load step 2.
Figure 11.7. Load schedule for the case where both load step 1 and 2 are used.
100
Load step 2 is uniform tension of 10 MPa on the top surface. It produces relatively uniform
values for both Mode I and II SIFs along the front (see Figures 11.5 and 11.6; ignoring the free-
surface effects). The MTS criterion is used to compute kink angle and a median extension of
0.15 mm is specified. The resulting kink angles along the crack front are shown in Figure 11.8.
Figure 11.8. Kink angles (in radians) along the normalized crack front for load step 2.
Load step 1 has a gradient in the x-direction, varying from 2 MPa at x=0 to 20 MPa at x=10 mm.
The Mode I and II SIFs show this gradient also. The kink angle is a function of the KII / KI ratio
and thus varies along the crack front, Figure 11.9. The value at the B-end is significantly higher
than it was for load step 1 (103 deg vs 34 deg). The relatively large kink angle combined with
the low extension makes crack growth more difficult, which will be described later.
For the load schedule that combines both load steps, the kink angle along the crack front is a
combination of the two previous cases, Figure 11.10.
For example, if 1000 cycles are required to advance the crack to the median specified extension
of 0.15 mm, 500 of those cycles will be based on load step 1 and 500 will be based on load step
2. The dK for each load step is computed at each (mid-side node) point along the crack front.
The dK along with the growth rate data (da/dN vs dK) gives us the da and dN. We accumulate
enough cycles (dN) to achieve da=0.15 mm at the point along the front where we find the median
dK.
101
Figure 11.9. Kink angles (in radians) along the normalized crack front for load step 1.
The kink angle is treated similarly; at each point along the front the KII/KI ratio from each load
step is computed. As we sum the extension and cycles at the point, we also sum the kink angle.
Figure 10 shows that at the B-end, the kink angle is an intermediate value compared to Figures 8
and 9.
Figure 11.10. Kink angles (in radians) along the normalized crack front for both load steps.
102
The extension along the front is shown in Figures 11.11 – 11.13. The trend is similar to the kink
angle. The combined schedule produces intermediate values.
Figure 11.11. Extension (in mm) along the normalized crack front for load step 2.
Figure 11.12. Extension (in mm) along the normalized crack front for load step 1.
103
Figure 11.13. Extension (in mm) along the normalized crack front for both load steps.
Figure 11.14. Crack fronts for 10 steps of growth using only load step 1.
104
Figure 11.15. Crack fronts for 10 steps of growth using only load step 2.
Figure 11.16. Crack fronts for 10 steps of growth using both load steps.
105
Figure 11.17. Left and right views for 10 steps of growth using only load step 1.
Figure 11.18. Left and right views for 10 steps of growth using only load step 2.
Figure 11.19. Left and right views for 10 steps of growth using both load steps.
In the above example, the extension and kink angle followed similar trends along the crack front.
If we introduced a crack that was normal to the front surface, the Mode II SIFs would be
essentially zero for both load cases. In this case, only the extension along the front would be
affected by the choice of load steps in the schedule.
106
A penny-shaped surface crack (radius=1mm) is inserted into the front face of the cube and
analyzed. The Mode I and II SIFs for load steps 1 and 2 are shown in Figures 20 – 23. Mode II
is close to zero for both load steps.
A B
107
Figure 11.22. Mode I for load step 2.
If we grow the crack using just load step 2, the extension is relatively uniform along the crack
front, Figure 11.24. Growth using only load step 1 is shown in Figure 11.25 and growth using
both load steps is shown in Figure 11.26.
108
Figure 11.24. Growth using only load step 2.
109
Figure 11.26. Growth using both load steps.
The computed fatigue cycles are a function of the number of load steps as well as a function of
the dK and growth rate model. A simple Paris fatigue model is used with the parameters shown
in Figure 11.27. The fatigue cycles using only load step 2 are shown in Figure 11.28. The
fatigue cycles using only load step 1 are shown in Figure 11.29, and the fatigue cycles using both
load steps are shown in Figure 11.30. In Figure 11.30, the cycle count is the total number of
cycles of both load steps. Some people prefer to count “missions” where the two load steps are
part of one mission; in this case, the cycles should be divided by 2.
110
Figure 11.27. Paris growth model parameters.
111
Figure 11.29. Fatigue cycles using only load step 1.
In the example above, there are only two load pairs in the schedule. If a user has a more
complicated mission profile, Figure 11.31, the load schedule might include multiple load pairs,
Figure 11.32. For example, the user might identify a subset of three important load pairs from
the full mission. The cycle count computed by FRANC3D would be divided by 3 to get
missions.
112
Figure 11.31. Example mission profile.
Figure 11.32. Three load pairs from the example mission profile included in the schedule.
Similar to the cycle count, if there is “hold” time included, FRANC3D displays the total hold-
time for all load steps. It is up to the user to determine how to break the time and cycles down
into their “units”.
113
12. Crack Face Tractions
Crack face traction loading can be used to include a simple pressure on the crack faces, or a
residual or initial stress condition, or it can be used to replace the full boundary conditions. In
the latter case, crack face tractions use the principle of linear superposition as depicted in Figure
12.1. FRANC3D has several options for applying crack face tractions as described in Section
7.2 of the Reference document.
Section 12.1 describes how the tractions are applied as nodal forces in the analysis. Section 12.2
describes how to apply crack face tractions to the analysis load steps. Section 12.3 describes
how temperature can be included.
114
12.1 Crack Face Tractions as Nodal Forces
Crack face traction is applied in FE code as nodal forces and includes normal and shear
components. All of the types of tractions, even a simple constant pressure, are converted to
nodal forces for consistency. Section 2.1 of the Benchmark document compares the stress
intensity factors (SIFs) for an internal penny-shape crack subjected to far-field tension versus the
equivalent crack face traction (applied as a constant pressure). The CFT SIFs differ from the far-
field SIFs by less than 0.1%.
The CFT are applied as nodal forces in the analysis codes to make it easier to apply both normal
and shear stress. To validate the software, we use a simple cube model with a surface half-penny
crack.
Figure 12.2 shows an ABAQUS cube with the bottom surface constrained and both shear and
tension applied to the top surface. The uncracked model is analyzed in ABAQUS to produce a
nodal stress listing (both .fil and .rpt ABAQUS file types can be imported into FRANC3D).
Section 2.9 of the Tutorials-2-10 document describes how to extract stress to apply as CFT.
Figure 12.2. Cube model with normal tension and shear load.
A crack is inserted in the +z face of the cube (Figure 12.3) and analyzed. Figure 12.4 shows the
maximum principal stress contours near the crack on the model surface. Note that crack face
contact is not applied.
115
Figure 12.3. Cube model with crack inserted in +z face.
The resulting SIFs are shown in Figures 12.5a-c, using the M-integral (M), displacement
correlation (DC) and Virtual Crack Closure (VCCT). The M-integral and VCCT methods
include a term for the CFT, and we can use the DC SIFs to verify that the CFT term is added
correctly; if the CFT was not included the SIFs would differ significantly. In this case the SIFs
are essentially the same for the three methods. In addition, it can be seen that the far-field
loading and CFT loading produce essentially the same SIFs.
116
0.2
M-integral
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
tractions mode II
-0.6
-0.8
-1
0.2
DispCor
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.8
-1
117
0.2
VCCT
0
0 0.2 0.4 0.6 0.8 1
-0.8
-1
The crack in the +z face is not subject to much variation in shear stress. So we insert a crack into
the +x face of the cube, Figure 12.6. The stress contours on the model surface near the crack are
shown in Figure 12.7. Compared with the +z face crack, the +x face crack has a significantly
different local stress field.
118
Figure 12.7. Stress contours for +x face crack.
The SIFs for the far-field loading versus CFT for M-integral, DC and VCCT are shown in
Figures 12.8a-c. The far-field and CFT SIFs are essentially the same, and the M-integral, DC
and VCCT SIFs are essentially the same.
0.8
M-integral far field mode I
0.6 far field mode II
far field mode III
0.4 tractions mode I
tractions mode II
0.2
tractions mode III
0
0 0.2 0.4 0.6 0.8 1
-0.2
-0.4
-0.6
-0.8
119
0.8
DispCor far field mode I
0.6 far field mode II
far field mode III
0.4 tractions mode I
tractions mode II
0.2
tractions mode III
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.2
-0.4
-0.6
-0.8
0.8
VCCT far field mode I
0.6 far field mode II
far field mode III
0.4 tractions mode I
tractions mode II
0.2
tractions mode III
0
0 0.2 0.4 0.6 0.8 1
-0.2
-0.4
-0.6
-0.8
120
Figures 12.9a-b show the Mode I, II and III SIFs for the CFT loading for all three SIF methods.
The values for the DC method differ by a couple percent from the values for the M and VCCT
methods.
0.8
CFT M CFT mode I
0.6 DC CFT mode I
VCCT CFT mode I
M CFT mode II
0.4 DC CFT mode II
VCCT CFT mode II
0.2 M CFT mode III
DC CFT mode III
VCCT CFT mode III
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-0.2
-0.4
-0.6
-0.8
0.2
CFT
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
M CFT mode I
-0.2
DC CFT mode I
VCCT CFT mode I
M CFT mode II
-0.4 DC CFT mode II
VCCT CFT mode II
M CFT mode III
-0.6 DC CFT mode III
VCCT CFT mode III
-0.8
-1
121
12.1.2 Edge-Through Crack (Straight Front)
Straight-front edge cracks were inserted in the same +X and +Z faces, Figure 12.10. The
corresponding SIFs are shown in Figures 12.11-13. The straight crack front should not require
any “curvature” correction when computing M-integral SIFs.
4
M-integral far field mode I
far field mode II
3
far field mode III
tractions mode I
2 tractions mode II
tractions mode III
0
0 0.2 0.4 0.6 0.8 1
-1
-2
122
4
DispCor far field mode I
far field mode II
3
far field mode III
tractions mode I
2 tractions mode II
tractions mode III
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-2
4
VCCT far field mode I
far field mode II
3
far field mode III
tractions mode I
2 tractions mode II
tractions mode III
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-2
123
0.5
M-integral
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
far field mode I
far field mode II
-0.5
far field mode III
tractions mode I
tractions mode II
-1
tractions mode III
-1.5
-2
0.5
DispCor
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
far field mode I
far field mode II
-0.5
far field mode III
tractions mode I
-1 tractions mode II
tractions mode III
-1.5
-2
124
0.5
VCCT
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
far field mode I
far field mode II
-0.5
far field mode III
tractions mode I
-1 tractions mode II
tractions mode III
-1.5
-2
4
M CFT mode I
CFT
DC CFT mode I
3 VCCT CFT mode I
M CFT mode II
DC CFT mode II
VCCT CFT mode II
2 M CFT mode III
DC CFT mode III
VCCT CFT mode III
1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-1
-2
125
0.5
CFT
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
M CFT mode I
DC CFT mode I
-0.5 VCCT CFT mode I
M CFT mode II
DC CFT mode II
VCCT CFT mode II
-1 M CFT mode III
DC CFT mode III
VCCT CFT mode III
-1.5
-2
This also will allow for thermal conditions to be included – something that was not permitted
previously if a CFT was added as an extra load step (temperature is discussed in Section 12.3).
To demonstrate how to apply a CFT in different load steps, we use with a simple cube with a
penny-shaped surface crack (see the base Tutorial document). This ‘base’ model is shown in
Figure 12.14 and the ‘base’ SIFs are shown in Figure 12.15. The cube has E=10000 and
NU=0.3; the reference temperature is 0; there are no temperatures set in the model. The base
loading consists of uniform traction on the top surface and constraint on the bottom surface.
126
Figure 12.14. Base model - penny-shaped surface crack in a cube under uniform tension.
Figure 12.15. Base SIFs for penny-shaped surface crack in a cube under uniform tension.
To add CFTs to this model, go to the FRANC3D Loads menu and select Crack Face
Pressure/Traction (Figure 12.16). The CFT dialog is displayed (Figure 12.17a). Click on the
Add button to add a new CFT to the model.
The default type of CFT is a constant pressure (Figure 12.17b), which is what we will use here.
Click on the Advanced button to display the dialog in Figure 12.17c. The default is to add a
new load step, which is what we will do first; click the Accept button. Click the Next button on
the dialog in Figure 12.17b to display the dialog in Figure 12.17d, and set the pressure to 1.0.
127
Click Next to return to the top level dialog we started with in Figure 12.17a – it will display the
new CFT that we just added (Figure 12.17e).
128
Figure 12.17b. Select CFT type dialog.
Figure 12.17c. CFT Advanced settings dialog; left for ABAQUS, right for ANSYS/NASTRAN.
129
Figure 12.17e. CFT dialog.
Run the static analysis and then compute SIFs. In the Compute SIFs dialog (Figure 12.18a),
click on the Advanced button beside the M-integral label to display the dialog in Figure 12.18b.
The Include Applied Crack Traction box should be checked automatically (as the M-integral
includes a term that accounts for the tractions on the crack surface). Click Accept and then
Finish to display the SIFs.
130
The Mode I SIFs for the first load step (Figure 12.19a) are the same as the base model (Figure
12.15). The SIFs for load step 2, which is the CFT load, are shown in Figure 12.19b. The sum
of the SIFs for the two load steps are shown in Figure 12.19c.
Figure 12.19a. Mode I SIFs for the first (base) load step.
Figure 12.19b. Mode I SIFs for the second extra (CFT) load step.
131
Figure 12.19c. Sum of Mode I SIFs for the base plus the extra load steps.
The previous steps are consistent with prior versions of FRANC3D. The new capability added
for Version 7.4 is described next. Close the FRANC3D model we just analyzed and restart from
the base model (surface crack in a cube with far-field tension in one load step).
Proceed to the Loads menu and add a CFT. When we get to the Advanced dialog (see Figure
12.17c), we switch the Load Step setting to Add to existing load step (Figure 12.20); there is
only one load step in the model so the CFT will be added to it. Finish adding the CFT (constant
pressure = 1) and run the static analysis and compute the SIFs.
Because we added the CFT to the base FE load step, the SIF dialog shows only one load step
(Figure 12.21). The Mode I SIFs are the same as those shown in Figure 12.19c.
Figure 12.20. CFT Advanced options dialog with Load Step set to “Add to existing”;
left for ABAQUS, right for ANSYS/NASTRAN
132
Figure 12.21. Mode I SIFs for the case where the CFT is added to the base load step.
We can repeat the previous steps, but this time we add two CFTs to the base model (Figure
12.22). The first CFT is a constant pressure of 1.0 and the second is a constant pressure of 5.0.
We could choose any of the CFT options, but the constant pressure is simple and exercises all the
updated sections of the software.
Start by adding the CFTs as extra load steps; there will be two extra load steps after the base FE
load step. The Mode I SIFs for the first two load steps are the same as in Figures 12.19a and
12.19b. The SIFs for load step 3 and for the sum of all three load steps are shown in Figures
12.23a-b.
133
Figure 12.23a. Mode I SIFs for third extra load step – CFT with constant pressure=5.
Figure 12.23b. Sum of Mode I SIFs for the base plus two extra (CFT) load steps.
Close this model and restart from the base model again. Now we add the same two CFTs but we
add them both the existing FE load step. The Mode I SIFs for this case are shown in Figure
12.24. The values match those shown in Figure 12.23b.
If there are doubts about the values, one can plot the DC SIFs (Figure 12.25). The DC SIFs
depend only on the displacements from the analysis code and should match the M-integral SIFs
as shown in Section 12.1.
134
Figure 12.24. Mode I SIFs for the case where the two CFTs are added to the base load step.
Figure 12.25. Mode I SIFs using displacement correlation for the case where the two CFTs are
added to the base load step.
One should be able to perform any combination of adding extra load step CFTs and/or adding
CFTs to existing load steps. However, one should not add CFTs to an extra CFT load step.
Note for NASTRAN users: one cannot add multiple CFTs to an existing load step; it is possible
to do so, but restarts will not produce the correct SIFs; a warning message is printed to the
console/terminal window if this is attempted.
135
12.3 CFT with Temperature
In prior versions of FRANC3D, an extra CFT load step was not allowed to have thermal
stress/strain included. In Version 7.4, one can now specify whether the extra load step should
allow a non-zero coefficient of thermal expansion.
Note for NASTRAN users: material properties cannot be changed from one load step to the
next.
If there are temperatures in the model and if there are temperature dependent material properties,
the extra CFT load step can include temperatures so that the correct material property data is
extracted. The analysis of this load step in the analysis code should include the temperatures.
The thermal expansion coefficients can be set to zero (for ANSYS and ABAQUS) or can be
retained from the previous load step, which will allow thermal stress/strain.
To include thermal stress/strain with a CFT, one can also add the CFT to an existing load step,
which was described in the previous section.
The traditional use of the CFT was for linear superposition, where one is taking the stress state
from a complex model configuration and applying that as traction to the crack face; the complex
stress state is assumed to include all the thermal stress/strain. However, in some cases, users
want to use CFTs in non-traditional ways, so the ability to add CFT to an existing load step was
added (previous section), and the ability to turn on/off thermal conditions for extra CFT load
steps has been added in Version 7.4.
The addition of temperature to a CFT load step can be confusing. In this section, we
demonstrate the current FRANC3D capabilities along with the user-interface for including
temperature.
We use the same cube model from the first section, but we add temperature to the uncracked
model. Figure 12.26 shows the ANSYS version of the model with the ‘base’ loading (uniform
traction on the top surface) and with a temperature gradient from left to right, going from 1000 to
100 degrees. The material properties are set such that E@1000 degrees=5000 and E@0
degrees=10000; NU=0.3 and CTE (ALPX) = 3e-7 for all temperatures. The deformation for this
model is shown in the left panel of Figure 12.27, which can be compared to the original model
(without temperature) deformation, which shown in the right panel of Figure 12.27.
136
Figure 12.26. Uncracked cube model with base loading plus a temperature gradient.
Figure 12.27. Uncracked cube model deformation for the case with temperature gradient (left)
and for the original model without temperature (right).
This cube-with-temperature model is imported into FRANC3D. The same penny-shaped surface
crack is inserted as in the previous section. The base SIFs are shown in Figure 12.28. The effect
of the temperature and temperature dependent modulus produces slightly higher SIFs (compared
to Figure 12.15) and an unsymmetric curve. The temperature varies along the front from 640 to
460. (The small ‘jumps’ in the SIF curve are due to the coarse initial mesh and corresponding
jumps in nodal temperatures.)
137
Figure 12.28. Mode I SIFs for the base-with-temperature model.
Note that the M-integral includes thermal terms (Figure 12.29); the reference temperature is 0
degrees (this is read from the input FE model). To verify that the thermal terms are included, we
can plot the DC SIFs (Figure 12.30), which shows that SIFs match reasonably well.
We can also plot the M-integral SIFs with thermal terms turned off, by unchecking the box in
Figure 12.29. The SIFs in Figure 12.31 are very different from the DC SIFs, which indicates that
they are not correct.
138
Figure 12.30. Mode I SIFs for the base-with-temperature model using DC.
Figure 12.31. Mode I SIFs for the base-with-temperature model – M-integral thermal terms off.
Adding a CFT to an existing load step means that the CFT will simply be included with other
loads, constraints, temperatures etc for that load step. Thus, one does not have to specify how
temperature will be included. To demonstrate, restart with the base-with-temperature model that
was just analyzed.
We add a CFT load step, using a constant pressure = 5, to the existing load step (see Figure
12.20); there is only one load step in the model. The resulting SIFs for combined load step are
shown in Figures 12.32a-b. Figure 12.32a shows the M-integral SIFs and Figure 12.32b shows
the DC SIFs; the values match reasonably well.
139
Figure 12.32a. Mode I SIFs for the combined base plus CFT load using M-integral.
Figure 12.32b. Mode I SIFs for the combined base plus CFT load using DC.
When we add a CFT as an extra load step, we need to define the temperature settings. Restart
from the base-with-temperature model and add an extra CFT load. Figure 12.33 shows the
dialogs for adding the extra CFT load step, using a constant pressure = 5.
The temperature is set so that nodal temperatures from the previous load step are applied to the
CFT load step, and thermal stress/strain is allowed – the ANSYS ALPX values are not set to zero
for the CFT load step.
The resulting Mode I SIFs are shown in Figures 12.34a-c. Figure 12.34a shows the sum; the
values are reasonably close to the values in Figure 12.32a. Figure 12.34b shows the base load
140
step SIF values, which are the same as in Figure 12.28. Figure 12.34c shows the SIFs for the
extra CFT load step.
Figure 12.33. Mode I SIFs for the combined base plus CFT load using displacement correlation.
Figure 12.34a. Mode I SIFs for the sum of the base and the extra CFT load.
141
Figure 12.34b. Mode I SIFs for the the base load.
The next analysis starts from the base-with-temperature model and adds an extra CFT load step,
with temperatures set to the previous load step, but the Allow thermal expansion is turned off
(Figure 12.35). The resulting Mode I SIF sum curve is shown in Figure 12.36. The SIFs are the
same as in Figure 12.34a. The displacement correlation SIFs are shown in Figure 12.36b; the M-
integral and DC SIFs are comparable.
142
Figure 12.35. CFT Set Temperature dialog with thermal expansion off.
Figure 12.36a. Mode I SIFs for the sum of the base and the extra CFT load; thermal expansion is
turned off.
Figure 12.36b. Mode I SIFs for the sum of the base and the extra CFT load using displacement
correlation; thermal expansion is turned off.
143
Figure 12.37a shows the nodal temperature and principal thermal strain contours for the case
where thermal expansion is turned on. Figure 12.37b shows the nodal temperature and principal
thermal strain contours for the case where thermal expansion is turned off.
Figure 12.37a. Temperature and thermal strain contours for non-zero ALPX for CFT load step
(displacement magnification = 100).
Figure 12.37b. Temperature and thermal strain contours for case with zero ALPX for CFT load
step (displacement magnification = 100).
Using ABAQUS, the SIFs for the model with CTE set to zero are shown in Figure 12.38; the
values match those from the ANSYS analysis. Figures 12.39a-b show the ABAQUS
temperature and thermal strain contours for the non-zero and zero CTE analyses for the CFT
load step. The ABAQUS contours match the ANSYS contours (see Figure 12.37).
144
Figure 12.38. ABAQUS analysis Mode I SIFs for the sum of the base and the extra CFT load;
thermal expansion is turned off.
Figure 12.39a. ABAQUS temperature and thermal strain contours for non-zero CTE for CFT
load step (displacement magnification = 100).
Figure 12.39b. ABAQUS temperature and thermal strain contours for case with zero CTE for
CFT load step (displacement magnification = 100).
145
NASTRAN does not allow one to edit material properties from one load step (subcase) to the
next. As seen in the ANSYS and ABAQUS analyses, however, setting the CTE to zero does not
change the resulting SIFs (at least under these loading and constraints). NASTRAN users must
be aware of the fact that unchecking the Allow thermal expansion check box in Figure 12.35 will
have no effect.
146
13. Local+Global Connections
This chapter describes the local + global connections for several model scenarios. The
recommended practice for local+global connections is node-merging using second-order
elements for both the local and global model portions. The local portion is remeshed after crack
insertion and second-order elements are required for SIF extraction. If the global portion has
linear elements, one-to-one node merging is not possible as the global elements do not have
midside nodes. This chapter describes the connections and gives recommendations to produce
the most accurate SIFs.
A local+global approach is used, which means that the local cracked mesh will always have
quadratic elements. For a linear-element global mesh, complete node merging on the cut-
surfaces is not possible so we discuss merging versus a constraint connection and compare the
resulting SIFs.
The uncracked model is the same thick plate that is described in Section 6 of the Benchmark
document. Two different sets of boundary conditions are used: 1) simple uniform unit tension
(Figure 13.1), and 2) simple unit shear (Figure 13.2). Simple supports (constraints) are used in
both cases. The original plate is 30x30x15, and the original mesh uses elements that are 1x1x1.
Meshes with linear elements and with quadratic elements are created.
147
Figure 13.1. Initial ANSYS model with simple tension.
148
13.2 Cracked Model
A local + global approach is used (Figure 13.3); the global portion contains all of the constraints
and loads. The global portion of the mesh has either linear or quadratic elements depending on
the original mesh. A center through crack is created as shown in Figure 13.4; it is 2 units wide
and extends through the plate thickness. It is inserted into the local model.
149
13.3 Comparing SIFs
Only one of the two crack fronts is examined; the second front has essentially identical SIFs.
The first set of SIFs is shown in Figure 13.5; this is for the quadratic mesh and uniform tension.
The three methods of SIF extraction: M-integral (M), Virtual Crack Closure (VCCT) and
Displacement Correlation (DC) give very similar results. The VCCT SIFs are less than 1%
below the M SIFs, and the DC SIFs are about 1% above the M SIFs.
quadratic tension M
1.95
quadratic tension VCCT
quadratic tension DC
1.9
quadratic tension M+1%
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
Figure 13.6 shows the corresponding results for the linear global mesh. The local + global
connection uses node merging, but the midside nodes of the local model are removed.
150
2
linear tension M
1.95
linear tension VCCT
1.9 linear tension DC
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
Figure 13.6. SIFs for linear global mesh and uniform tension.
Figures 13.7 and 13.8 show the SIFs for the uniform shear model. In this case, we plot KII
rather than KI. The DC SIFs are about 3% below the M SIFs, while the VCCT SIFs are very
close to the M SIFs. The linear global mesh produces similar results, Figure 13.8.
2
quadratic shear M
1.95
quadratic shear
1.9
VCCT
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
151
2
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
Figure 13.8. SIFs for linear global mesh and shear tension.
For a quadratic global mesh, merging of all corner and mid-side nodes should be possible. For a
linear global mesh, merging of only corner nodes is possible. For an ANSYS linear global mesh,
FRAN3D suggests that the extra midside node be removed. For ABAQUS, for a linear global
mesh, merging is not the best option. Instead, constraint equations can be used.
Figure 13.9 shows the KI SIFs for different local + global connections for the uniform tension
model (using M to extract SIFs in all cases). The ANSYS constraint connection produces SIFs
that are noticeably low compared with other connections
Figure 13.10 shows the KI SIFs for the uniform shear model; in this case, the ANSYS constraints
produce reasonable SIFs.
In this model, ANSYS contact connections could not be used easily; the cut-surface needs to be
separated into four surfaces to get contact to wrok.
152
2
quadratic tension merged M
1.95 linear tension merged M
linear tension constraint M
1.9 quadratic tension constraint M
ABAQUS linear tension constraint M
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
Figure 13.9. SIFs for different local + global connections for uniform tension.
quadratic shear M
1.95
linear shear M
1.85
1.8
1.75
1.7
1.65
1.6
0 0.2 0.4 0.6 0.8 1
Figure 13.10. SIFs for different local + global connections for uniform shear.
153
14. Reducing Analysis Time
This chapter describes several ways to reduce the crack growth simulation time.
If the crack outgrows the local submodel, a larger local model can be extracted and the crack
growth can continue – see Section 2.10 in the first base tutorial.
If you have multiple cracks, you can create multiple pieces for the local model – see Section 5.9
in the tutorial document. This describes how to extract two pieces for two cracks, but you can
extract more than two pieces and insert more than one crack per piece if needed.
When the crack geometry is inserted into the FE model, geometric computations are required to
determine the intersection of crack surface and model surface so that only the crack surface
inside the model is retained. This requires that the user create a crack geometry that exceeds the
model geometry – see Section 5.9.2 of the tutorial for example. While the crack should be larger
than the model, it will save some time if the geometry is not excessive. For example, Figure 14.1
shows a reasonable crack along with an excessively large crack; all the crack geometry that falls
outside of the model is simply discarded after determining that it is outside.
Figure 14.2 shows another case where an elliptical crack shape is chosen instead of the edge-
through crack shape. To get a similar crack front inside the model – compared to that in Figure
14.1 – a relatively large ellipse might be required. In addition to the excess geometry that is
discarded, the crack front template is formed along the entire crack front (right side panel in
Figure 14.2), and all the excess template mesh must be discarded as well.
154
Figure 14.1. Reasonable amount of crack geometry.
155
14.2 Output Results for Template Nodes/Elements Only
The analysis results can be requested for the full model, the cracked local portion, or just the
crack front template portion. The default is to extract results for the cracked local portion – see
Section 8.1.3.1 of the Reference document for the ANSYS default settings (the same settings
exist for ABAQUS and NASTRAN). If the local portion is relatively large with many nodes and
elements, the output file can become quite large. To compute SIFs, FRANC3D only needs the
results for the crack front template, so if the results files are large, one can reduce this by
selecting results for the template only.
Note that if you select results for the template only, you will not be able to view the deformed
shape correctly using the View Response dialog – see Section 11.1 of the Reference document.
You will have to view the deformed shape of the model using the analysis code post-processing
tools instead.
An option that we will implement is to restrict the local cracked model output to the template and
the surface nodes of the local model – rather than all of the volume nodes/elements. This will
allow us to display the deformed shape correctly in FRANC3D while reducing the output
significantly.
Users might have dozens or hundreds of time points or load steps in their analysis. While
FRANC3D can process this data, it can require significant amounts of time and storage. The
results for each load step are used to compute SIFs, where the results often include displacement
and temperature (and possibly crack surface pressure or traction) for an LEFM analysis.
For an elasto-plastic J computation from ABAQUS results, FRANC3D also requires stress and
strain energy, which is obtained at element integration points.
In addition to requesting output for only the template elements as described in the previous
section, one might consider carefully selecting the most important load steps for the crack
growth simulation.
156
Figure 14.3. Preferences dialog with timing output option.
157
15. FRANC3D Error Messages and Possible Solutions
This Chapter describes some of the potential errors that a user might encounter with possible
solutions. Some error messages might be displayed as pop-up messages in the FRANC3D GUI;
there might be additional information displayed in the FRANC3D CMD window so a user
should check that window as well.
The program cannot open a given file. Either the file does not exist in the specified location or
the user does not have permission to access the file.
BAD_DIRECTORY
The program cannot open a given folder (directory). Either the folder does not exist or the user
does not have permission to access the folder.
CANNOT_EXECUTE
The program cannot execute an external program. Either the external program does not exist in
the specified location or the user does not have permission to execute the program.
FILE_READ_ERR
The file exists but there is an error during reading. This is a generic error message for
unspecified errors that are not explicitly captured.
F3D_RLM_LIC_ERROR
This error indicates that a FRANC3D license is not available. The user should determine
whether they have a node-lock or floating license and ensure that the license is current and valid.
.fdb – FRANC3D restart file that stores crack geometry, growth model, SIF history, and
references to other files described below.
.cdb – ANSYS FE model file. The .dat file from ANSYS WorkBench will be supported in the
future.
158
.inp – ABAQUS FE model file.
.dtp – results file with displacements, temperatures and contact pressures. This file is created for
ANSYS results using ANSYS macro commands and for ABAQUS using Python commands.
For NASTRAN, the .pch results file is imported into FRANC3D.
.crk – crack geometry. The geometry is a collection of Bezier patches as described in Appendix
A, with the crack front identified by the corner vertex IDs of the patches.
.fcg – fatigue crack growth data (SIF history and crack growth model).
BAD_MODEL_TYPE
BAD_RESULTS_TYPE
NO_MESH_DATA
This error indicates that there are no elements or nodes defined in the imported model. Check
the input FE file to ensure it is not corrupted or missing data. FRANC3D imports 3D volume
elements, and these can be bricks, wedges, pyramids or tetrahedral or a combination.
NO_DISP_DATA
This error indicates that there are no displacements results. FRANC3D requires nodal
displacements at all crack front template nodes to compute SIFs. Results must exist for all load
steps. Check the FE results file to ensure that displacement data exists; the .fdb file contains a
list of all template node IDs.
NO_TRACT_DATA
This error indicates that there is no crack face traction (CFT). This error might occur for mesh-
based CFTs if the input mesh or stress files are invalid.
FDB_FORMAT_ERR
159
The .fdb file has a specific format, as described in Section 4.1.1 FRANC3D Restart (.fdb) Files.
This error message is displayed when reading the .fdb file if a data block is formatted incorrectly.
This could indicate a bug in the write/read routine or a corrupted .fdb file.
FDB_VERSION_ERR
The .fdb file contains version numbers for each block of data. If the version number does not
match existing versions, when reading the fdb file, this error will be displayed. This could
indicate a bug in the write/read routine or a corrupted .fdb file.
FDB_EMPTY_ERR
This error message indicates that the .fdb file is empty or invalid. Check the file to ensure that it
has appropriate data.
ANSYS_OUT_ERROR
This error message indicates that there is an error attempting to run ANSYS. This can be due to
an incorrect ANSYS license string, a lack of ANSYS licenses, or other ANSYS related errors.
The user should look for ANSYS related .err and .log files as well as the .out file, assuming that
the command (in generic form): ansys.exe –b –p lic_str –i in.cdb –o out.out
is executed.
ABAQUS_DAT_ERROR
This error message indicates that there is an error attempting to run ABAQUS. This can be due
to a lack of license tokens or other ABAQUS related errors. The user should examine the
ABAQUS related .dat and .msg files for errors.
NASTRAN_LOG_ERROR
This error message indicates that there is an error attempting to run NASTRAN. This can be due
to a lack of NASTRAN licenses or other NASTRAN related errors. The user should examine
the NASTRAN related .log file for errors.
BAD_”…”_STRING
A collection of error messages exist for the command line and Python script interface. If the data
is incorrect, a BAD_”type”_STRING message is printed. The user should examine session logs
and consult the Commands & Python reference to determine the correct data and format.
160
During crack insertion, a user might encounter a number of errors. Typically these will be
related to geometric intersection issues as the crack geometry is inserted and connected to the
model geometry, or meshing issues after the geometric intersection. Surface and volume
meshing errors might be encountered. In some cases, a user can by-pass the error with small
changes to settings. However, if needed a user can send us the “debug.tst” file that is written at
the beginning of the crack insertion process; from this file, we can determine the problem and
find a solution.
FLAW_INSERT_ERR
This is a generic error message for any errors not explicitly captured with error messages
described below. Check the FRANC3D CMD window for any additional messages. Send us the
debug.tst file if possible.
FLAW_IN_RETAINED_ERR
This error message indicates that the user is attempting to insert (or grow) a crack into a surface
where mesh facets have been retained. The auto-cut-surface mesh facets are retained by default
when using a local+global model. Surfaces with boundary conditions and named node-sets or
surfaces can be retained also. Retaining surface mesh facets aids in merging the local-cracked
model with the global and aids in transferring boundary conditions.
From Section 4.5.1: Note that cracks cannot be inserted into or propagated into a surface mesh
that has been retained. If a surface has boundary conditions and a crack must be inserted into this
surface, do not retain the mesh facets on this surface.
INVALID_FLAW_ERR
This error is a generic error for cases of invalid flaw/crack data that is not handled by more
specific error messages below.
PARAM_MISSMATCH
This error message indicates a mismatch between provided and expected flaw/crack parameters.
For example, an elliptical flaw requires the dimension for major and minor axes; if only one
dimension is provided that would cause an error. This type of error is most likely to occur if a
user has created their own command or Python script.
BAD_FLAW_TYPE
This error message indicates that the specified flaw/crack type is not supported. For example,
Section 2.1.21 of the Commands reference lists the type of cracks. This type of error is most
likely to occur if a user has created their own command or Python script.
BAD_ROTATION_DATA
161
This error message indicates that the specified flaw/crack rotation data is invalid. The rotation is
defined using three axes numbered 1, 2 and 3 with rotation magnitudes about each axis. This
type of error is most likely to occur if a user has created their own command or Python script.
SURF_MESH_ERR
Surface meshing errors can arise for a number of reasons. One possible error occurs due to a
“dangling” geometry edge on a surface. FRANC3D rebuilds geometry from the volume mesh as
described in Appendix A. Depending on the surface, bounding edges might not be complete,
which might lead to surface mesh errors. A user can try changing the kink angle setting, using
the dialog described in Section 12.1 Edges Wizard, to eliminate dangling edges.
Another possible source of error is at the crack and model surface intersection. Changing the
template radius or turning on Simple Intersections, as described in Section 6.1.14 Crack Front
Mesh Template Panel, might solve the problem.
Send us the debug.tst file if needed and we can provide help with this error.
VOL_MESH_ERR
This error message is a generic volume meshing error for cases not specifically handled below.
Send us the debug.tst file and we can provide help with this error.
MAX_ELEMS_ERR
There is a setting for the maximum number of volume elements (see Section 6.1.14.1 Meshing
Parameters Dialog). When using the FRANC3D volume meshing option, if this number is
exceeded, the program stops and displays this message. A user can increase the maximum value
or try switching to ANSYS or ABAQUS volume meshing. Another option is to increase the
template radius, but this is not always possible.
MAX_RESTART_ERR
There is a setting for the maximum number of volume meshing restarts (see Section 6.1.14.1
Meshing Parameters Dialog). When using the FRANC3D volume meshing option, if the
meshing gets stuck, it restarts with a different starting point. In most cases, if the program
exceeds the default 4 restarts, then FRANC3D will likely not be able to mesh the volume.
In this case, ANSYS or ABAQUS volume meshing can be attempted. Another option is to
change the template radius or turn on simple intersections. In some cases, it is regions away
from the crack that cause issues, Figure 15.1.
162
Figure 15.1. Volume meshing errors.
PYRAMID_ERR
This error message occurs when pyramid elements cannot be added to the volume. Pyramid
elements are created in FRANC3D where quadrilateral mesh facets exist; this includes the crack
front template as well as cut-surfaces as shown in Figure 15.1. If there is not sufficient room to
add a pyramid, the program will stop meshing. Possible solutions will depend on where the
problem mesh is located.
For cases similar to that shown in Figure 15.1, the user can change the local volume or not retain
the mesh facet.
For cases where the problem is at the crack front template, reducing the template radius and/or
turning on Simple Intersections might help.
FRANC3D currently does not indicate where the problem is located, so if you need help with
this error, send us the debug.tst file.
VOID_MESH_ERR
This error message is a generic volume meshing error for finite volume voids (not cracks).
VOL_INSERT_ERR
This error message is a generic volume meshing error for situations where the user has chosen
ANSYS or ABAQUS volume meshing and the resulting volume mesh is empty or invalid. The
user can examine the ANSYS or ABAQUS specific files to look for error messages. FRANC3D
163
writes a surface mesh in .cdb or .inp format and then executes ANSYS or ABAQUS to read this
input and create a volume mesh. These programs sometimes fail. In these cases, changing the
crack front template radius or turning on Simple Intersections might help. If you need help with
this error, send us the debug.tst file; we cannot make ANSYS or ABAQUS volume meshing
work, but we can usually find the problem and provide solutions.
SIF_COMP_ERR
This is a generic error message when computing SIFs for cases not explicitly handled by errors
described below.
SIF_NO_MESH
This error message indicates that SIFs cannot be computed as there is no mesh data. It is not
likely one will encounter this error.
SIF_NO_DISP
This error message indicates that SIFs cannot be computed as there is no displacement data.
FRANC3D reads results from .dtp or .pch files (there are a few other optional files) and uses this
data to compute SIFs. Displacements are required for all crack front template nodes for all load
steps. See Section B.2 for additional information. A debug_sif.txt might be created that will list
the node that is missing data.
SIF_NO_TEMPLATE
This error message indicates that SIFs cannot be computed as there is no crack front template
mesh. The M-integral requires a template mesh. Displacement correlation can be used to
compute SIFs if a template mesh is not present.
SIF_WRONG_CIRC
164
This error message indicates that SIFs cannot be computed as there is an incorrect number of
elements around the crack front in the template mesh. The M-integral requires a template mesh
with an even number of elements around the front. Displacement correlation can be used to
compute SIFs in this case.
SIF_NO_MAT
This error message indicates that SIFs cannot be computed as there is no material data. Material
data comes from the original input FE model.
SIF_NO_TEMP
This error message indicates that SIFs cannot be computed as there is no temperature data. If
thermal terms are turned on for the M-integral computation, nodal temperatures must exist for all
template nodes for all load steps.
PROP_COMP_ERR
This is a generic error message when growing the crack for cases not explicitly handled by errors
described below.
PROP_READ_ERR
This is a generic error message when reading the crack growth from a file.
NO_CRACK_GROWTH
This is a generic error message when growing the crack if there is no crack growth.
UNSTABLE_GROWTH
This error message indicates that the compute SIFs exceed the user-specified critical toughness.
Crack growth is not performed in this case. The user can modify the critical value if growth is
desired.
USER_MODEL_ERR
This error message is displayed if the user is working with the Python extensions and an error
occurs. Currently, it is up to the user to determine the cause of this error.
EXT_NEED_DATA
This is a generic message indicating that some data required for crack extension has not been
provided.
EXT_NEED_RES_TEMPS
165
This message indicates that temperatures are needed for crack extension.
EXT_NEED_SCH_TEMPS
This message indicates that the load schedule requires a temperature setting.
EXT_NEED_YIELD_STRESS
This message indicates that the crack growth model requires a value for yield stress.
USER_EXT_ERR
This error message is displayed if the user is working with the Python extensions and an error
occurs. Currently, it is up to the user to determine the cause of this error.
NO_SIF_DATA
This error message is displayed if the user is attempting to export SIF data to a file when there is
no SIF data. This error is most likely to occur from a command or Python file.
NO_COD_DATA
This error message is displayed if the user is attempting to export COD (crack opening
displacement) data to a file when there is no COD data. This error is most likely to occur from a
command or Python file.
NO_SIFPATH_DATA
This error message is displayed if the user is attempting to export SIF path data to a file when
there is no SIF path data. This error is most likely to occur from a command or Python file.
NO_LIFE_DATA
This error message is displayed if the user is attempting to export fatigue life data to a file when
there is no fatigue life data. This error is most likely to occur from a command or Python file.
166
15.5.1 Input FE File
Errors in the input file might occur if data is not yet supported/handled by FRANC3D. The FE
analysis code will create error and/or log files that can be opened by the user to help find the
error. ANSYS creates .err and .log files. ABAQUS creates .dat and .msg files. NASTRAN
creates .log and .out files. FRANC3D looks for these files and searches for error messages
inside the files. If errors are listed, FRANC3D should display a warning message. The user
should examine the files to determine the cause of the error.
FRANC3D generates a command to execute the FE analysis code in the background (and saves
the command to a .txt file for cases where the user might need to run the command manually).
The command line is created from user-specified entries – most of which are in the Preferences
tabs.
FRANC3D allows the user to specify the executable file for the FE analysis code. Typically this
is done once in the Preferences. For ANSYS, the license string should be specified also as this is
required for the Command Line. If FRANC3D cannot execute the analysis code, you should
check the location (folder/path) and verify that you have a valid license available.
167
16. Crack Face Contact
This chapter describes the use of crack face contact (CFC) to prevent crack surface overlap, for a
model (crack) under compression. Without CFC included, the user should expect negative Mode
I SIFs; with CFC, the user should expect zero (or very near zero) Mode I SIFs. The analyses
below show that FRANC3D computes near-zero SIFs for all three SIF computation methods:
M-integral, displacement correlation (DC), and virtual crack closure (VCCT); the only exception
is for ABAQUS tied-contact.
We also note that NASTRAN contact pressure is not part of the results in the .pch file, so DC
should be used for NASTRAN analyses.
Figure 16.1. ANSYS thick plate with simple supports and uniform compression.
168
The model can be split into local + global portions (Figure 16.2), similar to those in the
Benchmark document. A center-through crack is inserted into the local portion, Figure 16.3.
The crack is 2 units wide and extends through the plate thickness; the plate dimensions are
30x30x15.
The crack is inserted and meshed using the default template settings, Figure 16.4. The meshing
parameters are modified to produce a more refined mesh (Figure 16.5); Do Coarsen Crack
169
Mouth Mesh is turned off. The resulting surface mesh around the crack on the plate surface is
shown in Figure 16.6.
Figure 16.5. Meshing parameters dialog with “Do Coarsen Crack Mouth Mesh” un-checked.
170
Figure 16.6. Surface mesh for default template parameters.
We first run an analysis without turning on CFC. Negative Mode I SIFs are computed as shown
in Figure 16.7a. The two crack fronts produce the same SIFs so we only show the first front.
The SIFs are equal, but with opposite sign, to those for uniform tension (see Section 6.1 of the
Benchmark document). The VCCT SIFs differ by less than 1% and the DC SIFs differ by about
1.1% (Figure 16.7b).
The negative sign indicates that the crack surfaces are overlapping; as this is not physically
realistic, CFC can be turned on to prevent it.
Figure 16.7a. Mode I SIFs for uniform compression without CFC using M-integral.
171
-1.7
Normalized Crack Front Length
0 0.2 0.4 0.6 0.8 1
-1.75
-1.8
Mode I SIF
-1.85
M-integral
DC
-1.9 VCCT
M +1%
M -1%
-1.95
-2
FRANC3D has a checkbox in the analysis dialog that allows one to define CFC, Figure 16.8.
The Contact button invokes the dialog shown in Figure 16.9. The dialog provides many of the
ANSYS contact settings; the default values should correspond to ANSYS defaults. Note that the
material ID (811) should be changed if it is already used in the uncracked model.
172
Figure 16.9. ANSYS CFC parameters dialog.
Once the ANSYS analysis is finished, SIFs can be computed; note that the analysis time
increases significantly compared to the non-CFC analysis. The M-integral includes a term for
crack face traction (contact pressure in this case). ANSYS exports the contact pressure, along
with displacements and temperatures, to the .dtp file (which FRANC3D reads). Figure 16.10
shows the FRANC3D Compute SIFs dialog with the Include Contact Crack Pressure option
checked – this should be checked automatically if there are contact pressures in the .dtp file.
Figure 16.11a shows the resulting Mode I SIFs. Note that the values are not exactly 0.0.
Figure 16.10. Compute SIFs dialog using M-Integral with contact pressure included.
173
Figure 16.11a. Mode I SIFs for uniform compression with default CFC settings using M-
integral.
The ANSYS solution is completed using seven substeps (the number of substeps can be modified
by the user). The SIFs for all substeps are shown in Figure 16.11b (there is a FRANC3D setting
that requests output for all substeps). It is possible that forcing additional ANSYS substeps
could improve the SIFs – at the cost of additional computation time.
Figure 16.11b. Mode I SIFs with default CFC settings using M-integral for all solution substeps.
FRANC3D has three options for computing SIFs, and in general the M-integral is the most
accurate, while displacement correlation (DC) is the least accurate. Figure 16.12 shows the SIFs
computed using the DC method; these SIFs are very close to the M-integral SIFs (for the last
substep).
174
Figure 16.12. Mode I SIFs for uniform compression with default CFC settings using DC.
The virtual crack closure (VCCT) Mode I SIFs are shown in Figure 16.13. As with the M-
integral, the VCCT method includes a term for crack face traction. The VCCT SIFs are similar
to M-integral and DC SIFs, although they are a little further from zero.
Figure 16.13. Mode I SIFs for uniform compression with default CFC settings using VCCT.
Figure 16.14 shows the ANSYS contact pressure contours on the crack surface. Most nodes on
the crack surface have a contact pressure near 1.0, which is equal to the applied compressive
load. Along the contact element boundary, adjacent to the crack front, the pressure reaches a
peak near 2.0. The listing shown in Figure 16.15 gives typical values for the whole crack
surface, and the peak values are highlighted.
The contact surface does not include the crack front nodes, therefore the contact elements do not
extend to the front. Defining mating contact elements with shared nodes (at crack front) and
175
with quarter-point rather than mid-side nodes can cause errors when solving so we do not include
them by default.
Figure 16.16 shows a small set of crack front and near-front nodes and a couple of the contact
elements to highlight the location of the peak pressures. Nodes 75140 and 437860 both have
pressure values of 2.2084. Midside nodes, such as 362709 and 282555 do not have results as
ANSYS only provides contact results for corner nodes. Nodes such as 470545, 107280 and
439441 have pressures of about 0.96. The crack front nodes (such as 287836) are not included in
the contact and thus they do not have contact data listed.
176
Figure 16.15. ANSYS contact data listing.
Figure 16.16. ANSYS crack front and adjacent nodes and contact elements.
177
16.1.3 Modified Crack Face Contact (CFC) Settings
FRANC3D provides a number of options/parameters for the CFC. In this section, we will try
changing some of these settings to see how the SIFs are affected. First, we change the settings to
include the crack front nodes in the contact elements (last option in the dialog in Figure 16.9).
The resulting SIFs are shown in Figures 16.17-19 and are comparable to the SIFs in Figures
16.11-13.
Figure 16.17. Mode I SIFs with crack front nodes included in CFC using M-integral.
Figure 16.18. Mode I SIFs with crack front nodes included in CFC using DC.
178
Figure 16.19. Mode I SIFs with crack front nodes included in CFC using VCCT.
The next change is to switch the contact behavior to “bonded” and the Mode I SIFs are shown in
Figures 16.20-22. ANSYS provides a number of options that we could try, but for this model it
is unlikely that we will improve much on the results.
Figure 16.20. Mode I SIFs with crack front nodes included in bonded-CFC using M-integral.
179
Figure 16.21. Mode I SIFs with crack front nodes included in bonded-CFC using DC.
Figure 16.22. Mode I SIFs with crack front nodes included in bonded-CFC using VCCT.
In this section, we show how one can modify the default crack front template mesh to achieve
slightly better SIF results at the expense of significantly more computation time. The revised
template parameters are shown in Figure 16.23, while the meshing parameters are the same as
above (see Figure 16.5). The default ANSYS CFC settings are used. The resulting SIFs are
shown in Figures 16.24-26. These values can be compared to those in Figures 16.11-13. The
difference in SIFs is relatively small, while the analysis time increases significantly.
180
Figure 16.23. Center-through crack with edited template mesh parameters.
Figure 16.24. Mode I SIFs with modified template and default CFC using M-integral.
181
Figure 16.25. Mode I SIFs with modified template and default CFC using DC.
Figure 16.26. Mode I SIFs with modified template and default CFC using VCCT.
The first analysis is completed without turning on CFC, and the Mode I SIFs are computed as
shown in Figures 16.27-29. The M-integral SIFs can be compared with the ANSYS SIFs in
Figure 16.7; the difference is mostly less than 1%, Figure 16.30.
182
Figure 16.27. ABAQUS Mode I SIFs for uniform compression without CFC using M-integral.
Figure 16.28. ABAQUS Mode I SIFs for uniform compression without CFC using DC.
Figure 16.29. ABAQUS Mode I SIFs for uniform compression without CFC using VCCT.
183
Normalized Crack Front Length
-1.7
0 0.2 0.4 0.6 0.8 1
-1.75
-1.8
Mode I SIF
-1.85
ANSYS M-integral
-1.9 ABAQUS M-integral
ANSYS +1%
-1.95
-2
Figure 16.30. ABAQUS and ANSYS Mode I SIFs for uniform compression without CFC.
The ABAQUS contact dialog is shown in Figure 16.31. The default settings are used here – the
user must supply a (unique) Surface interaction name. The resulting Mode I SIFs are shown in
Figures 16.32-34; these results can be compared with the ANSYS results in Figures 16.11-13.
The DC SIFs are very similar to those for ANSYS. The M-integral SIFs are quite different –
positive rather than negative; the contact pressure adjacent to the crack front is about 2.9
compared to 2.1 for ANSYS.
184
Figure 16.32. ABAQUS Mode I SIFs for uniform compression with default CFC settings using
M-integral.
Figure 16.33. ABAQUS Mode I SIFs for uniform compression with default CFC settings using
DC.
185
Figure 16.34. ABAQUS Mode I SIFs for uniform compression with default CFC settings using
VCCT.
Interestingly, a coarser mesh on the crack surface produces M-integral SIFs that are closer to
zero. If we do not turn off the Crack Mouth Coarsening (see Figure 16.5), the SIFs are computed
as shown in Figure 16.35.
Figure 16.35. ABAQUS Mode I SIFs for uniform compression with a coarser mesh on the crack
surface and default CFC settings using M-integral.
Using the same meshing parameters as shown in Figure 16.5, but with template parameters
shown in Figure 16.36, the next analysis uses default CFC settings. The resulting SIFs are
186
shown if Figures 16.37-39; these values can be compared to the ANSYS results in Figures 16.24-
26, and to the prior ABAQUS results for the default template.
Figure 16.36. Center-through crack in ABAQUS plate with edited template mesh parameters.
Figure 16.37. Mode I SIFs with modified template and default CFC using M-integral.
187
Figure 16.38. Mode I SIFs with modified template and default CFC using DC.
Figure 16.39. Mode I SIFs with modified template and default CFC using VCCT.
For ANSYS, we tried “bonded” contact, which produced SIFs that are similar to standard
contact. ABAQUS allows one to use ‘tied’ contact (see Figure 16.31). For this condition,
ABAQUS ties the crack surfaces together such that the relative crack surface displacements are
zero (Figure 16.40). However, there are positive pressures on the crack surface, with peak
values of about 4.9. The combination of these crack face pressures and the stress and strain in
the elements around the crack front lead to non-zero SIFs when using the M-integral (Figure
16.41). DC and VCCT SIFs are zero (Figures 16.42-43), as these are based on the zero-
displacements.
188
Figure 16.40. Crack opening displacement with tied CFC.
Figure 16.41. Mode I SIFs with default template and tied CFC using M-integral.
Figure 16.42. Mode I SIFs with default template and tied CFC using DC.
189
Figure 16.43. Mode I SIFs with default template and tied CFC using VCCT.
190