0% found this document useful (0 votes)
20 views772 pages

Sherlock Users Guide

The Sherlock User's Guide provides comprehensive instructions for using the ANSYS Sherlock software, including setup, configuration, and various tutorials for project creation and management. It covers licensing, memory management, settings, and detailed guidance on analyzing and reporting results. The document also includes legal information, third-party software details, and API services for advanced users.

Uploaded by

akshay.k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views772 pages

Sherlock Users Guide

The Sherlock User's Guide provides comprehensive instructions for using the ANSYS Sherlock software, including setup, configuration, and various tutorials for project creation and management. It covers licensing, memory management, settings, and detailed guidance on analyzing and reporting results. The document also includes legal information, third-party software details, and API services for advanced users.

Uploaded by

akshay.k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Sherlock User's Guide

ANSYS, Inc. Release 2021 R1


Southpointe January 2021
2600 ANSYS Drive
Canonsburg, PA 15317 ANSYS, Inc. and
ansysinfo@[Link] ANSYS Europe,
Ltd. are UL
[Link] registered ISO
(T) 724-746-3304 9001: 2015
(F) 724-514-9494 companies.
Copyright and Trademark Information

© 2021 ANSYS, Inc. Unauthorized use, distribution or duplication is prohibited.

ANSYS, ANSYS Workbench, AUTODYN, CFX, FLUENT and any and all ANSYS, Inc. brand, product, service and feature
names, logos and slogans are registered trademarks or trademarks of ANSYS, Inc. or its subsidiaries located in the
United States or other countries. ICEM CFD is a trademark used by ANSYS, Inc. under license. CFX is a trademark
of Sony Corporation in Japan. All other brand, product, service and feature names or trademarks are the property
of their respective owners. FLEXlm and FLEXnet are trademarks of Flexera Software LLC.

Disclaimer Notice

THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE SECRETS AND ARE CONFID-
ENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS SUBSIDIARIES, OR LICENSORS. The software products
and documentation are furnished by ANSYS, Inc., its subsidiaries, or affiliates under a software license agreement
that contains provisions concerning non-disclosure, copying, length and nature of use, compliance with exporting
laws, warranties, disclaimers, limitations of liability, and remedies, and other provisions. The software products
and documentation may be used, disclosed, transferred, or copied only in accordance with the terms and conditions
of that software license agreement.

ANSYS, Inc. and ANSYS Europe, Ltd. are UL registered ISO 9001: 2015 companies.

U.S. Government Rights

For U.S. Government users, except as specifically granted by the ANSYS, Inc. software license agreement, the use,
duplication, or disclosure by the United States Government is subject to restrictions stated in the ANSYS, Inc.
software license agreement and FAR 12.212 (for non-DOD licenses).

Third-Party Software

See the legal information in the product help files for the complete Legal Notice for ANSYS proprietary software
and third-party software. If you are unable to access the Legal Notice, contact ANSYS, Inc.

Published in the U.S.A.


Table of Contents
1. Getting Started ....................................................................................................................................... 1
Start-Up and Configuration ..................................................................................................................... 1
Sherlock Licensing ............................................................................................................................ 1
Standard Folder Locations ................................................................................................................ 2
Initial Testing and Configuration ....................................................................................................... 2
Sherlock Client Console .............................................................................................................. 2
Memory Management ...................................................................................................................... 2
Sherlock Settings Dialog ......................................................................................................................... 3
Advanced Settings ........................................................................................................................... 3
Color Settings ................................................................................................................................... 5
Data Store Settings ........................................................................................................................... 5
Debug Settings ................................................................................................................................ 6
FEA Analysis Settings ........................................................................................................................ 6
Launcher Settings ............................................................................................................................. 6
License Settings ............................................................................................................................... 7
Meshing Settings .............................................................................................................................. 7
Part Library Settings ......................................................................................................................... 7
Report Settings ................................................................................................................................ 7
Score Settings .................................................................................................................................. 8
3D Viewer and Memory Management ..................................................................................................... 8
Results Viewer and Memory Management .............................................................................................. 9
2. Tutorial: Project Overview ..................................................................................................................... 11
Main Window ....................................................................................................................................... 11
Importing a Project ............................................................................................................................... 12
Project Life Cycle .................................................................................................................................. 13
Circuit Card Information ........................................................................................................................ 15
Layer Viewer ................................................................................................................................... 16
Input Data ...................................................................................................................................... 18
Analysis ................................................................................................................................................ 20
Results ................................................................................................................................................. 22
Score Card ...................................................................................................................................... 22
Life Prediction Chart ....................................................................................................................... 23
Project Report ................................................................................................................................ 23
Saving Results ................................................................................................................................ 25
Closing a Project ................................................................................................................................... 26
3. Tutorial: ODB++ Project Creation .......................................................................................................... 27
Importing an ODB++ Archive ................................................................................................................ 27
Project Name and Properties ................................................................................................................. 32
4. Tutorial: Reviewing Part Properties ...................................................................................................... 33
Sherlock Part Properties ........................................................................................................................ 34
Managing Part Properties ..................................................................................................................... 48
Filtering and Selecting Parts .................................................................................................................. 49
Changing Part Properties ...................................................................................................................... 49
Part Source Priority ............................................................................................................................... 54
Changing Properties for Multiple Parts .................................................................................................. 54
Confirming Parts ................................................................................................................................... 57
Updating Component Layers ................................................................................................................ 57
5. Tutorial: Layer Viewer ............................................................................................................................ 59
Layer Viewer ......................................................................................................................................... 59

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. iii
Sherlock User's Guide

Layer Panning and Zooming ................................................................................................................. 61


Component Editor ................................................................................................................................ 62
Editing Part Orientation and Location ............................................................................................. 62
Overlapping Parts Warning ............................................................................................................. 63
One-Click Editing ............................................................................................................................ 63
Editing Part Properties .................................................................................................................... 64
Graphically Filtering and Selecting Parts .......................................................................................... 65
Camera Tool ......................................................................................................................................... 66
Distance Tool ........................................................................................................................................ 66
6. Tutorial: Ad Hoc Project Creation .......................................................................................................... 69
Project Creation .................................................................................................................................... 69
Circuit Card Creation ............................................................................................................................. 70
Adding CAD Files .................................................................................................................................. 71
Importing a Bill of Materials .................................................................................................................. 73
BGA Part Properties .............................................................................................................................. 74
Importing Pick & Place Data .................................................................................................................. 76
Importing Copper Layers ...................................................................................................................... 77
Insulated Metal Substrate Stackup .................................................................................................. 80
Reviewing the Board Outline ................................................................................................................ 80
Reviewing Component Layers ............................................................................................................... 82
Missing Components ...................................................................................................................... 82
Components in the Wrong Place ..................................................................................................... 83
Reviewing Drill Holes ............................................................................................................................ 84
7. Approved Vendor List (AVL) .................................................................................................................. 87
AVL Menu Options ................................................................................................................................ 87
Maintaining the AVL ............................................................................................................................. 87
Importing AVL Data ........................................................................................................................ 88
Importing Multiple Files .................................................................................................................. 90
Editing AVL Part Data ...................................................................................................................... 91
Deleting AVL Part Data .................................................................................................................... 91
Exporting AVL Part Data .................................................................................................................. 91
Using The AVL ....................................................................................................................................... 92
Searching the Part Library ............................................................................................................... 92
Updating the Parts List .................................................................................................................... 93
Matching Criteria ............................................................................................................................ 94
Duplication Handling ...................................................................................................................... 94
Part Property Updates .................................................................................................................... 94
Validating the Parts List ................................................................................................................... 95
8. API Services ........................................................................................................................................... 97
Setting Up Your Computer to Run Sherlock's APIs .................................................................................. 97
Becoming Acquainted with gRPC .................................................................................................... 97
Where to Find the Sherlock .proto Files ............................................................................................ 98
Connecting to the Sherlock gRPC Server ......................................................................................... 98
Installing and Setting Up BloomRPC (Optional) ................................................................................ 99
Index to the Sherlock APIs ................................................................................................................... 100
General Index to API Services ........................................................................................................ 101
Index to Sherlock Project Services APIs .......................................................................................... 102
Index to Sherlock Life Cycle Service APIs ........................................................................................ 102
Index to Sherlock Stackup Service APIs .......................................................................................... 104
Index to Sherlock Parts Service APIs .............................................................................................. 105
Index to Sherlock Analysis Service APIs .......................................................................................... 105

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
iv of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Index to Sherlock Common Service APIs ........................................................................................ 105


Sherlock Project Service- [Link] ........................................................................ 105
Generate CCA Report .................................................................................................................... 106
GenCCAReportRequest ........................................................................................................... 106
GenCCAReportResponse ........................................................................................................ 106
Example: Generate CCA Report ............................................................................................... 106
Import IPC2581 Request ............................................................................................................... 107
ImportIPC2581Request ........................................................................................................... 107
Import ODB Request ..................................................................................................................... 108
ImportODBRequest ................................................................................................................ 108
Request a Project Report ............................................................................................................... 109
GenReportRequest ................................................................................................................. 109
GenReportResponse ............................................................................................................... 109
Example: Generate Report ....................................................................................................... 109
Sherlock Life Cycle Service- [Link] ................................................................. 110
Add Harmonic Event ..................................................................................................................... 110
AddHarmonicEventRequest .................................................................................................... 110
AddHarmonicEventResponse .................................................................................................. 110
Examples: Add Harmonic Event ............................................................................................... 111
Add Harmonic Profile .................................................................................................................... 112
AddHarmonicProfileRequest ................................................................................................... 112
[Link] .......................................................................................... 112
AddHarmonicProfileResponse ................................................................................................. 112
Examples: Add Harmonic Profile .............................................................................................. 113
Add Random Profile ...................................................................................................................... 114
AddRandomProfileRequest ..................................................................................................... 114
[Link] ............................................................................................ 114
AddRandomProfileResponse ................................................................................................... 114
Examples: Add Random Profile ................................................................................................ 114
Add Random Vibe Event ............................................................................................................... 115
AddRandomVibeEventRequest ............................................................................................... 115
AddRandomVibeEventResponse ............................................................................................. 116
Examples: Add Random Vibe Event .......................................................................................... 116
Add Shock Event ........................................................................................................................... 117
AddShockEventRequest .......................................................................................................... 117
AddShockEventResponse ....................................................................................................... 117
AddShockProfileRequest ......................................................................................................... 118
Examples: Add Shock Event ..................................................................................................... 118
Add Shock Profile ......................................................................................................................... 119
[Link] ................................................................................................ 119
AddShockProfileResponse ...................................................................................................... 119
Examples: Add Shock Profile .................................................................................................... 119
Add Thermal Event ....................................................................................................................... 120
AddThermalEventRequest ...................................................................................................... 120
AddThermalEventResponse .................................................................................................... 121
Examples: Add Thermal Event .................................................................................................. 121
Add Thermal Profile ...................................................................................................................... 122
AddThermalProfileRequest ..................................................................................................... 122
[Link] ............................................................................................ 122
AddThermalProfileResponse ................................................................................................... 122
Examples: Add Thermal Profile ................................................................................................ 123

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. v
Sherlock User's Guide

Create Life Phase .......................................................................................................................... 124


CreateLifePhaseRequest .......................................................................................................... 124
CreateLifePhaseResponse ....................................................................................................... 124
Examples: Create Life Phase ..................................................................................................... 124
List Amplitude Units ..................................................................................................................... 125
ListAmplUnitsRequest ............................................................................................................ 125
ListAmplUnitsResponse .......................................................................................................... 125
Examples: List Amplitude Units ............................................................................................... 125
List Duration Units ........................................................................................................................ 126
ListDurationUnitsRequest ....................................................................................................... 126
ListDurationUnitsResponse ..................................................................................................... 126
Examples: List Duration Units .................................................................................................. 126
List Frequency Units ..................................................................................................................... 126
ListFreqUnitsRequest .............................................................................................................. 126
ListFreqUnitsResponse ............................................................................................................ 126
Examples: List Frequency Units ................................................................................................ 127
List Harmonic Profile Types ........................................................................................................... 127
ListHarmonicProfileTypesRequest ........................................................................................... 127
ListHarmonicProfileTypesResponse ......................................................................................... 127
Examples: List Harmonic Profile Types ...................................................................................... 127
List Life Cyle Events ....................................................................................................................... 128
ListLCEventsRequest ............................................................................................................... 128
ListLCEventsResponse ............................................................................................................. 128
[Link] ..................................................................................... 128
[Link] ............................................................... 128
Examples: List Life Cycle Events ............................................................................................... 129
List Life Cycle States ...................................................................................................................... 129
ListLCStatesRequest ................................................................................................................ 129
ListLCStatesResponse ............................................................................................................. 129
Examples: List Cycle States ...................................................................................................... 129
List Life Cycle Types ....................................................................................................................... 130
ListLCTypesRequest ................................................................................................................ 130
ListLCTypesResponse .............................................................................................................. 130
Examples: List Life Cycle Types ................................................................................................. 130
List Random Profile Types ............................................................................................................. 131
ListRandomProfileTypesRequest ............................................................................................. 131
ListRandomProfileTypesResponse ........................................................................................... 131
Examples: List Random Profile Types ........................................................................................ 131
List Shock Load Units .................................................................................................................... 131
ListShockLoadUnitsRequest .................................................................................................... 131
ListShockLoadUnitsResponse .................................................................................................. 131
Examples: List Shock Load Units .............................................................................................. 132
List Shock Pulses ........................................................................................................................... 132
ListShockPulsesRequest .......................................................................................................... 132
ListShockPulsesResponse ........................................................................................................ 132
Examples: List Shock Pulses ..................................................................................................... 132
List Temperature Units .................................................................................................................. 133
ListTempUnitsRequest ............................................................................................................ 133
ListTempUnitsResponse .......................................................................................................... 133
Examples: List Temp Units ....................................................................................................... 133
Load Harmonic Profile ................................................................................................................... 134

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
vi of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

LoadHarmonicProfileRequest .................................................................................................. 134


[Link] .................................................................................. 134
LoadHarmonicProfileResponse ............................................................................................... 134
Examples: Load Harmonic Profile ............................................................................................. 135
Load Random Profile ..................................................................................................................... 136
LoadRandomProfileRequest .................................................................................................... 136
[Link] .................................................................................... 136
LoadRandomProfileResponse ................................................................................................. 136
Examples: Load Random Profile ............................................................................................... 137
Load Shock Profile Dataset ............................................................................................................ 138
LoadShockProfileDatasetRequest ............................................................................................ 138
[Link] ............................................................................ 138
LoadShockProfileDatasetResponse ......................................................................................... 138
Examples: Load Shock Profile Dataset ...................................................................................... 139
Load Shock Profile Pulses .............................................................................................................. 140
LoadShockProfilePulsesRequest .............................................................................................. 140
[Link] ............................................................................... 140
LoadShockProfilePulsesResponse ............................................................................................ 141
Examples: Load Shock Profile Pulses ........................................................................................ 141
Load Thermal Profile ..................................................................................................................... 142
LoadThermalProfileRequest .................................................................................................... 142
[Link] ..................................................................................... 142
LoadThermalProfileResponse .................................................................................................. 143
Examples: Load Thermal Profile ............................................................................................... 143
Sherlock Stackup Service- [Link] ..................................................................... 144
List Conductor Materials ............................................................................................................... 144
ListConductorMaterialsRequest .............................................................................................. 144
ListConductorMaterialsResponse ............................................................................................ 144
Examples: List Conductor Materials ......................................................................................... 145
List Construction Styles ................................................................................................................. 145
ListConstructionStylesRequest ................................................................................................ 145
ListConstructionStylesResponse .............................................................................................. 145
Examples: List Construction Styles ........................................................................................... 145
List Fiber Materials ........................................................................................................................ 146
ListFiberMaterialsRequest ....................................................................................................... 146
ListFiberMaterialsResponse ..................................................................................................... 146
Examples: List Fiber Materials .................................................................................................. 146
List Laminate Materials Manufacturers .......................................................................................... 146
ListLaminateMaterialsManufacturersRequest .......................................................................... 146
ListLaminateMaterialsManufacturersResponse ........................................................................ 147
Examples: List Laminate Materials Manufacturers ..................................................................... 147
List Laminate Materials ................................................................................................................. 147
ListLaminateMaterialsRequest ................................................................................................. 147
ListLaminateMaterialsResponse .............................................................................................. 147
[Link] ........................................................... 148
[Link] ................................... 148
Examples: List Laminate Materials ............................................................................................ 148
List Laminate Thickness Units ........................................................................................................ 149
ListLaminateThicknessUnitsRequest ........................................................................................ 149
ListLaminateThicknessUnitsResponse ..................................................................................... 149
Examples: List Laminate Thickness Units .................................................................................. 149

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. vii
Sherlock User's Guide

List Laminates ............................................................................................................................... 149


ListLaminatesRequest ............................................................................................................. 149
ListLaminatesResponse ........................................................................................................... 150
[Link] .............................................................................. 150
[Link] ........................................................ 150
[Link] ............................ 151
Examples: List Laminates ......................................................................................................... 151
Update Laminate .......................................................................................................................... 151
UpdateLaminateRequest ........................................................................................................ 151
[Link] ............................................................................ 152
Sherlock Parts Service- [Link] .............................................................................. 153
List Parts Libraries ......................................................................................................................... 154
ListPartsLibrariesRequest ........................................................................................................ 154
ListPartsLibrariesResponse ...................................................................................................... 154
Examples: List Parts Libraries ................................................................................................... 154
List Parts Not Updated .................................................................................................................. 154
ListPartsNotUpdatedRequest .................................................................................................. 154
ListPartsNotUpdatedResponse ................................................................................................ 155
[Link] ......................................................................................... 155
[Link] .................................................................................. 155
Examples: List Parts Not Updated ............................................................................................ 155
Update Parts List ........................................................................................................................... 156
UpdatePartsListRequest .......................................................................................................... 156
[Link] .............................................................................. 156
[Link] .................................................................................. 156
UpdatePartsListResponse ....................................................................................................... 157
Examples: Update Parts List ..................................................................................................... 157
Sherlock Analysis Service- [Link] ..................................................................... 157
Run Analysis ................................................................................................................................. 158
RunAnalysisRequest ................................................................................................................ 158
[Link] .................................................................................................. 158
[Link] ......................................................................................... 158
[Link] ............................................................................... 158
[Link] .............................................................................. 159
Example: Run Part Validation and Mechanical Shock Analysis ................................................... 159
Sherlock Common Service- [Link] ................................................................. 160
Exit Request .................................................................................................................................. 161
ExitRequest ............................................................................................................................ 161
Examples: Exit ......................................................................................................................... 161
Health Check ................................................................................................................................ 161
HealthCheckRequest .............................................................................................................. 161
HealthCheckResponse ............................................................................................................ 161
[Link] ...................................................................................... 161
Examples: Health Check .......................................................................................................... 162
Return Code ................................................................................................................................. 162
ReturnCode ............................................................................................................................ 162
gRPC Scalar Value Types ...................................................................................................................... 162
9. Conductive Anodic Filament (CAF) Failure Analysis ........................................................................... 165
Input Data and Analysis Properties ...................................................................................................... 165
Input Data .................................................................................................................................... 165
Analysis Properties ........................................................................................................................ 165

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
viii of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Analysis Results .................................................................................................................................. 167


10. Circuit Card Assembly Files ............................................................................................................... 169
Adding Files ........................................................................................................................................ 169
File Format Specifications ................................................................................................................... 169
Net List Import (CSV/XLS) ............................................................................................................. 170
11. Component Failure Analysis ............................................................................................................. 171
Input Data .......................................................................................................................................... 171
Required Vendor Inputs ................................................................................................................ 172
Analysis Properties and Analsysis Results ............................................................................................. 173
Analysis Properties ........................................................................................................................ 173
Analysis Results ............................................................................................................................ 173
12. Design Failure Mode and Effects Analysis (DFMEA) ......................................................................... 175
Managing DFMEA Data ....................................................................................................................... 176
Updating DFMEA Data from Parts List ........................................................................................... 176
Manually Organizing DFMEA Data ................................................................................................. 178
Manually Adding Part Data ........................................................................................................... 179
Adding Default Part Failures .......................................................................................................... 180
Adding Default Pin Open Failures .................................................................................................. 181
Adding Default Pin Short Failures .................................................................................................. 182
Manually Adding Failure Modes .................................................................................................... 183
Editing / Removing DFMEA Data ................................................................................................... 184
Customizing DFMEA Data ................................................................................................................... 184
Custom DFMEA Properties ............................................................................................................ 185
Custom Default Failure Modes ...................................................................................................... 187
Default Part Failures ...................................................................................................................... 188
Default Pin Open Failures .............................................................................................................. 188
Default Pin Short Failures .............................................................................................................. 189
Exporting DFMEA Data ....................................................................................................................... 190
Template Files ............................................................................................................................... 190
Exporting DFMEA Data ................................................................................................................. 190
Template Variables ........................................................................................................................ 192
Templates Lists ............................................................................................................................. 194
Nested Templates Lists .................................................................................................................. 196
Page Headers ............................................................................................................................... 197
Importing DFMEA Data ....................................................................................................................... 198
Re-Importing a DFMEA Spreadsheet ............................................................................................. 198
Importing Custom DFMEA Properties ............................................................................................ 201
Importing Pre-Existing Spreadsheets ............................................................................................. 203
Import Errors ................................................................................................................................ 203
DFMEA Results ................................................................................................................................... 204
Generating DFMEA Results ............................................................................................................ 204
DFMEA Results ............................................................................................................................. 205
DFMEA Layers ............................................................................................................................... 207
Net List ............................................................................................................................................... 207
13. FEA-01 Finite Element Analysis Overview ........................................................................................ 209
FEA Integration ................................................................................................................................... 210
FEA Engine ......................................................................................................................................... 210
Selecting the FEA Engine .............................................................................................................. 210
FEA Analysis Settings .................................................................................................................... 211
Engine Properties ................................................................................................................... 212
Analysis Properites .................................................................................................................. 213

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. ix
Sherlock User's Guide

Analysis Color Settings ............................................................................................................ 213


Strain Color Settings ............................................................................................................... 214
Strain Map Import ......................................................................................................................... 214
Mesh Settings ............................................................................................................................... 219
FEA Data Sources ................................................................................................................................ 220
Generated Data Source ................................................................................................................. 220
Imported Data Source ................................................................................................................... 220
FEA Models ........................................................................................................................................ 220
Bonded Model .............................................................................................................................. 221
FEA Modeling Properties ............................................................................................................... 221
Generate 3D Model ....................................................................................................................... 223
Export FEA Model ......................................................................................................................... 224
Run FEA Analysis ........................................................................................................................... 227
FEA Processing ................................................................................................................................... 228
FEA Results ......................................................................................................................................... 229
Summary Panel ............................................................................................................................ 229
Tabular Results ............................................................................................................................. 231
Graphical Result Layers ................................................................................................................. 232
3D Results File .............................................................................................................................. 234
Log Files ....................................................................................................................................... 235
14. FEA-02a PCB Modeling ...................................................................................................................... 237
PCB Models ........................................................................................................................................ 237
Uniform Model ............................................................................................................................. 238
Layered Model .............................................................................................................................. 238
Uniform Elements Model .............................................................................................................. 239
Layered Elements Model ............................................................................................................... 239
PCB Modeling Properties .................................................................................................................... 240
PCB Material Management ............................................................................................................ 241
PCB Model Tradeoffs ........................................................................................................................... 242
15. FEA-02b Mount Points and Fixtures .................................................................................................. 243
Mount Point & Fixture Types ................................................................................................................ 244
Mount Point Management .................................................................................................................. 245
Viewing Mount Points ................................................................................................................... 245
Adding Mount Points .................................................................................................................... 246
Modifying Mount Points ............................................................................................................... 246
Mount Point Properties ................................................................................................................. 248
Mount Point Multi-Edit .................................................................................................................. 249
Saving Mount Point Changes ........................................................................................................ 249
Mount Point Results ...................................................................................................................... 250
Fixture Management .......................................................................................................................... 250
Viewing Fixtures ........................................................................................................................... 250
Adding Fixtures ............................................................................................................................ 250
Modifying Fixtures ........................................................................................................................ 251
Using Mount Points as Fixtures ...................................................................................................... 251
Saving Fixture Changes ................................................................................................................. 251
16. FEA-02c Cutouts and Drill Holes ....................................................................................................... 253
Cutouts .............................................................................................................................................. 253
Cutout Viewing ............................................................................................................................. 253
Cutout Editing .............................................................................................................................. 254
Cutout Properties ......................................................................................................................... 255
Drill Holes ........................................................................................................................................... 256

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
x of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Drill Hole Files ............................................................................................................................... 256


Drill Hole Modeling ....................................................................................................................... 258
17. FEA-02d Trace Modeling ................................................................................................................... 259
Tutorial Project ................................................................................................................................... 259
Trace Model Generation ...................................................................................................................... 260
Advanced Trace Modeling Settings ...................................................................................................... 261
Trace Model Viewing ........................................................................................................................... 262
Trace Model and Sketch Export ........................................................................................................... 264
Trace Model Export ....................................................................................................................... 264
Trace Sketch Export ...................................................................................................................... 266
Trace Reinforcement Export ................................................................................................................ 266
Trace Model Resolution ....................................................................................................................... 269
Trace Model Analysis ........................................................................................................................... 270
18. FEA-02e Image File Layers ................................................................................................................ 273
Preparing Image Files .......................................................................................................................... 273
Adding Image File Layers .................................................................................................................... 274
Image File Alignment .......................................................................................................................... 275
Image Layer Stackup Data ................................................................................................................... 276
Image Layer Trace Model ..................................................................................................................... 277
19. FEA-02f PCB Modeling Regions ........................................................................................................ 279
Modeling Region Example .................................................................................................................. 280
Model 1 - Large Elements .............................................................................................................. 280
Model 2 - Small Elements .............................................................................................................. 281
Model 3 - Large and Small Elements .............................................................................................. 281
Modeling Region Editor ...................................................................................................................... 282
Modeling Region Properties .......................................................................................................... 283
PCB Modeling Properties .............................................................................................................. 285
Trace Modeling Properties ............................................................................................................ 285
Graphical Editing .......................................................................................................................... 286
Modeling Region Restrictions ....................................................................................................... 287
Using Modeling Regions ..................................................................................................................... 287
Common Examples ............................................................................................................................. 288
Simple Regions ............................................................................................................................. 288
Nested Regions ............................................................................................................................. 289
Regional Trace Modeling ............................................................................................................... 290
Excluded Regions ......................................................................................................................... 292
Hybrid Modeling ................................................................................................................................. 293
Bonded Uniform ........................................................................................................................... 294
Bonded Layered ........................................................................................................................... 295
Bonded Trace Layered ................................................................................................................... 296
Bonded Layered Elements ............................................................................................................. 296
Bonded Trace Elements ................................................................................................................. 297
Sweep Uniform ............................................................................................................................. 297
Sweep Layered ............................................................................................................................. 298
Sweep Trace Layered ..................................................................................................................... 299
Sweep Layered Elements .............................................................................................................. 299
Sweep Trace Elements ................................................................................................................... 300
Hybrid Models with Sub-Assemblies ................................................................................................... 301
20. FEA-03a Part Modeling ..................................................................................................................... 305
Layer Viewer Component Selection ..................................................................................................... 305
Component Size, Location, and Orientation ......................................................................................... 306

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xi
Sherlock User's Guide

Editing Part Properties ........................................................................................................................ 307


2D Component Outline ....................................................................................................................... 307
3D Block Model .................................................................................................................................. 310
Corner Orientation .............................................................................................................................. 311
Corner Face Restrictions ...................................................................................................................... 312
3D Part Model Viewer ......................................................................................................................... 313
FEA Model Properties .......................................................................................................................... 314
21. FEA-03b Lead Modeling .................................................................................................................... 317
Lead Properties ................................................................................................................................... 318
BGA Solder Ball Properties .................................................................................................................. 319
Surface Mount Lead Modeling ............................................................................................................ 320
C_Lead / J_Lead Model ................................................................................................................. 320
Gullwing Model ............................................................................................................................ 320
Stub Model ................................................................................................................................... 321
L_Lead Model ............................................................................................................................... 322
Lead Placement ............................................................................................................................ 323
Through-Hole Lead Modeling ............................................................................................................. 325
SIP Layout .................................................................................................................................... 326
SIP_SINK Layout ............................................................................................................................ 326
DIP Layout .................................................................................................................................... 327
AXIAL Layout ................................................................................................................................ 328
CIRCULAR Layout .......................................................................................................................... 329
GRID Layout ................................................................................................................................. 330
Solder Ball Modeling ........................................................................................................................... 330
Solder Ball Shape Properties .......................................................................................................... 331
Solder Ball Layout Properties ......................................................................................................... 332
Full Ball Pattern ....................................................................................................................... 332
Perimeter Ball Pattern ............................................................................................................. 333
Channel Ball Pattern ............................................................................................................... 334
Island Ball Pattern ................................................................................................................... 334
Corner Solder Balls .................................................................................................................. 334
Automatic Consistency Checks ................................................................................................ 336
2D Lead Viewing ................................................................................................................................. 336
22. FEA-03c Heat Sink Modeling ............................................................................................................. 339
Heat Sink Modeling ............................................................................................................................ 339
Heat Sink Layouts ......................................................................................................................... 340
Heat Sink Modeling Properties ............................................................................................................ 343
Creating Heat Sinks ............................................................................................................................. 344
Updating Heat Sinks ..................................................................................................................... 345
Heat Sink Attachment Points ......................................................................................................... 345
Viewing Heat Sink 3D Model ......................................................................................................... 346
Heat Sink Analysis ............................................................................................................................... 346
Heat Sink Results .......................................................................................................................... 347
23. FEA-04 Wire Bonds ............................................................................................................................ 349
Adding Wire Bonds ............................................................................................................................. 350
3D Model Viewer ................................................................................................................................ 352
Editing Wire Bonds ............................................................................................................................. 353
Wire Bond Export ................................................................................................................................ 354
Wire Bond Import ............................................................................................................................... 355
3D FEA Modeling ................................................................................................................................ 356
Wire Bond Results ............................................................................................................................... 358

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xii of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

24. FEA-05 Potting & Staking .................................................................................................................. 359


Tutorial Project ................................................................................................................................... 360
2D Modeling ....................................................................................................................................... 360
PCB Shape .......................................................................................................................................... 362
Rectangular Shape .............................................................................................................................. 363
Circular Shape .................................................................................................................................... 364
Slot Shape .......................................................................................................................................... 365
Polygonal Shape ................................................................................................................................. 366
3D Modeling ....................................................................................................................................... 367
Potting and Part Elements ................................................................................................................... 368
Potting and Lead Elements ................................................................................................................. 368
Potting & Staking Examples ................................................................................................................ 369
25. FEA-06 Mechanical Parts ................................................................................................................... 373
Mechanical Part Viewing ..................................................................................................................... 374
Mechanical Part Editing ...................................................................................................................... 375
Mechanical Part Properties .................................................................................................................. 376
Mechanical Part Multi-Edit .................................................................................................................. 378
Mechanical Part Attachment Points ..................................................................................................... 378
FEA Model .......................................................................................................................................... 380
26. FEA-07 Virtual Accelerometer ........................................................................................................... 381
Accelerometer Editor .......................................................................................................................... 381
Adding an Accelerometer ............................................................................................................. 381
Modifying An Accelerometer ......................................................................................................... 383
Removing an Accelerometer ......................................................................................................... 384
Accelerometer Changes ................................................................................................................ 384
Accelerometer Results ........................................................................................................................ 384
Displacement Results .................................................................................................................... 385
Acceleration Results ...................................................................................................................... 386
Number of Data Points .................................................................................................................. 387
27. FEA-10 Natural Frequency Analysis .................................................................................................. 389
Natural Frequency Input Data ............................................................................................................. 389
Natural Frequency Analysis Properties ................................................................................................. 389
Generated Data Source ................................................................................................................. 389
Imported Data Source ................................................................................................................... 390
Natural Frequency Analysis Results ..................................................................................................... 391
Summary Panel ............................................................................................................................ 391
Graphical Results Layers ................................................................................................................ 393
3D Model / Results Viewing ........................................................................................................... 393
Log Files ....................................................................................................................................... 393
28. FEA-11 In-Circuit Testing (ICT) Analysis ............................................................................................ 395
ICT Input Data ..................................................................................................................................... 395
ICT Test Fixtures ............................................................................................................................ 395
ICT Test Points ............................................................................................................................... 396
Adding a Test Point ................................................................................................................. 397
Modifying Test Point Properties ............................................................................................... 397
Saving Test Point Changes ....................................................................................................... 398
Importing Test Point Locations ................................................................................................ 398
Importing Test Points From Pick & Place Files ........................................................................... 399
ICT Mesh ...................................................................................................................................... 400
ICT Analysis Properties ........................................................................................................................ 401
Generated Data Source ................................................................................................................. 401

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xiii
Sherlock User's Guide

Imported Data Source ................................................................................................................... 402


ICT Analysis Results ............................................................................................................................. 403
Summary Panel ............................................................................................................................ 403
ICT Table ....................................................................................................................................... 403
Graphical Results Layers ................................................................................................................ 404
3D Model / Results Viewing ........................................................................................................... 404
Log Files ....................................................................................................................................... 404
Example Displays: ICT Analysis Results ........................................................................................... 405
Summary Panel (Example): ...................................................................................................... 405
ICT Table (Example): ................................................................................................................ 406
Graphical Results Layers (Example): ......................................................................................... 406
3D Model / Results Viewing (Example): .................................................................................... 407
29. FEA-12 Mechanical Shock Analysis ................................................................................................... 409
Input Data .......................................................................................................................................... 409
Mechanical Shock Events .............................................................................................................. 409
Mount Points ................................................................................................................................ 410
Mechanical Shock Analysis Properties ................................................................................................. 410
Generated Data Source ................................................................................................................. 410
Imported Data Source ................................................................................................................... 411
Mechanical Shock Analysis Results ...................................................................................................... 412
Summary Panel ............................................................................................................................ 412
Tabular Mechanical Shock Results ................................................................................................. 414
Life Prediction Curve ..................................................................................................................... 415
Graphical FEA Scores .................................................................................................................... 416
Graphical FEA Results .................................................................................................................... 417
3D Model / Results Viewing ........................................................................................................... 417
Log Files ....................................................................................................................................... 417
30. FEA-13 Vibration Analysis ................................................................................................................. 419
Input Data .......................................................................................................................................... 420
Vibration Events ........................................................................................................................... 420
Mount Points ................................................................................................................................ 420
Vibration Analysis Properties ............................................................................................................... 421
Generated Data Source ................................................................................................................. 421
Imported Data Source ................................................................................................................... 423
Vibration Analysis Results ................................................................................................................... 425
Summary Panel ............................................................................................................................ 425
Tabular Vibration Results ............................................................................................................... 426
Life Prediction Curve ..................................................................................................................... 427
Graphical Results Layers ................................................................................................................ 428
3D Model / Results Viewing ........................................................................................................... 428
Log Files ....................................................................................................................................... 428
31. FEA-014 Sub-Assembly Analysis ....................................................................................................... 429
Tutorial Review ................................................................................................................................... 430
Baseline Analysis ................................................................................................................................. 431
Adding an Assembly ........................................................................................................................... 432
Defining Assembly Points ................................................................................................................... 434
Multiple Assemblies ............................................................................................................................ 436
Assembly Results ................................................................................................................................ 438
32. FEA-15 Meshed Parts ........................................................................................................................ 441
Meshed Part Library ............................................................................................................................ 442
Meshed Part Folder ....................................................................................................................... 442

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xiv of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Meshed Part Viewer ...................................................................................................................... 443


Meshed Part Surfaces .................................................................................................................... 444
Using Meshed Parts in Sherlock ........................................................................................................... 449
Constraint Surfaces ....................................................................................................................... 451
Using Meshed Parts with Sub Assemblies ............................................................................................ 454
Step 1 - Create Abaqus Meshed Model .......................................................................................... 454
Step 2 - Define Surfaces for The Card Slots ..................................................................................... 455
Step 3 - Add Chassis Mesh Model as Mechanical Part ..................................................................... 455
Step 4 - Attach Additional Cards .................................................................................................... 457
Step 5 - Run the Analysis ............................................................................................................... 458
How to Import Meshed Parts from ABAQUS to Sherlock ....................................................................... 459
Things to note when importing parts to Sherlock: ......................................................................... 459
Creating a mesh and importing it to Sherlock from ABAQUS .......................................................... 459
Meshing the Part .......................................................................................................................... 461
Apply the Material Properties ........................................................................................................ 465
Add the part to an assembly ......................................................................................................... 468
Make the surfaces that will be imported to Sherlock ...................................................................... 470
Creation of Job and INP file ........................................................................................................... 471
Reading the model into Sherlock .................................................................................................. 474
33. FEA-20 ANSYS Workbench Integration ............................................................................................. 475
ANSYS Sherlock - ANSYS Workbench Export ........................................................................................ 476
ANSYS Workbench Geometry and Materials Import ............................................................................. 477
Manually Running Workbench Journal File .................................................................................... 477
Add Additional Geometries ........................................................................................................... 477
Performing Analysis ............................................................................................................................ 478
Mechanical Settings, Mesh Properties, and Contacts ...................................................................... 479
Boundary Conditions .................................................................................................................... 480
Loads ........................................................................................................................................... 480
Natural Frequency Analysis ........................................................................................................... 480
Vibration Analysis ......................................................................................................................... 481
Mechanical Shock Analysis ............................................................................................................ 482
ICT Analysis .................................................................................................................................. 482
Import Analysis Results into ANSYS Sherlock ....................................................................................... 482
Detect Transform .......................................................................................................................... 484
34. FEA-21 ANSYS Icepak Integration ..................................................................................................... 485
Step 1: Exporting the .tcl File from Sherlock ......................................................................................... 485
Step 2: Creating the Icepak Project TZR File .......................................................................................... 487
Step 3: Modify or Add Additional Geometries ...................................................................................... 489
35. IPC-2581 ............................................................................................................................................ 491
Importing an IPC-2581 File .................................................................................................................. 491
IPC-2581 Supported Elements ............................................................................................................. 495
36. Laminate Management ..................................................................................................................... 499
Laminate Manager Listing ................................................................................................................... 499
Laminate Editor .................................................................................................................................. 500
Selecting a Laminate to Edit .......................................................................................................... 500
Using the Laminate Editor ............................................................................................................. 501
Temperature-Dependent Laminate Properties ..................................................................................... 502
CTE and Elasticity Modulus Calculators .......................................................................................... 503
Adding and Copying Laminates .................................................................................................... 507
Deleting Laminates ....................................................................................................................... 507
Laminate Export and Import ......................................................................................................... 508

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xv
Sherlock User's Guide

Column Mappings ........................................................................................................................ 509


37. Life Cycle Management ..................................................................................................................... 511
Tutorial Life Cycle ................................................................................................................................ 512
Phase Definitions ................................................................................................................................ 513
Event Definitions ................................................................................................................................ 516
Thermal Event .................................................................................................................................... 516
Shock Event ........................................................................................................................................ 518
Random Event .................................................................................................................................... 522
Shock Response Spectrum ............................................................................................................ 524
Harmonic Event .................................................................................................................................. 525
Load Direction and PCB Orientation .................................................................................................... 526
Life Cycle Editing ................................................................................................................................ 528
Adding Life Cycle Phases ............................................................................................................... 528
Removing a Life Cycle Phase ......................................................................................................... 528
Duplicating a Life Cycle Phase ....................................................................................................... 528
Copy and Paste a Life Phase .......................................................................................................... 528
Adding a Life Cycle Event .............................................................................................................. 528
Duplicating a Life Cycle Event ....................................................................................................... 529
Copy and Paste a Life Cycle Event .................................................................................................. 529
Deleting a Life Cycle Event ............................................................................................................ 529
Life Cycle Import / Export .................................................................................................................... 529
Exporting a Life Cycle .................................................................................................................... 529
Importing a Life Cycle ................................................................................................................... 530
Life Cycle Manager .............................................................................................................................. 530
Life Cycle Definition Files .............................................................................................................. 530
Launching the Life Cycle Manager ................................................................................................. 530
Life Cycle Manager Window .......................................................................................................... 531
Life Cycle Manager Menu Options ................................................................................................. 531
Create Life Cycle ..................................................................................................................... 531
Open Life Cycle ....................................................................................................................... 532
Close Life Cycle ....................................................................................................................... 532
Generate Report ..................................................................................................................... 532
38. Material Management ....................................................................................................................... 535
Material Manager Listing .................................................................................................................... 535
Material Editor .................................................................................................................................... 536
Selecting a Material to Edit ............................................................................................................ 536
Using the Material Editor ............................................................................................................... 537
Temperature-Dependent Material Properties ....................................................................................... 539
CTE and Elasticity Modulus Calculators .......................................................................................... 539
Adding and Copying Materials ...................................................................................................... 543
Deleting Materials ........................................................................................................................ 543
Export Materials .................................................................................................................................. 544
Import Materials ................................................................................................................................. 544
39. Package Management ....................................................................................................................... 547
Package Manager Listing .................................................................................................................... 547
Selecting a Package to Edit ................................................................................................................. 550
Using the Package Editor .................................................................................................................... 551
Adding and Copying Packages ............................................................................................................ 552
Deleting Packages .............................................................................................................................. 552
Package Export and Import ................................................................................................................. 553
Column Mappings .............................................................................................................................. 554

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xvi of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Package Previewer .............................................................................................................................. 555


40. Part Library ....................................................................................................................................... 557
Parts Library Menu .............................................................................................................................. 558
Creating a Part Library ........................................................................................................................ 559
Part Library Management ................................................................................................................... 561
Viewing Part Properties ................................................................................................................. 562
Editing Properties for a Single Part ................................................................................................ 563
Editing Properties for Multiple Parts .............................................................................................. 564
Part Visual Previewer ..................................................................................................................... 564
Package and Lead Properties ........................................................................................................ 565
Adding, Copying or Deleting Parts ................................................................................................. 565
Customized Search Results .................................................................................................................. 566
Filtered Search Results ........................................................................................................................ 570
Column Filters .............................................................................................................................. 570
Column Filter - String Matching ............................................................................................... 571
Column Filtering - Comparison Operators ................................................................................ 572
Column Filtering - Multi Column ............................................................................................. 573
Column Filtering - Boolean Expressions ................................................................................... 573
Column Filtering - Meta Functions ........................................................................................... 574
Advanced Filter ............................................................................................................................. 575
Advanced Filter - String Matching ........................................................................................... 576
Advanced Filtering - Comparison Operators ............................................................................ 577
Advanced Filtering - Boolean Expressions ................................................................................ 579
Advanced Filters - Meta Functions ........................................................................................... 580
Advanced Filtering - Numeric Expressions ..................................................................................... 581
Advanced Filtering - Filter Management .................................................................................. 582
Advanced Filtering - Property Chooser .................................................................................... 583
Update Part Library from Parts List ...................................................................................................... 584
Part Library Interface with Parts List .............................................................................................. 585
Update Parts List from Part Library ...................................................................................................... 586
Export Part Data ........................................................................................................................... 587
Import Part Data ................................................................................................................................. 588
Recover Part Library ............................................................................................................................ 589
41. Part Validation ................................................................................................................................... 591
Input Data .......................................................................................................................................... 591
Analysis Options ................................................................................................................................. 591
Part Library Analysis ...................................................................................................................... 591
Approved Vendor Analysis ............................................................................................................ 592
Analysis Results .................................................................................................................................. 593
Summary Results .......................................................................................................................... 593
Table of Individual Part List Results ................................................................................................ 594
List of Issues Found ....................................................................................................................... 595
Component Analysis Part Validation .................................................................................................... 595
42. Parts List Management ..................................................................................................................... 597
Customizing the Parts List ................................................................................................................... 597
Filtering the Parts List ......................................................................................................................... 602
Column Filters .............................................................................................................................. 603
Column Filter - String Matching ............................................................................................... 603
Column Filtering - Comparison Operators ................................................................................ 605
Column Filtering - Multi Column ............................................................................................. 606
Column Filtering - Boolean Expressions ................................................................................... 606

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xvii
Sherlock User's Guide

Column Filtering - Meta-Functions .......................................................................................... 606


Advanced Filter ............................................................................................................................. 607
Advanced Filter - String Matching ........................................................................................... 608
Advanced Filtering - Comparison Operators ............................................................................ 609
Advanced Filtering - Boolean Expressions ................................................................................ 610
Advanced Filtering - Meta-Functions ....................................................................................... 611
Advanced Filtering - Numeric Expressions ............................................................................... 612
Advanced Filtering - Filter Management .................................................................................. 613
Advanced Filtering - Property Chooser .................................................................................... 614
Exporting the Parts List ....................................................................................................................... 615
Importing the Parts List ....................................................................................................................... 616
Import Options ............................................................................................................................. 616
Column Mappings ........................................................................................................................ 617
Addressing Import Errors .............................................................................................................. 617
43. Part Wizard ........................................................................................................................................ 621
Part Number Recognition ................................................................................................................... 622
Viewing Part Wizard Patterns .............................................................................................................. 625
Editing Part Wizard Patterns ................................................................................................................ 626
Editing Part Wizard Default Properties ................................................................................................. 628
Supported Operators .................................................................................................................... 629
Editing Part Wizard Pattern Fields ........................................................................................................ 630
Editing Part Wizard Field Codes ........................................................................................................... 632
Managing Part Wizard Patterns ........................................................................................................... 633
Adding / Copying a Part Wizard Pattern ......................................................................................... 633
Deleting Part Wizard Patterns ........................................................................................................ 633
Exporting Part Wizard Patterns ...................................................................................................... 633
Importing Part Wizard Patterns ..................................................................................................... 634
Bulk Pattern Testing ............................................................................................................................ 635
Bulk Test Results ................................................................................................................................. 636
Bulk Pattern Matching ......................................................................................................................... 637
44. Project Management ......................................................................................................................... 639
Multi-Project Mode ............................................................................................................................. 639
Closing Projects ............................................................................................................................ 639
Single-Project Mode ........................................................................................................................... 640
Launching Sherlock ...................................................................................................................... 640
Creating a Custom Project Shortcut ......................................................................................... 640
Project Menu ................................................................................................................................ 641
Opening, Importing, and Library Loading ................................................................................ 642
Recent Projects Menu ............................................................................................................. 642
Exporting Projects .............................................................................................................................. 643
Exporting Locked IP Model Projects .............................................................................................. 643
Changing Project Directory ................................................................................................................. 644
45. Plated Through Hole (PTH) Fatigue Analysis .................................................................................... 645
Input Data .......................................................................................................................................... 645
Analysis Properties .............................................................................................................................. 646
Analysis Results .................................................................................................................................. 647
46. Reporting and Data Export ............................................................................................................... 655
Generating Report Files ...................................................................................................................... 656
Customized Reports ...................................................................................................................... 657
Exporting Graphical Data .................................................................................................................... 659
Exporting Data ............................................................................................................................. 659

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xviii of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Changing Plot Properties .............................................................................................................. 660


Exporting Tabular Data ....................................................................................................................... 662
47. Results Management ........................................................................................................................ 663
Sherlock Result Viewer ........................................................................................................................ 663
The Results Viewer and Memory Management .............................................................................. 664
Viewing Current Results ................................................................................................................ 664
Saving Results .............................................................................................................................. 665
Renaming / Deleting Results ......................................................................................................... 665
Viewing Saved Results .................................................................................................................. 666
Exporting Saved Results ................................................................................................................ 667
Console Window ........................................................................................................................... 668
Sherlock 3D Viewer ............................................................................................................................. 668
The 3D Viewer and Memory Management ..................................................................................... 668
Launching the 3D Viewer .............................................................................................................. 668
Viewing 3D Results ....................................................................................................................... 669
Exporting 3D Images .................................................................................................................... 670
48. Semiconductor Wearout ................................................................................................................... 673
Input Data .......................................................................................................................................... 673
Option 1: Prediction and User Field Data ........................................................................................ 674
Semiconductor Wearout Tab ................................................................................................... 674
Die Tab ................................................................................................................................... 674
Option 2: Temperature Specific and Acceleration Factors ............................................................... 674
Semiconductor Wearout Tab ................................................................................................... 674
Die Tab ................................................................................................................................... 674
Electrical Tab .......................................................................................................................... 675
Test Tab .................................................................................................................................. 675
Option 3: Test Results and Acceleration Factors .............................................................................. 675
Semiconductor Wearout Tab ................................................................................................... 675
Die Tab ................................................................................................................................... 675
Electrical Tab .......................................................................................................................... 675
Test Tab .................................................................................................................................. 675
Option 4: Temperature Specific and Calculated Factors .................................................................. 676
Semiconductor Wearout Tab ................................................................................................... 676
Die Tab ................................................................................................................................... 676
Electrical Tab .......................................................................................................................... 676
Test Tab .................................................................................................................................. 676
Option 5: Test Results and Calculated Factors ................................................................................. 677
Semiconductor Wearout Tab ................................................................................................... 677
Die Tab ................................................................................................................................... 677
Electrical Tab .......................................................................................................................... 677
Test Tab .................................................................................................................................. 677
Acceleration Factors ............................................................................................................................ 678
Acceleration Factors Manager Listing ............................................................................................ 678
Viewing and Editing Acceleration Factors ...................................................................................... 678
Modifying Acceleration Factors ..................................................................................................... 679
Documents ......................................................................................................................................... 680
Analysis .............................................................................................................................................. 681
Analysis Results ............................................................................................................................ 682
Analysis Computations ........................................................................................................... 682
49. Solder Fatigue Analysis ..................................................................................................................... 685
Input Data .......................................................................................................................................... 685

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xix
Sherlock User's Guide

Pad Properties .................................................................................................................................... 686


Extracting Pad Data from Copper Layers ........................................................................................ 686
Update Pad Properties .................................................................................................................. 686
Edit Solder Properties ................................................................................................................... 688
Analysis Properties .............................................................................................................................. 689
Analysis Model ............................................................................................................................. 690
Analysis Results .................................................................................................................................. 690
50. Solder Management .......................................................................................................................... 695
Solder Manager Listing ....................................................................................................................... 695
Solder Editor ....................................................................................................................................... 696
Selecting a Solder to Edit .............................................................................................................. 696
Using the Solder Editor ................................................................................................................. 696
Temperature-Dependent Material Properties ....................................................................................... 697
CTE and Elasticity Modulus Calculators .......................................................................................... 698
Adding and Copying Solders ......................................................................................................... 699
Deleting Solders ........................................................................................................................... 699
Export Solders .................................................................................................................................... 700
Import Solders .................................................................................................................................... 701
51. Thermal Derating .............................................................................................................................. 703
Input Data and Analysis Options ......................................................................................................... 703
Input Data .................................................................................................................................... 703
Analysis Options ........................................................................................................................... 703
Analysis Results .................................................................................................................................. 705
Summary Results .......................................................................................................................... 705
Score Distribution Chart ................................................................................................................ 706
Event Score Distribution Chart ...................................................................................................... 707
Table of Individual Results ............................................................................................................. 708
Event Scores ........................................................................................................................... 708
Part Scores ............................................................................................................................. 708
Part / Event Scores .................................................................................................................. 709
Layer Viewer ................................................................................................................................. 710
52. Thermal Mech Analysis ..................................................................................................................... 711
Thermal Mech Input Data .................................................................................................................... 712
Analysis Properties ........................................................................................................................ 712
Modeling Properties ..................................................................................................................... 713
Thermal Inputs ............................................................................................................................. 713
Example Model ................................................................................................................................... 714
Thermal Profile Analysis ...................................................................................................................... 716
Thermal Map Analysis ......................................................................................................................... 720
1. Add Thermal Map to CCA Folder ................................................................................................ 720
2. Edit Thermal Map File Properties ................................................................................................ 721
3. Select Thermal Event for Thermal Mech Analysis ......................................................................... 722
Thermal Image Analysis ...................................................................................................................... 724
1. Add Thermal Image to CCA Folder .............................................................................................. 725
2. Edit Thermal Image File Properties ............................................................................................. 725
3. Align Thermal Map With CCA Outline ......................................................................................... 726
4. Designate Thermal Legend Area ................................................................................................ 728
5. Select Thermal Event in Thermal Mech Analysis .......................................................................... 730
Material Properties and Analysis Results .............................................................................................. 731
Material Properties ....................................................................................................................... 731
Missing Property Values .......................................................................................................... 731

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xx of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

Analysis Results ............................................................................................................................ 731


53. User Data Files and Documents ........................................................................................................ 733
User Defined Data Files ....................................................................................................................... 733
Shared Data Files .......................................................................................................................... 734
Material Properties ....................................................................................................................... 735
Temperature-Dependent Material Properties ........................................................................... 736
Laminate Properties ...................................................................................................................... 737
Temperature-Dependent Laminate Properties ......................................................................... 737
Laminate Glass Properties ............................................................................................................. 738
Solder Properties .......................................................................................................................... 739
Package Properties ....................................................................................................................... 742
Package Images ............................................................................................................................ 743
Part Type Properties ...................................................................................................................... 743
PTH Quality Factors ....................................................................................................................... 744
Die Process Node Acceleration Factors .......................................................................................... 745
Manufacturer Names .................................................................................................................... 745
User Document Files ........................................................................................................................... 746

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xxi
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xxii of ANSYS, Inc. and its subsidiaries and affiliates.
List of Tables
6.1. Copper Layers ....................................................................................................................................... 79
8.1. Index to the Sherlock APIs ................................................................................................................... 101
8.2. Index to Sherlock Project Service APIs .................................................................................................. 102
8.3. Sherlock Life Cycle Service APIs in this Section ..................................................................................... 102
8.4. SherlockStackupService ...................................................................................................................... 104
8.5. SherlockPartsService ........................................................................................................................... 105
8.6. SherlockAnalysisService ...................................................................................................................... 105
8.7. SherlockCommonService .................................................................................................................... 105
8.8. GenCCAReportRequest ....................................................................................................................... 106
8.9. GenCCAReportResponse ..................................................................................................................... 106
8.10. ImportIPC2581Request ..................................................................................................................... 107
8.11. ImportODBRequest ........................................................................................................................... 108
8.12. GenReportRequest ............................................................................................................................ 109
8.13. GenReportResponse ......................................................................................................................... 109
8.14. AddHarmonicEventRequest .............................................................................................................. 110
8.15. AddHarmonicEventResponse ............................................................................................................ 110
8.16. AddHarmonicProfileRequest ............................................................................................................. 112
8.17. [Link] .................................................................................................... 112
8.18. AddHarmonicProfileResponse ........................................................................................................... 112
8.19. AddRandomProfileRequest ............................................................................................................... 114
8.20. [Link] ...................................................................................................... 114
8.21. AddRandomProfileResponse ............................................................................................................. 114
8.22. AddRandomVibeEventRequest ......................................................................................................... 115
8.23. AddRandomVibeEventResponse ....................................................................................................... 116
8.24. AddShockEventRequest .................................................................................................................... 117
8.25. AddShockEventResponse .................................................................................................................. 117
8.26. AddShockProfileRequest ................................................................................................................... 118
8.27. [Link] .......................................................................................................... 119
8.28. AddShockProfileResponse ................................................................................................................. 119
8.29. AddThermalEventRequest ................................................................................................................. 120
8.30. AddThermalEventResponse .............................................................................................................. 121
8.31. AddThermalProfileRequest ................................................................................................................ 122
8.32. [Link] ....................................................................................................... 122
8.33. AddThermalProfileResponse ............................................................................................................. 122
8.34. CreateLifePhaseRequest .................................................................................................................... 124
8.35. CreateLifePhaseResponse .................................................................................................................. 124
8.36. ListAmplUnitsResponse ..................................................................................................................... 125
8.37. ListDurationUnitsResponse ............................................................................................................... 126
8.38. ListFreqUnitsResponse ...................................................................................................................... 126
8.39. ListHarmonicProfileTypesResponse ................................................................................................... 127
8.40. ListLCEventsRequest ......................................................................................................................... 128
8.41. ListLCEventsResponse ....................................................................................................................... 128
8.42. [Link] ................................................................................................ 128
8.43. [Link] ......................................................................... 128
8.44. ListLCStatesResponse ........................................................................................................................ 129
8.45. ListLCTypesResponse ........................................................................................................................ 130
8.46. ListRandomProfileTypesResponse ..................................................................................................... 131
8.47. ListShockLoadUnitsResponse ............................................................................................................ 131
8.48. ListShockPulsesResponse .................................................................................................................. 132

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xxiii
Sherlock User's Guide

8.49. ListTempUnitsResponse .................................................................................................................... 133


8.50. LoadHarmonicProfileRequest ............................................................................................................ 134
8.51. [Link] ............................................................................................. 134
8.52. LoadHarmonicProfileResponse .......................................................................................................... 134
8.53. LoadRandomProfileRequest .............................................................................................................. 136
8.54. [Link] ............................................................................................... 136
8.55. LoadRandomProfileResponse ............................................................................................................ 136
8.56. LoadShockProfileDatasetRequest ...................................................................................................... 138
8.57. sherlock_ug_LoadShockProfileDatasetRequest.CSVProps .................................................................. 138
8.58. LoadShockProfileDatasetResponse .................................................................................................... 138
8.59. LoadShockProfilePulsesRequest ........................................................................................................ 140
8.60. [Link] ......................................................................................... 140
8.61. LoadShockProfilePulsesResponse ...................................................................................................... 141
8.62. LoadThermalProfileRequest .............................................................................................................. 142
8.63. [Link] ............................................................................................... 142
8.64. LoadThermalProfileResponse ............................................................................................................ 143
8.65. ListConductorMaterialsResponse ...................................................................................................... 144
8.66. ListConstructionStylesResponse ........................................................................................................ 145
8.67. ListFiberMaterialsResponse ............................................................................................................... 146
8.68. ListLaminateMaterialsManufacturersResponse .................................................................................. 147
8.69. ListLaminateMaterialsRequest ........................................................................................................... 147
8.70. ListLaminateMaterialsResponse ......................................................................................................... 147
8.71. [Link] ..................................................................... 148
8.72. [Link] ............................................. 148
8.73. ListLaminateThicknessUnitsResponse ................................................................................................ 149
8.74. ListLaminatesRequest ....................................................................................................................... 149
8.75. ListLaminatesResponse ..................................................................................................................... 150
8.76. [Link] ........................................................................................ 150
8.77. [Link] .................................................................. 150
8.78. [Link] ...................................... 151
8.79. UpdateLaminateRequest ................................................................................................................... 152
8.80. [Link] ...................................................................................... 152
8.81. ListPartsLibrariesResponse ................................................................................................................ 154
8.82. ListPartsNotUpdatedRequest ............................................................................................................ 154
8.83. ListPartsNotUpdatedResponse .......................................................................................................... 155
8.84. [Link] ................................................................................................... 155
8.85. [Link] ............................................................................................ 155
8.86. UpdatePartsListRequest .................................................................................................................... 156
8.87. [Link] ......................................................................................... 156
8.88. [Link] ............................................................................................ 156
8.89. UpdatePartsListResponse .................................................................................................................. 157
8.90. RunAnalysisRequest .......................................................................................................................... 158
8.91. [Link] ............................................................................................................. 158
8.92. [Link] ................................................................................................... 158
8.93. [Link] .......................................................................................... 158
8.94. [Link] ........................................................................................ 159
8.95. HealthCheckResponse ...................................................................................................................... 161
8.96. [Link] ................................................................................................. 161
8.97. ReturnCode ...................................................................................................................................... 162
8.98. gRPC Scalar Value Types (A) ............................................................................................................... 162
8.99. gRPC Scalar Value Types (B) ............................................................................................................... 163

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xxiv of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock User's Guide

10.1. Outline Layer, X and Y Coordinates ..................................................................................................... 170


10.2. Required Net List Data ....................................................................................................................... 170
12.1. DFMEA Viewer, Keyboard Navigation ................................................................................................. 178
12.2. [Link] .......................................................................................................................... 185
12.3. Hardcoded DFMEA Properties ........................................................................................................... 185
12.4. Add Rows: [Link] ......................................................................................................... 186
12.5. [Link] ............................................................................................................................... 188
12.6. Template Variables (Default Opens) ................................................................................................... 188
[Link] Variables (Default Shorts) .................................................................................................... 189
12.8. Internally Defined Template Variables ................................................................................................ 193
12.9. DFMEA Data Properties ..................................................................................................................... 194
12.10. Template Lists ................................................................................................................................. 194
12.11. Processing Options ......................................................................................................................... 204
14.1. 10mm ICT Analysis ............................................................................................................................ 242
15.1. Shape Types ...................................................................................................................................... 249
16.1. Shape Types ...................................................................................................................................... 255
19.1. Strain Map Results (5mm Mesh) ......................................................................................................... 280
19.2. Strain Map Results (1mm Mesh) ......................................................................................................... 281
19.3. Strain Map Results (1mm and 5mm Mesh) ......................................................................................... 282
19.4. Region Shapes .................................................................................................................................. 284
19.5. PCB Modeling Properties ................................................................................................................... 288
19.6. Trace Modeling Properties ................................................................................................................. 291
19.7. Modeling Region Properties .............................................................................................................. 294
19.8. Board Modeling Properties ................................................................................................................ 301
19.9. Sub-Assembly Modeling Properties ................................................................................................... 302
19.10. Modeling Properties ........................................................................................................................ 304
20.1. Corner Shapes ................................................................................................................................... 309
20.2. Circular Component Properties ......................................................................................................... 309
21.1. SMT Lead Types ................................................................................................................................. 320
21.2. Stub Model Lead Configurations ....................................................................................................... 321
21.3. Lead Layouts ..................................................................................................................................... 323
21.4. Lead Layouts (continued) .................................................................................................................. 324
21.5. Lead Layout Properties ...................................................................................................................... 325
21.6. Ball Shape Properties ........................................................................................................................ 331
21.7. Solder Ball Layout Properties ............................................................................................................. 332
21.8. Full Ball Pattern Properties ................................................................................................................. 333
21.9. Perimeter Solder Pattern Properties ................................................................................................... 333
21.10. Channel Ball Pattern Properties ........................................................................................................ 334
21.11. Island Solder Pattern Properties ....................................................................................................... 334
21.12. Corner Ball Count Patterns ............................................................................................................... 335
22.1. Heat Sink Modeling Properties .......................................................................................................... 339
23.1. Arc Shapes ........................................................................................................................................ 352
25.1. Mechanical Part Shape Types ............................................................................................................. 377
35.1. IPC-2581 Element Requirements ....................................................................................................... 495
35.2. IPC-2581 Specification Support ......................................................................................................... 496
40.1. Column Filter String Matching Operators ........................................................................................... 571
40.2. Column Filter Comparison Operators ................................................................................................. 573
40.3. Column Filter Boolean Operators ....................................................................................................... 574
40.4. Column Filter Meta Functions ............................................................................................................ 574
40.5. Advanced Filters: String Matching ...................................................................................................... 576
40.6. Advanced Filters: Comparison Operators ............................................................................................ 577

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. xxv
Sherlock User's Guide

40.7. Advanced Filters: Boolean Operators .................................................................................................. 579


40.8. Advanced Filters: Meta Functions ....................................................................................................... 580
40.9. Advanced Filters: Numeric Operators ................................................................................................. 581
40.10. Advanced Filters: Numeric Functions ................................................................................................ 581
40.11. Advanced Filters: Filter Management ............................................................................................... 582
42.1. String Matching Operators ................................................................................................................ 604
42.2. Column Filtering Comparison Operators ............................................................................................ 605
42.3. Column Filtering Boolean Operators .................................................................................................. 606
42.4. Column Filtering Meta-Functions ....................................................................................................... 607
42.5. String Matching Operators ................................................................................................................ 609
42.6. Comparison Operators ...................................................................................................................... 609
42.7. Advanced Filtering Boolean Operators ............................................................................................... 610
42.8. Advanced Filtering Meta-Functions ................................................................................................... 611
42.9. Advanced Filtering- Numeric Expressions .......................................................................................... 612
42.10. Advanced Filtering- Numeric Functions ........................................................................................... 612
42.11. Advanced Filtering- Input Shortcuts ................................................................................................. 613
43.1. Part Information for 08055A101JAT2A ............................................................................................... 621
43.2. Parts Wizard- Supported Operators .................................................................................................... 629
43.3. Supported Pattern Matching Fields .................................................................................................... 631
53.1. User Defined Data Files ..................................................................................................................... 733
53.2. Material Properties File ...................................................................................................................... 735
53.3. Laminate Properties File .................................................................................................................... 737
53.4. Laminate Glass Properties File ........................................................................................................... 738
53.5. Solder Data File, Example ................................................................................................................... 739
53.6. Solder Data File, Required Data .......................................................................................................... 739
53.7. Solder Data File, Optional Data .......................................................................................................... 739
53.8. Package Properties File ..................................................................................................................... 742
53.9. Package Properties File, Optional Data ............................................................................................... 742
53.10. Part Type Properties File .................................................................................................................. 743
53.11. Part Type Properties File, Optional Data ............................................................................................ 743
53.12. PTH Quality File ............................................................................................................................... 744
53.13. PTH Quality File, Optional Data ........................................................................................................ 744
53.14. Default PTH Quality Factors ............................................................................................................. 744
53.15. Acceleration Factors Data File .......................................................................................................... 745
53.16. Manufacturer File ............................................................................................................................ 745

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
xxvi of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 1: Getting Started
ANSYS Sherlock is a reliability physics-based engineering simulation software that provides fast and
accurate life predictions for electronic hardware at the component, board and system levels in early
design stages. Among its many capabilities, Sherlock can translate ECAD files to FEA files in minutes,
predict time-to-failure for an entire PCBA– down to each component and connection, and turn stresses
(electrical, thermal and mechanical) into a prediction of product lifetime. Sherlock integrates seamlessly
with ANSYS Workbench, ANSYS Icepak, and ANSYS Mechanical.

The following links provide the information you need to start using Sherlock:

• Read the Sherlock Release Notes on the ANSYS Help website.

• For detailed information on licensing, see the ANSYS Licensing Guide on the ANSYS Help website.

• For detailed information on software installation, see the ANSYS Installation Guide on the ANSYS Help
website.

• Tutorials designed to introduce you to Sherlock's capabilities:

– Tutorial: Project Overview (p. 11)

– Tutorial: ODB++ Project Creation (p. 27)

– Tutorial: Reviewing Part Properties (p. 33)

– Tutorial: Layer Viewer (p. 59)

– Tutorial: Ad Hoc Project Creation (p. 69)

In this chapter, the following topics are covered:


Start-Up and Configuration
Sherlock Settings Dialog
3D Viewer and Memory Management
Results Viewer and Memory Management

Start-Up and Configuration

Sherlock Licensing
For information on ANSYS licensing, refer to the ANSYS Licensing Guide. You can access the Sherlock
License dialog by clicking Help in the main menu and selecting General Settings. Then click the
License tab. See the section below, License Settings (p. 7), for more information on the License
dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 1
Getting Started

Standard Folder Locations


Sherlock uses two standard folder locations for its files: ANSYS Installation Folder and Sherlock User
Data Folder. The Sherlock Installation Folder contains all the common files needed to run Sherlock
on any system. Usually the ANSYS Installation Folder is located at:

64-bit Windows Platforms: c:\Program Files\ANSYS Inc\211

Although users may change this location at installation time, no files in the Installation folder need
to be changed after installation.

The Sherlock User Data Folder is created in the following location:

c:\Users\USERID\AppData\Roaming\Sherlock

where USERID is the Windows user ID. The Sherlock User Data Folder contains all log and property
files. This is also the default location for the User Project Folder in older versions of Sherlock prior to
the implementation of the Default Project Directory Setting. These folders are only visible in Windows
Explorer if the option to display hidden files is selected in Windows. Alternately, you can type the full
path into Windows Explorer.

Starting in version 20.1, Sherlock allows a user to set the Default Project Directory in Settings >
General Settings > Advanced where their projects will be created. The User Project Folder holds
design, result, and report files created by a given user. (See the Project Management (p. 639) chapter
for more details.)

Initial Testing and Configuration


You can perform the following simple tests to confirm that Sherlock is installed properly and that all
required software components are configured properly.

Sherlock Client Console


The Sherlock Client Console should open when Sherlock is started. If not, you may also open the
dialog by selecting Help > Show Console. At that point, the Sherlock Client Console window should
be displayed showing key file system properties.

Memory Management
The following sections in this chapter provide information on configuring memory settings in Sherlock:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
2 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Settings Dialog

• Launcher Settings (p. 6)

• 3D Viewer and Memory Management (p. 8)

• Results Viewer and Memory Management (p. 9)

Sherlock Settings Dialog


You can access Sherlock Settings by clicking Settings on the Main Menu and then selecting General
Settings. This opens the Sherlock Settings dialog which includes the following tabs:

• Advanced Settings (p. 3)

• Color Settings (p. 5)

• Data Store Settings (p. 5)

• Debug Settings (p. 6)

• FEA Analysis Settings (p. 6)

• Launcher Settings (p. 6)

• License Settings (p. 7)

• Meshing Settings (p. 7)

• Part Library Settings (p. 7)

• Report Settings (p. 7)

• Score Settings (p. 8)

Advanced Settings
The Advanced Settings dialog has several sections, each explained below.

Project

Default Project Directory: Select the default directory where Sherlock projects are saved.

Part List

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 3
Getting Started

Show Parts List Sources: When ENABLED, Part Property sources will be displayed in the Parts
List and the Part Editor. See Part Source Priority (p. 54).
Parts List Confirmation Status: When ENABLED, the confirmation status of a part's properties is
displayed in the parts list. See Confirming Parts (p. 57).
Import Parts List Source: When ENABLED, you will have the option to prioritize the source of
the imported part properties as User instead of BOM in the Parts List Import dialog. See Importing
the Parts List (p. 616).
Check Component Overlap: When ENABLED, Sherlock will display a warning when it detects
overlapping components in a circuit card assembly.
Unused Part Properties: When ENABLED, you can modify part properties which are not applicable
to the selected part. See Changing Part Properties (p. 49).
Mechanical Part Tabs: When ENABLED, all Part Editor tabs are enabled for Mechanical Part (p. 373)
component types.

Layer

Calculate Image DPI: This setting affects how Sherlock renders layer image screenshots (p. 273).
When ENABLED, Sherlock uses DPI calculations for improved resolution.
Convert to Image File: When ENABLED, Sherlock can take copper and laminate layers from Gerber
and ODB++ files and convert them to image layers.
Fine Arc Definition: When ENABLED, Sherlock generates smoother arcs definitions when converting
Gerber, ODB++, and IPC-2581 files.
Cutout Copper Percentage: Enabling this setting will subtract the area of cutouts from the total
PCB area when Sherlock computes the copper percentage of a layer.

Life Cycle

Unsaved Results Alert: When ENABLED, Sherlock will display an alert if you are in danger
of losing unsaved analyses when you choose to apply Life Cycle changes.

Startup

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
4 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Settings Dialog

Start Task Monitor: When ENABLED, the Sherlock task monitor will automatically open when the
Sherlock application launches.

Trace Modeling

See Advanced Trace Modeling Settings (p. 261) for details on this section of the Advanced Settings
dialog.

Color Settings
The Color Settings affect how circuit card and result layers are displayed. These settings can be
configured with the color of your choosing. Color values are formatted as #RRGGBBAA, where AA
represents the level of transparency (FF=Opaque, 80= Semi- Transparent). Colors may also be selected
by clicking the Edit button next to each color.

Data Store Settings


The Data Store Settings control the location of each user data file or folder. If a relative path is
entered, the standard Sherlock User Folder will be used as the root folder. Otherwise, the specified
absolute path will be used to locate the data file or folder.

The user data files or folders listed in the Data Store Settings are: the Material File, Laminate File,
LaminateGlass File, Solder File, Package File, Package Image Folder, Part Type File, Part Wizard File,
PTH Quality File, AccelFactors File, Manufacturer File, and the Meshed Part Folder.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 5
Getting Started

Debug Settings
Debug tags, separated by commas, can be added into the Debug Settings dialog to generate specific
debug information in the System Console window. If reference designators are entered, debug inform-
ation will be generated whenever any of the listed parts are processed. Other debug tags print out
information related to specific processing tasks within the system.

For an example how you might use the Debug settings, see Strain Map Import (p. 214).

FEA Analysis Settings


For a detailed explanation, see FEA Analysis Settings (p. 211).

Launcher Settings
The Launcher Settings are used when launching Sherlock. Any setting changes will take effect the
next time the application is launched.

Language: Select the language used in the application. Sherlock is currently supported in English
and Japanese.
Max Console Lines: Specify the maximum number of lines to retain in the Console (p. 2).
Max Memory Size: Specify the maximum amount of memory Sherlock will use for processing.
This setting does not apply to Sherlock start-up, only during high-demand processing as needed.
For more on how Sherlock uses memory and how you view memory usage, see the section, FEA
Processing (p. 228).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
6 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Settings Dialog

Max Stack Size: Specify the maximum Java stack size. Typically, this setting does not need adjust-
ing.
Show Debug Output: This enables additional application debug messages to be displayed on
the Sherlock Console (p. 2).

License Settings
The following items are found in the License dialog:

License Source: When set to ANSYS, Sherlock will use ANSYS licensing. When DFR SOLUTIONS is
selected, the appropriate license file will be imported.
License Details: This section displays details about the selected License Source.

Meshing Settings
For information on these settings, see the section on the FEA Engine (p. 210).

Part Library Settings


Here you can specify the name and location of the folder where the library data is stored. If the spe-
cified folder does not exist and Read Only is NO, then a database folder will be automatically created.

Report Settings
The Report Settings control how project and circuit card assembly reports are displayed. See Gener-
ating Report Files (p. 656).

Chart Title Font Size: This value specifies the font size used in chart titles.
Chart Tick Font Size: This value specifies the font size used in chart axis labels.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 7
Getting Started

Chart Life Cycle Location: This value specifies the location of the service life goal in life prediction
charts. Options include CHART or SUBTITLE.

Score Settings
Use the Score Settings dialog to set threshold levels for score-related results. The thresholds you
can customize are Result OK, Result Warning, and Result Error which correspond to Green, Yellow,
and Red respectively. You can see a sample score card here (p. 705).

Score Settings apply to the following analyses: Thermal Derating, PTH Fatigue, Harmonic Vibration,
Random Vibration, Mechanical Shock, Solder Fatigue, Semiconductor Wearout, ICT Analysis, and CAF
Failure.

3D Viewer and Memory Management


The Sherlock 3D Viewer may run slowly when analyzing large projects even if the computer has ample
amounts of memory. This is likely a Java issue. The amount of memory which the Sherlock 3D Viewer
can use is configured from File > Launcher Settings in the main menu of the Sherlock 3D Viewer
Client. Any changes to the Launcher Settings will take effect the next time the application is launched.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
8 of ANSYS, Inc. and its subsidiaries and affiliates.
Results Viewer and Memory Management

• Max Console Lines: Specifies the maximum number of lines to retain in the console.

• Max Memory Size: Specifies the maximum amount of memory Sherlock will use for processing.
Sherlock will not consume this on startup from the operating system but will use up to this amount
of memory as necessary.

• Show Debug Output: This will enable additional application debug messages to be displayed on
the console.

• Max Stack Size: Specifies the maximum Java stack size. Typically, this setting does not need adjusting.

Results Viewer and Memory Management


Similar to Sherlock and the Sherlock 3D Viewer, the Sherlock Results Viewer may run slowly when
analyzing large projects even if the computer has ample amounts of memory. This is likely a Java issue.
The amount of memory which the Sherlock Results Viewer may use is configured from File > Launcher
Settings in the main menu of the Sherlock Results Viewer Client. Any changes to the Launcher Set-
tings will take effect the next time the application is launched.

• Max Console Lines: Specifies the maximum number of lines to retain in the console.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 9
Getting Started

• Max Memory Size: Specifies the maximum amount of memory Sherlock will use for processing.
Sherlock will not consume this on startup from the operating system but will use up to this amount
of memory as necessary.

• Show Debug Output: This will enable additional application debug messages to be displayed on
the console.

• Max Stack Size: Specifies the maximum Java stack size. Typically, this setting does not need adjusting.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
10 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 2: Tutorial: Project Overview
ANSYS Sherlock organizes design files, inputs and analysis results as "Project Folders" that can be
managed inside of the Sherlock application and shared between Sherlock users. This lesson shows you
how to import a Sherlock project and provides an overview of the various files and displays associated
with a project. Subsequent lessons will show you how to create projects, maintain design files, modify
inputs and perform analysis tasks.

Chapter Sections:
Main Window
Importing a Project
Project Life Cycle
Circuit Card Information
Analysis
Results
Closing a Project

Main Window
When Sherlock is executed and your license file has been properly validated, the Sherlock main window
will appear.

The main window is divided into three sections, with (1) the Main Menu along the top, (2) the Project
Tree along the left side, and (3) the Content Panels occupying the rest of the window. There is a ver-
tical divider between the Project Tree and the Content Panels that allows you to make the Project Tree
panel wider or narrower to suit your purposes. You can also resize the main window at any time using
standard window controls. Since no projects exist when Sherlock is first installed, the Project Tree is
empty, waiting for you to import or create one or more projects.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 11
Tutorial: Project Overview

Importing a Project
Let's begin by importing a completed project; one which has all the necessary design files, inputs
defined, analysis tasks performed, and results generated. To import a project, select Project from the
Main Menu and select Import Project Enter "Tutorial" (or anything you want) as the project name and
press the Browse button to locate the project archive file to be imported. While not necessary, you
may also choose to create a Project Category. In this case, we're looking for the Tutorial [Link]
file located in the tutorial sub-directory of the Sherlock installation directory (C:\Program Files\ANSYS
Inc\v211\sherlock). After locating the ZIP file using the file browser, the Import Project dialog will
look like this (1):

Press the Import Project button to import all files associated with the tutorial project.

Note:

Depending on the size of the project archive file and the types of information being imported
it may take a minute or so to load the archive file. During that time, a progress dialog will
be displayed.

When the import process has completed, the Tutorial Folder will be added to the Project Tree (2) and
will be fully expanded to allow quick access to all project files, inputs and results. All folders in the
Project Tree (including the project folder itself ) can be expanded or collapsed to view or hide information
as needed. You can expand or collapse a folder either by left-clicking the triangular icon to the left of
the folder name or by right-clicking the folder name and selecting Expand or Collapse at the bottom
of the pop-up menu.

For practice, collapse the various project folders until the Project Tree looks like the tree shown here.
We can now easily see that the project consists of two basic sets of information, the Life Cycle definition
and the Main Board. In this project, only a single printed circuit card is defined, but projects may contain
more than one board. The information associated with the Main Board includes the Files, Inputs,
Analysis, and the Results.

Note:

The available menu items may differ from what is reflected in these tutorials depending on
licensed options.

The Project Tree not only organizes the information about each project, but it also serves as a to-do
list. Specifically, the icons displayed next to each folder indicate whether some user action is required
to either correct a problem or provide additional input. Sherlock does its best to eliminate the need for

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
12 of ANSYS, Inc. and its subsidiaries and affiliates.
Project Life Cycle

user inputs, but there are still times when user actions are required. In the tutorial project, most inputs
have been entered and all analysis has been performed, so we see a green check mark alongside most
folders indicating that no additional work is required. We will now review the information and files as-
sociated with each of the project tree folders.

Project Life Cycle


The project Life Cycle defines the desired reliability goals for the project and the various environmental
stresses that the circuit cards will see over the project lifetime. Sherlock can define a wide range of Life
Cycles, from simple to complex, which are then used by the analysis modules to predict circuit card
reliability. As such, it is important for you to become familiar with how modifications made to the Life
Cycle definitions affect the analysis results. In this lesson, however, since we're just getting started, we'll
just overview the various definitions. In subsequent lessons, we'll describe how the Life Cycle definitions
are used by the various analysis modules.

Expand the Life Cycle folder to show all its definitions as shown below. We see that the Life Cycle
consists of two phases called "Environmental" and "On The Road" represented by folders. In turn, each
phase consists of multiple events representing that various environmental stresses that the project will
experience during all or part of the associated phase. Such a hierarchical definition of phases and events
is very flexible, allowing users to define a wide range of Life Cycles.

Note:

The definitions in the tutorial Life Cycle were contrived to allow use to show various aspects
of the Sherlock analysis process and results. Don't use the tutorial Life Cycle as is for any
real circuit card analysis.

Life Cycle definitions can be exported to the file system using the Save Life Cycle menu option available
by right-clicking on the Life Cycle folder in the Project Tree and can be subsequently imported using
the Load Life Cycle menu option. This allows users to maintain different Life Cycle definitions over a
long period of time, easily assigne a given Life Cycle to a given project, and share Life Cycles across
many projects and users.

Let's examine the overall project goals and how often the phases and events will be seen by the circuit
card being analyzed. Right-click the Life Cycle folder and select Edit Properties from the pop-up menu
to show the Life Cycle Editor.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 13
Tutorial: Project Overview

As we can see, the Life Cycle has a name and description (that is displayed in the Project Report) and
two reliability goal properties (that are used by all analysis modules). Press Cancel to close the dialog
without modifying any of the properties.

Now right-click Life Cycle in the Project Tree and select View Life Cycle. Afterwards, select the Events
sub-tab at the bottom of the Life Cycle window to view a summary of all phase events.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
14 of ANSYS, Inc. and its subsidiaries and affiliates.
Circuit Card Information

The Events sub-tab is broken into four panels, summarizing the four different types of events that can
be defined. In this case, we see that one of the Thermal Events (Environmental – 1 – Temp Cycle) spans
the entire service life, while the other (On The Road – 4 – Thermal Shock) only spans a small percentage
of the service life. The Mechanical Shock and Random Vibe Events only occur a small number of times,
which represents a very small percentage of the five year service life.

A subsequent lesson will show how to modify Life Cycle phases and events. At this point, you can close
the Life Cycle tab in the Content Panel and collapse the Life Cycle folder in the Project Tree so we
can focus on the next project folder.

Circuit Card Information


ANSYS Sherlock maintains various information about each circuit card assigned to a given project, in-
cluding:

• Electronic design files (BOM, layer, drill, layout, etc)

• Input data derived from design files (Parts List, Stackup, etc)

• Tabular and graphical results for each analysis performed and

• Circuit card results summary (Score Card, Life Prediction, Report)

The Project Tree organizes all the circuit card information, providing quick access to both high-level
and low-level information. Expand the Main Board entry in the Project Tree to view all the information
associated with our tutorial board.

As we saw earlier, the icons associated with each entry show either the type of information to be found,
indicate that a user action is required or that a problem has occurred. In our tutorial example, all files
have been processed successfully, all inputs have been entered and reviewed, and all analysis tasks
have been executed, so we see green check marks and associated file type icons everywhere.

If we examine the Files folder, we can see the collection of design files that have been imported into
Sherlock from which input data is derived. Below, we see two Pick and Place files providing the location
of the top and bottom locations, six copper layer definition files, one drill hole file, two silk screen layers,
two solder mask layers and a map of thermal data for various components.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 15
Tutorial: Project Overview

Sherlock knows how to parse and process an extensive list of file formats. In this case, most of the files
came from an ODB++ archive of design files for the Main Board, but you are free to add files (such as
the Thermal [Link] file) that come from other sources. Subsequent lessons will explain how various
design files can be processed by Sherlock.

Layer Viewer
Aside from providing a nice listing of all design files, the Project Tree can also be used to quickly
view the design files in various formats. For example, if you double-click the [Link] entry in
the Project Tree, the Sherlock Layer Viewer window will appear as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
16 of ANSYS, Inc. and its subsidiaries and affiliates.
Circuit Card Information

The Layer Viewer displays one or more graphical layers associated with the selected circuit card. In
this case, we're viewing the top copper layer (the green traces), along with the board outline (the
blue outer box). Although we launched the layer viewer by selecting a single design file in the Project
Tree, we can easily add or remove any number of layers to the display by selecting or deselecting
the layer name on the left side of the Layer Viewer window. We can also easily filter graphical features
(such as components and/or their labels), filter parts by size or label and filter holes by size. The
combination of layer and feature filtering makes the Layer Viewer an excellent way to examine circuit
card design details and analysis results.

For example, the display shown below results from selecting the RV Disp RMS layer in the FEA Results
folder, along with the comp-top layer in the Components folder and Mount Points in the Mechan-
ical Folder.

We've also chosen to display all component labels, filter all parts smaller than 5 mm and filter all
holes less than 3 mm (except mount points). The buttons in the lower right corner of the Layer
Viewer can be used to export a snapshot of the display to an image file, zoom in, zoom out and zoom
to fit. You can also zoom in by double-clicking anywhere in the layer viewer and pan the display by
dragging the mouse while holding the left mouse button down. Additionally, you may measure the
distance between any two points with the distance tool.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 17
Tutorial: Project Overview

Take some time to click through the various design and result layers provided with the tutorial and
you'll quickly see the usefulness of the Layer Viewer. Subsequent lessons will show how to modify
design files and input data using the Layer Viewer.

Input Data
Design files provide Sherlock with graphical representations of the circuit card, but they also provide
a wealth of data related to the circuit card components and the circuit card itself. Such data is used
as input to the analysis modules, depending on their specific needs, and therefore represents a crit-
ical part of the process performed by Sherlock.

If you expand the Inputs entry in the Project Tree as shown below, you'll see entries for the Parts
List, Stackup data, Layers, Pick & Place, and Drill Holes. The last three entries (Layers, Pick & Place,
and Drill Holes) are simply convenient links to the Layer Viewer and need no further discussion. The
first two, however, display two very important data displays, namely the Parts List and Stackup Data.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
18 of ANSYS, Inc. and its subsidiaries and affiliates.
Circuit Card Information

Double-click the Parts List entry to display the Main Board Parts List in the Content Panel as shown
here:

As the name implies, the Parts List shows a list of all parts (that is, components) associated with the
circuit card. The Parts List is color coded to indicate where the various data was found (data can be
derived from multiple, conflicting sources) and whether the user has reviewed the data for correctness.
The Parts List supports several features that allow you to drill-down to specific part properties
(Sherlock maintains many dozens of properties per part, as well as different property values from
different sources), modify part properties as needed, filter parts for viewing/editing purposes and
export part properties to a CSV file for further processing. Subsequent lessons (specifically the lessons
covering how to import and create projects) describe in detail the Parts List features and how to use
them in Sherlock.

The Parts List holds information about each of the parts used on a circuit card, but the data associated
with the circuit card itself is maintained as Stackup Data. Double-click the Stackup entry in the Project
Tree to display the Main Board Stackup tab (shown below) in the Content Panel.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 19
Tutorial: Project Overview

The Stackup tab shows the design and mechanical properties associated with each circuit card layer
(as derived from the design files or entered manually by the user) and the aggregate mechanical
properties derived automatically by Sherlock for the circuit card. These mechanical properties are
used primarily by the Finite Element Analysis module and will be covered in more detail in that
lesson.

Analysis
All the design files and input data are maintained for only one purpose, to allow the Sherlock analysis
modules to predict the reliability of the circuit card. For the most part, analysis tasks can be executed
at any time once a minimal amount of data has been entered. Clearly, if only minimal data has been
entered and/or the data has not been fully verified, then the analysis results may be suspect; nonetheless,
Sherlock will still generate the results. It is ultimately up to the user to ensure that the input data is as
correct as possible or required.

That said, Sherlock does automatically take some actions to ensure that the inputs and results maintained
in a project are consistent. Specifically, Sherlock automatically clears analysis results, score cards, Life
Prediction curves, and any previously generated report whenever key input data is modified. For example,
if you add or remove a Thermal Event to the Life Cycle, then any analysis result that depends on
thermal events will be cleared. Similarly, if you move the location of a part by editing the Parts List or
by using the Component Editor in the Layer Viewer, then Sherlock will automatically clear all results
that depend on part location.

The results generated by each analysis module may differ in various ways depending on the type of
analysis being performed, but they also show similar types of results, such as:

• Summary panel showing key input values and results,

• Table of detailed result data (per part, per hole, etc)

• Life Prediction curve (Deterministic analysis modules only)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
20 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis

• Result data distribution charts

For example, double-click the Solder Fatigue entry in the Project Tree to display the Main Board
Solder Fatigue tab in the Sherlock Result Viewer as shown below. The Summary Panel provides an
overview of the scores generated for each component analyzed, the key inputs used for the analysis,
and statistics about the analysis process itself. With a module score of 0.0, we see that there are major
concerns for this circuit card regarding solder fatigue failures.

The Time to Fail and Table sub-tabs at the bottom of the Solder Fatigue results panel provide views
of the analysis results, which can be exported as image or CSV files. Additionally, when right-clicking
on the Table sub-tab, the life prediction chart for the selected part may also be displayed.

Take some time to click through the various tutorial results provided by each of the analysis modules.
When viewing a tabular display, you can right-click any row for additional features. When viewing
graphical charts, you can also right-click anywhere in the chart for additional features. These topics will
be discussed in detail in subsequent lessons.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 21
Tutorial: Project Overview

Results
The primary purpose of ANSYS Sherlock is to generate analysis results. In this section, we review how
the analysis results are summarized in Sherlock as a Score Card, Life Prediction chart and a printable
PDF Report. To begin, expand the Results folder (1, below) to reveal the underlying project results.
Keep in mind, for simplicity, the tutorial project only has a single circuit card defined. Nonetheless,
there are plenty of results to examine.

The icons next to each folder entry indicates that our results are ready and waiting to be reviewed. If
results were not available or a problem occurred while generating them, then a red “X” icon would be
displayed next to the unavailable item.

Score Card
Double-click the Score Card entry to display the Project Results tab in the Content Panel. Shown
above (2) is a portion of the tutorial project score card.

The Score Card is a collection of score cards, one each for the various analyzes performed on the
circuit card. The individual scores for each analysis task, as well as a break-down of component scores
is provided. The individual scores are then combined to produce an Overall Score for the project.
In this case, the Main Board has some significant problems and the Overall Score is 0.0 – not a pro-
duction-ready circuit card.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
22 of ANSYS, Inc. and its subsidiaries and affiliates.
Results

Life Prediction Chart


The Life Prediction chart shows a summary of all analysis results that predict the reliability of circuit
card holes or components, as well as a graphical display of the reliability goals specified in the Life
Cycle definition.

Here, we can easily see that the Main Board will not meet the life cycle reliability goals. At the 5-year
point, failures related to Random Vibration Fatigue, Mechanical Shock, Harmonic Vibration Fatigue,
In-Circuit Test (ICT), and Plated Through Hole Fatigue (PTH Fatigue) are predicted to be well below
the desired goal. Failures related to Solder Fatigue and Semiconductor wearout are predicted to be
within the desired goal. The Combined Failure curve shows that the Main Board will simply not meet
its overall reliability goals.

Project Report
It's often said that a job isn't complete until the paperwork is done. Sherlock helps as much as possible
by generating a printable PDF Report containing as much or as little as you want about the pro-
ject. Aside from choosing various options from a long list of options, you need only press a button
to generate and/or view the report.

We've already generated a report for the tutorial project, so let's examine it first by double-clicking
on the Report entry in the Project Results folder. At that point, your favorite PDF viewer should
appear, displaying the Sherlock report, as shown here.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 23
Tutorial: Project Overview

As you page through the report you'll see Circuit Card Results as well as detailed results and problem
areas determined by each of the analysis modules.

The report provided with the tutorial project is 51 pages. If all the report options are selected for a
circuit card report, then a report could be very long. It's up to you to decide how much or how little
you want to include in each report. Fortunately, you can change your mind at any time and generate
as many different reports as needed.

Note:

Sherlock only stores the last project report generated for subsequent viewing. If you need
different project reports for different purposes or need to maintain an archive of reports
over time for a given project - either save a copy of the PDF report in a separate location,
or save the results using the Sherlock Result Viewer (described later in the tutorial).

To see how project reports are generated, we'll take a quick look at the Report Properties dialog by
right-clicking the Report entry in the Project Tree and selecting the Generate Report menu option.
Below, we see that the report consists of a sequence of optional sections. By simply selecting or
deselecting sections you can customize the report to suit your purposes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
24 of ANSYS, Inc. and its subsidiaries and affiliates.
Results

For convenience, if a high-level tree entry is deselected, then all lower-level entries in that sub-tree
will NOT appear in the report, regardless of their individual selection setting. This allows users to
exclude large sections temporarily without losing all lower-level selection settings.

We're done with the Project Results for now, so you can close the Results tab in the Content Panel
and collapse the Results folder in the Project Tree.

Saving Results
The circuit card report will only contain the circuit card results applicable to the given circuit card
and may also contain all the selected analysis layers generated for each circuit card. Circuit Card
Results can be saved for later comparison and reporting purposes. Right-click the Results folder and
select the Save Results menu option.

A new message will appear asking you to name the analysis results. You may also choose to overwrite
existing results or auto save subassembly results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 25
Tutorial: Project Overview

After entering a name (Main Board 2020-08-27_1223, in this case) for the results, click Save Analysis
Results. A snapshot of the current results is saved to the Saved Results folder.

Closing a Project
As we've seen above, you can expand or collapse any folder in the Project Tree as needed, including
the project folder itself. When a project folder is collapsed, all the entries associated with that project
are hidden from view, but internal resources associated with the project are still maintained. If you want
to keep a Sherlock project available, but not consume any resources then you can close a project by
right-clicking on the project folder and selecting the Close Project menu option. When a project is
closed, the project name is displayed in the Project Tree, but all entries are hidden from view and no
resources are used in Sherlock. Additionally, the Layer Viewer and any content panels associated with
the project will be automatically closed. You can re-open a closed project at any time by right-clicking
the project folder and selecting the Open Project menu option (which will be the only available menu
option).

Since we're done with the tutorial project for now, go ahead and close the project. We'll let you know
in subsequent lessons when we need to access it again.

Summary

We've concluded our overview of ANSYS Sherlock's key capabilities by examining a completed tutorial
project. The lessons which follow describe how to import and create Sherlock projects, including detailed
discussions of the critical data validation process. You'll see many of the same displays discussed in this
lesson but with more detailed explanations. Upcoming lessons also describe each of the analysis modules
in more detail, the inputs required by them, and the iterative analysis process (entering data, performing
analysis, reviewing results, and repeating) that can be used to improve the accuracy of your reliability
predictions over time.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
26 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 3: Tutorial: ODB++ Project Creation
There are two primary ways to create a Sherlock project: (a) import data from an ODB++ archive (or
ODB XML archive) and (b) create a project consisting of an ad hoc collection of layer files, drill files and
data files. This lesson describes the process used to import data from an ODB++ archive (or ODB XML
archive) which is the easier of the two processes. The imported data will be used throughout other
lessons, so even if you don't expect to work with ODB++ archives you'll want to go through this lesson.
Subsequent lessons will address the additional steps needed to create an ad-hoc project.

Chapter Sections:
Importing an ODB++ Archive
Project Name and Properties

Importing an ODB++ Archive


ODB++ archives consist of a standard collection of folders and data files used to describe almost
everything needed to design and analyze circuit cards. As such, they represent the easiest method for
creating a Sherlock project. In fact, Sherlock is capable of automatically scanning the archive looking
for all the data that is required for analysis purposes.

ODB++ archives are usually transferred as a single compressed file with a suffix of .tgz or .[Link] or an
uncompressed file with a suffix of .tar. It is also possible that the ODB++ archive has already been un-
packed into a directory containing various sub-folders and data files. Finally, an ODB++ archive can be
formatted as a single XML file, which is called an ODB XML Archive. Sherlock can import ODB++ archives
in any of these forms using basically the same process.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 27
Tutorial: ODB++ Project Creation

To import an ODB++ archive, select the Import ODB Archive or Import ODB XML Archive option from
the Project menu, at which point a dialog will be displayed allowing you to select the archive to be
imported.

Press the Browse button to locate the archive file. The ODB++ tutorial archive file is located in the tu-
torial sub-directory of the Sherlock installation directory (usually C:\Program Files\ANSYS
Inc\v211\sherlock) in the file named ODB++ [Link].

The Assign Stackup Thickness option will use the copper and laminate layer thickness values found
in ODB++ archive attributes for the given layer. When disabled, Sherlock will automatically assign
computed thickness values for each layer.

The Include Other Layers option will add all found layers to the project. Layers which are not used
directly by Sherlock will be included as Other Layers in the Sherlock Layer Viewer.

The Process Cutouts option will attempt to process cutouts from the ODB++ file. These will appear as
a cutouts layer in the Sherlock Layer Viewer.

After selecting the archive file, press the Scan Archive button to determine the types of data that can
be automatically retrieved from the archive. After the ODB archive has been scanned, the following
dialog will appear.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
28 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing an ODB++ Archive

The Component Property Mapping dialog is an important, but sometimes overlooked, dialog that allows
you to map various component/part properties included in the ODB++ archive to corresponding Sherlock
property fields. Sherlock automatically attempts to match appropriate fields when they are found, but
most CAD tools allow circuit card designers to create their own property names and fill them with ar-
bitrary data, so it is not always possible to determine which field should be used.

Note:

In this tutorial archive, only three properties are defined, and the names are easily matched
with Sherlock property names. In a real-world archive, there can be dozens of property names,
in which case you'll need to determine which, if any, should be mapped to Sherlock properties.

The bold-face label is the property name defined in the ODB++ archive (for example, DESCRIPTION).
The pull-down choice list shows the Sherlock property names that can be matched (for example, Part
Description) and the right-side notation shows example data pulled from each of the property fields
found in the ODB++ archive (e.g. Res, 0 OHM, 1/8W, 5%, 1206, RoHS).

You may map the ODB++ properties to Sherlock properties however you think is best. In fact, you can
map multiple ODB++ properties to the same Sherlock property if you can't decide which is best. In such
cases, all the ODB++ property values assigned to the same Sherlock property will be concatenated,
separated by commas.

For example, consider the following set of ODB++ properties found in another archive, as shown here.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 29
Tutorial: ODB++ Project Creation

In this case, 24 different properties are defined in the ODB++ archive. Sherlock automatically mapped
DESCRIPTION to "Part_Description" but didn't recognize the other properties. We decided that the
MANUFACTURE property is also valuable, so we assigned it to the Part_Description property as well.

After scanning the list of properties, we find two different properties that could be used as part numbers,
the PART and MAN properties. The MAN part number looks more useful than the other, so we've as-
signed that ODB++ property to the Sherlock Part_Number property.

After you've reviewed the various properties and have decided that they are mapped appropriately,
press the OK button to continue the import process.

After the part properties have been mapped, the Import ODB++ Files dialog will display the complete
list of data that can be extracted automatically from the archive, as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
30 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing an ODB++ Archive

In this typical case, Sherlock has found a complete set of files, including package information, stackup
data, board outline, drill holes and all the important layers. In some cases, various files may be missing
from the ODB++ archive. Although the lack of such files may prevent certain types of analysis, Sherlock
will still import whatever it can. Missing files can be added subsequently or a more complete ODB++
archive can be re-imported later without losing changes made in Sherlock.

Note:

ODB++ archives are generated from sophisticated CAD tools. If you're given an ODB++
archive that is missing some key files, you may want to ask the person who generated the
file to generate another ODB++ archive containing the necessary data.

Press the Import Archive button to start the import process, at which point the import dialog will close
and the project navigation tree will be updated to include all the files being imported.

Left Image (below): While each ODB++ file is being imported and processed a clock icon will be dis-
played next to the file name in the navigation tree.

Right Image (below): When all of the ODB files have been successfully imported the clock icons will
be replaced by an icon representing the board type. If any errors were generated while processing the
files, then the file will be highlighted with an orange “?” icon.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 31
Tutorial: ODB++ Project Creation

At this point, all the useful data from the ODB++ archive has been imported into a Sherlock project.

Project Name and Properties


By default, the project name used during the ODB++ archive import is the same as the currently selected
project in the project tree. This allows an ODB++ archive to be imported as another circuit card into
an existing project. If no project is currently selected, or to import the ODB++ archive as a new project,
clear out the project name in the import dialog. When empty, the ODB++ archive name will then be
used as the project name. If you'd like to change the project name after it has been created, right-click
the Project Folder and select Project Properties to change the name and enter an optional description.

By default, the ODB++ archive name is used as the circuit card name. You may also right-click the circuit
card folder and select Circuit Card Properties to change the circuit card name after import, as well as
other circuit card properties (to be discussed in another lesson).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
32 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 4: Tutorial: Reviewing Part Properties
In previous lessons, we've seen how ANSYS Sherlock streamlines the process of importing circuit card
and part properties from various types of CAD files. Such automated processes significantly decrease
the amount of time needed to prepare for circuit card analysis, but there is one important step that
requires careful attention, namely reviewing all the part properties imported from the CAD files. Even
if Sherlock successfully imports all the data from CAD file, it is still very important to review all of the
components in the Parts List to ensure that the information is accurate. Many properties contained in
CAD files are simply passed along as whatever string values were entered by the user. Sometimes those
values are correct and sometimes not. Since PCB designers and manufacturers don't always use those
properties, they may not be maintained properly.

Sherlock relies on several critical properties, such as package names and descriptions in order to make
educated guesses about the parts being analyzed. It has several built-in heuristics designed to extract
as much information as possible from such data fields, by comparing what it finds to a collection of
internal databases in an attempt to standardize property values whenever possible. Unfortunately, the
task is not always possible, especially when key data is missing from the CAD files themselves, so it's
the user's responsibility to review the part properties and correct them as needed to ensure accurate
analysis results. In this section, we describe the mechanisms provided by Sherlock to streamline this
verification process and provide examples of some common data modifications.

Sherlock analysis tasks can be run at any time, with or without correct part properties, but the accuracy
of the results depends on the accuracy of the properties themselves. So, don't be afraid to work in a
cyclic fashion: review properties, run analysis, update properties, run analysis, etc. There's no harm in
doing a quick and dirty analysis immediately after importing the CAD file, but just remember that the
results may not be as accurate as possible. As you refine the part properties, the analysis results will
become more accurate.

Note:

Sherlock doesn't require an extensive data input phase before starting analysis. Some analysis
tasks may not run without key inputs, but for the most part Sherlock will make assumptions
and select defaults so that you can get started quickly. As you refine the inputs, the analysis
will be more accurate for your project.

Chapter Sections:
Sherlock Part Properties
Managing Part Properties
Filtering and Selecting Parts
Changing Part Properties
Part Source Priority
Changing Properties for Multiple Parts
Confirming Parts

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 33
Tutorial: Reviewing Part Properties

Updating Component Layers

Sherlock Part Properties


Sherlock makes use of an assortment of part properties to identify parts, locate them on the PCB, de-
termine package characteristics, and reliability aspects, as well as other processing needs. This document
lists all of the part properties used by Sherlock. The identifier shown in parentheses for each property
is the unique value used internally by Sherlock to designate the property. When importing part properties
Sherlock will automatically recognize spreadsheet columns using either the part property identifier or
the part property label. Properties tagged with [DB] may be stored in the Sherlock Part Database to be
shared across CCAs and projects. Properties tagged with [PKG] may be stored in the Package Database
and copied to each part assigned a given package name.

Activation Energy (Ea) (activationEnergy)

Arrhenius based acceleration factor (in eV). This is only applicable for Prediction (Type 2) and Test
Data input types.

Applied Current (A) (opCurrent) [DB]

Operating current (A) for the component

Applied Duty Cycle (%) (opDutyCycle)

The applied duty cycle

Applied Freq (MHz) (opFrequency) [DB]

Operating frequency in MHz for crystal components and for IC components used in the calculation
of acceleration factors in Semiconductor Wearout analysis.

Applied Power (W) (powerDisp) [DB]

Average amount of power in watts dissipated by the component.

Applied Ripple (mA) (rippleCurrentApplied)

Operating ripple current (mA)

Applied Voltage (V) (opVoltage) [DB]

Operating voltage (V) for IC components used in the calculation of acceleration factors in Semicon-
ductor Wearout analysis.

Ball Chan Width (ballChanWidth) [DB] [PKG]

Width of the outer ball region for BGA components with PERIMETER, ISLAND or CHANNEL layouts.
The "Ball Units" property specifies the units for this property.

Ball Count (ballCount) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
34 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Number of solder balls for a BGA component.

Ball Diameter (ballDiam) [DB] [PKG]

Maximum diameter of BGA solder ball measured in the horizontal plane midway between package
and pad. The "Ball Units" property specifies the units for this property.

Ball Height (ballHeight) [DB] [PKG]

Maximum height of a solder ball for a BGA component. The "Ball Units" property specifies the units
for this property.

Ball Island Cols (ballIslandCols) [DB] [PKG]

Number of solder ball columns in the BGA island.

Ball Island Rows (ballIslandRows) [DB] [PKG]

Number of solder ball rows in the BGA island.

Ball Material (ballMaterial) [DB] [PKG]

Type of solder ball used to connect the BGA to the PCB. Supported values are defined in the solder
data file provided by Sherlock and/or a user-defined data file.

Ball Modeling (ballModel)

Indicates if the solder balls associated with this part should be modeled when building FEA models.
Supported values are NONE, ONE ELEMENT and TWO ELEMENTS.

Ball Package Diameter (ballPkgDiam) [DB] [PKG]

Diameter of BGA solder ball where the ball attaches to the package. The "Ball Units" property specifies
the units for this property.

Ball Pad Diameter (ballPadDiam) [DB] [PKG]

Diameter of BGA solder ball where the ball attaches to the pad. The "Ball Units" property specifies
the units for this property.

Ball Pattern (ballPattern) [DB] [PKG]

Arrangement pattern of all solder balls for a BGA component. Supported values are FULL, PERIMETER,
ISLAND, CHANNEL, NETLIST and UNKNOWN.

Ball Perimeter Cols (ballPerimeterCols) [DB] [PKG]

Number of solder ball columns along the BGA perimeter.

Ball Perimeter Rows (ballPerimeterRows) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 35
Tutorial: Reviewing Part Properties

Number of solder ball rows along the BGA perimeter.

Ball Pitch (ballPitch) [DB] [PKG]

Distance between adjacent solder balls for a BGA component. The "Ball Units" property specifies
the units for this property.

Ball Units (ballUnits) [DB] [PKG]

Unit of length for all BGA properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Board Side (locSide)

Side of board on which the component exists. Supported values are TOP, BOT and BOTTOM.

Capacitance (uF) (capacitance) [DB]

Capacitance in micro-Farads.

Confidence Bounds (%) (testConfidence)

Desired confidence bounds extracted from the test for semi-conductor wearout

Corner Face (packageCornerFace) [DB] [PKG]

Orientation of the package corners. Supported values are TOP_BOTTOM, FRONT_BACK and
LEFT_RIGHT.

Corner Radius (packageCornerRadius) [DB] [PKG]

Radius of the package corner when "Package Corner" is MITER or ROUND. The "Package Units"
property specifies the units for this property.

Corner Shape (packageCorner) [DB] [PKG]

Shape of the package corners. Supported values are SQUARE, MITER and ROUND.

Created By (userCreatedBy) [DB]

The username (and timestamp) of the person who created the library item definition.

Cycle Rate (cycle/hr) (cycleRate)

Average number of cycles per hour experienced by a switch, relay or connector component over
its lifetime.

Die Length (dieLength) [DB] [PKG]

Length of the die (typically the maximum dimension). The "Die Units" property specifies the units
for this property.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
36 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Die Material (dieMaterial) [DB] [PKG]

Primary material of the DIE. Material names are defined in the material data file provided by Sherlock
and/or a user-defined data file.

Die Thickness (dieThickness) [DB] [PKG]

Thickness (height) of the die. The "Die Units" property specifies the units for this property.

Die Units (dieUnits) [DB] [PKG]

Unit of length for all die properties except "Feature Size". Supported values are IN, MM, M, MIL, MI-
CRON and NM.

Die Width (dieWidth) [DB] [PKG]

Width of the die (typically the minimum dimension). The "Die Units" property specifies the units for
this property.

Documents (wearoutDocuments)

These are documents referenced for the input semiconductor wearout data. (Optional)

ESD Susceptibility (V) (esdVoltage) [DB]

Electrostatic Discharge (ESD) susceptibility in volts.

Electrical Derating (0-1) (derating)

Numeric derating factor (0.0-1.0) used for electrical failure analysis indicating the ratio of the actual
usage of the component to the maximum rated usage for the component.

FITs (per 1E6 hours) (fits) [DB]

Failure Rate per 1E6 hours. If this property is specified for a given part in the Parts List or Part
Database then it may be used by the Constant Failure Rate analysis module instead of the value
computed by the selected failure rate model.

Failure Class (frType) [DB]

MIL-217 Failure Rate designator. Supported values are defined by the failure rate data file provided
by Sherlock.

Failure Mechanism (componentFailureMode)

This property selects specific Component Failure Mechanism Analysis options which are
vendorspecific. When a vendor is selected which uses these options, this field will be enabled.

Flag Length (flagLength) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 37
Tutorial: Reviewing Part Properties

Flag length (usually maximum dimension) for the IC component. The "Flag Units" property specifies
the units for this property.

Flag Thickness (flagThickness) [DB] [PKG]

Flag thickness (height) for the IC component. The "Flag Units" property specifies the units for this
property.

Flag Units (flagUnits) [DB] [PKG]

Unit of length for all flag properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Flag Width (flagWidth) [DB] [PKG]

Flag width (usually minimum dimension) for the IC component. The "Flag Units" property specifies
the units for this property.

Frequency Exponent (frequencyExponent)

Power law based accelaration factor (m). This is only applicable for Prediction (Type 2) and Test
Data input types.

Initial Burn-in (hrs) (testBurnIn)

Number of hours parts spent in a simulated working environment.

Input Data Type (wearoutType)

The Input Data Type is the type of reliability data being provided.
Prediction (Type 1) is for predictions specific for the Thermal Events defined in the Sherlock Life
Cycle.
Prediction (Type 2) is for predictions at a different environment (different temperature, voltage,
and/or frequency) that require an acceleration factor (AF) to extrapolate to the Thermal Events in
the Sherlock Life Cycle.
Field Data is collected from the device in the field.
Test Data is collected during test conditions.
Supported values are PREDICTION (TYPE 1), PREDICTION (TYPE 2), FIELD DATA and TEST DATA.

JEP95 (packageJEP95) [PKG]

Unique JEP95 designator.

Junction Res (C/W) (junctionRes) [DB] [PKG]

Junction resistance in degrees C per watt.

Laminate Thickness (packageLaminateThickness) [DB] [PKG]

Thickness of the package laminate The "Package Units" property specifies the units for this property.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
38 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Lead Bend (degrees) (leadBend) [DB] [PKG]

Indicates how far the lead is bent from vertical in degrees. When zero, the lead will be entirely
vertical. When greater than zero, the bottom vertical lead segment will have a length specified by
the "Lead Height" property and the upper lead segment will have a length specified by the "Lead
Shoulder" property. For SIP layouts, the angle may be between 0 and 90 (inclusive). For DIP layouts,
the angle may be 0 or 90, where an angle of 0 indicates that the leads are inside the part outline
and an angle of 90 indicates the leads are outside the part outline. For AXIAL layouts, the angle
may be 90 or 180, where an angle of 180 indicates that the radial part is standing on edge, with
the top lead bent 180 degrees.

Lead Count (leadCount) [DB] [PKG]

Number of component leads (aka. pin count)

Lead Foot Length (leadFootLength) [DB] [PKG]

Length of the lead foot measured perpendicular to the component body. The "Lead Units" property
specifies the units for this property.

Lead Geometry (leadGeometry) [DB] [PKG]

Defines the lead shape. Supported values are C_LEAD, GULLWING, J_LEAD, LEADLESS, L_LEAD, STUB
and THRUHOLE.

Lead Height (leadHeight) [DB] [PKG]

Height of the lead. The "Lead Units" property specifies the units for this property.

Lead Hole Diameter (leadHoleDiam) [DB] [PKG]

Diameter of the hole used to solder the lead. The "Lead Units" property specifies the units for this
property.

Lead Layout (leadLayout) [DB] [PKG]

Defines how leads are arranged for a thru-hole part. Supported values are SIP, DIP, AXIAL, CIRCULAR,
GRID, SIP_SINK, SINGLE, SINGLE_1, SINGLE_2, SINGLE_SINK, DUAL_LONG, DUAL_SHORT, QUAD and
RECTANGULAR. </html>

Lead Long Count (leadLongCount) [DB] [PKG]

Number of leads on long side of component

Lead Material (leadMaterial) [DB] [PKG]

Primary material of which the lead is made. Material names are defined in the material data file
provided by Sherlock and/or a user-defined data file.

Lead Pitch (leadPitch) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 39
Tutorial: Reviewing Part Properties

The center-to-center distance between adjacent leads in a SIP or DIP pattern. The "Lead Units"
property specifies the units for this property.

Lead Short Count (leadShortCount) [DB] [PKG]

Number of leads along short side of component

Lead Shoulder (leadShoulder) [DB] [PKG]

The length of the non-vertical lead segment when a lead is bent. The "Lead Units" property specifies
the units for this property.

Lead Standoff (leadStandoff ) [DB] [PKG]

The distance between the PCB and the bottom of the body of a part with bent leads. The standoff
distance must be greater than 0.01 mm and less than the lead height minus one-half the lead
thickness. The "Lead Units" property specifies the units for this property.

Lead Stiffness (leadStiffness) [DB] [PKG]

The lead stiffness used by the Leaded Solder Joint Fatigue analysis model. The default lead stiffiness
is found by the formula:
s = (3 * E * (w * (t^3) / 12) / h^2) / h
where
E = lead modulus MPa
w = lead width (mm)
h = lead height (mm)
t = lead thickness (mm)

Lead Thickness (leadThickness) [DB] [PKG]

Thickness of the lead measured perpendicular to the component body. The "Lead Units" property
specifies the units for this property.

Lead Units (leadUnits) [DB] [PKG]

Unit of length for all lead properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Lead Width (leadWidth) [DB] [PKG]

Width of the lead. The "Lead Units" property specifies the units for this property.

Lifetime (lifetime) [DB]

Endurance test time for a component measured in hours

Load Type (loadType)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
40 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Type of load being controlled by a switch or relay. Supported values are RESISTIVE, INDUCTIVE and
LAMP.

Location Units (locUnits)

Unit of length for the component location. Supported values are IN, MM, M, MIL, MICRON and NM.

Manufacturer (partManufacturer) [DB]

Manufacturer of the part.

Material (partMaterial) [DB] [PKG]

Primary material of which the part is made. Material names are defined in the material data file
provided by Sherlock and/or a user-defined data file.

Max Rated Current (A) (ratedCurrent) [DB]

Maximum amount of current in amps that can be handled by the component

Max Rated Power (W) (ratedPower) [DB]

Maximum amount of power in watts that can be dissipated by the component.

Max Rated Temp (C) (ratedTemp) [DB]

Maximum temperature in degrees C at which the component can be operated.

Max Rated Voltage (V) (ratedVoltage) [DB]

Maximum voltage in volts that can be handled by the component.

Max Storage Temp (C) (storageTempMax) [DB]

Maximum temperature in degrees C at which the component can be stored. If not specified then
the max rated operational temperature will be used.

Min Rated Temp (C) (ratedTempMin) [DB]

Minimum temperature in degrees C at which the component can be operated.

Min Storage Temp (C) (storageTempMin) [DB]

Minimum temperature in degrees C at which the component can be stored. If not specified then
the min rated operational temperature will be used.

Mirrored (locMirrored)

Indicates if the component is mirrored across the Y-axis. Supported values are YES, NO, TRUE, FALSE,
ON, OFF, ENABLED and DISABLED.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 41
Tutorial: Reviewing Part Properties

Model Leads (modelLeads)

Indicates if the leads associated with this part should be modeled when building FEA models. Sup-
ported values are YES, NO, TRUE, FALSE, ON, OFF, ENABLED and DISABLED.

Model Part (modelPart)

Indicates if this part should be modeled when building FEA models. Supported values are YES, NO,
TRUE, FALSE, ON, OFF, ENABLED and DISABLED.

Modified By (userModifiedBy) [DB]

The username (and timestamp) of the person who last modified the library item definition.

Notes (userNotes) [DB]

Additional information associated with the library item.

Number of Bits (numBits) [DB]

Specifies the word size (e.g., 8 bit, 64 bit) for microprocessor components or the number of memory
bits (for example, 64K bits) for ROM/RAM components.

Number of Contacts (numContacts) [DB]

Number of contacts (aka. poles) in a switch or relay.

Number of Devices (testDeviceCount)

Number of parts or samples tested during the test period.

Number of Elements (numElements) [DB]

Number of distinct elements in components such as resistor networks or quad packages.

Number of Failures (testFailures)

Number of part failures that occurred during the test period

Number of Gates (numGates) [DB]

Number of gates in an IC gate array.

Number of Throws (numThrows) [DB]

Number of throws for a switch or relay (for example,, single throw, double throw).

Number of Trans (numTrans) [DB]

Number of transistors in an IC gate array.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
42 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Overmold Material (overmoldMaterial) [DB] [PKG]

Primary material of the package overmold. Material names are defined in the material data file
provided by Sherlock and/or a user-defined data file.

Overmold Thickness (overmoldThickness) [DB] [PKG]

Thickness of the package overmold. The "Package Units" property specifies the units for this property.

Package Length (packageLength) [DB] [PKG]

Length of the package (usually maximum dimension). The "Package Units" property specifies the
units for this property.

Package Mount (packageMount) [DB] [PKG]

Package mounting type. Supported values are SMT and TH.

Package Name (packageName) [DB] [PKG]

Unique package name. Supported values are defined in the package data files provided by Sherlock
or user-defined package data files.

Package Thickness (packageThickness) [DB] [PKG]

Thickness (height) of the package. The "Package Units" property specifies the units for this property.

Package Units (packageUnits) [DB] [PKG]

Unit of length for all package properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Package Width (packageWidth) [DB] [PKG]

Width of the package (usually minimum dimension). The "Package Units" property specifies the
units for this property.

Pad Length (padLength) [DB] [PKG]

Length of the pad measured parallel to the attachment side of the component. The "Pad Units"
property specifies the units for this property.

Pad Pitch (padPitch) [DB] [PKG]

Center-to-center distance between pads. The "Pad Units" property specifies the units for this property.

Pad Units (padUnits) [DB] [PKG]

Unit of length for all pad properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Pad Width (padWidth) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 43
Tutorial: Reviewing Part Properties

Width of the pad measured perpendicular to the attachment side of the component. The "Pad Units"
property specifies the units for this property.

Part Description (partDescription) [DB]

Description of the part.

Part Number (partNumber) [DB]

Manufacturer or internal part number for the component.

Part Technology (componentTechnology)

Component Lifetime Part Technology. Supported values are OTHER and ELECTROLYTIC.

Part Temp Rise (thermalTemp)

Default temperature rise (above ambient) for the part used when no thermal maps exist for the
PCB. If "DEFAULT" is specified, then the default part temperature rise specified in the Solder Fatigue
analysis module will be used during the analysis. The "Thermal Units" property specifies the units
for this property.

Part Type (partType) [DB]

Functional part type (for example, capacitor). Supported values are defined in the part type data
file provided by Sherlock and/or a user-defined data file.

Process Node (dieProcessNode) [DB] [PKG]

Die process node size and type

Production Year (partYear) [DB]

First year that the part was produced by the manufacturer. If specified, this property supercedes
the "Production Years" property. The value must be between 1900 and 2100.

Production Years (partYears)

Number of years that the part has been produced by the manufacturer. This property is superceded
by the "Production Year" property (if specified).

Quality Class (partQuality) [DB]

MIL-217 Quality Class. Supported values are UNKNOWN, QUALIFIED, SCREENED, INSPECTED and
OTHER.

Quality Factor (partQualityFactor)

Quality factor used for failure rate analysis when the Part Quality is "OTHER"

Rated Ripple (mA) (rippleCurrentRated)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
44 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

Maximum amount of ripple current (mA) that can be handled by the component

Ref Des (refDes)

Reference designator for a specific component.

Reliability Data Source (wearoutDataSource)

Source type of the semi-conductor wearout data Supported values are MANUFACTURER, USER and
JEDEC (GENERIC).

Reliability Metric (reliabilityMetric)

The reliability metric provided by the manufacturer, user, or from a generic source (like JEDEC). If
reliability or probability of failure is selected, use the Test Duration (hrs) field to indicate the time
period over which the reliability metric is valid. The "Reliability Metric Units" property specifies the
units for this property.

Reliability Metric Units (reliabilityMetricUnits)

Units of measure for data provided by manufacturer or field data Supported values are RELIABILITY
(%), PROB OF FAILURE (%), MTBF (YEARS), MTBF (HOURS), FITS (1E6 HRS) and FITS (1E9 HRS).

Resistance (ohm) (resistance) [DB]

Resistance in ohms

Ripple Temp Rise (rippleCurrentTempRise)

Temperature rise due to the heat generation by the ripple current. The "Thermal Units" property
specifies the units for this property.

Rotation (locRotation)

The orientation of the component on the board in degrees.

Seal Type (partSealType) [DB]

Technology used for sealing the part. Supported values are NONHERMETIC, HERMETIC, GLASS and
CAN.

Sink Length (sinkLength) [DB] [PKG]

Length of the sink stub measured perpendicular to the component body. The "Lead Units" property
specifies the units for this property.

Sink Thickness (sinkThickness) [DB] [PKG]

Thickness of the sink stub lead. The "Lead Units" property specifies the units for this property.

Sink Width (sinkWidth) [DB] [PKG]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 45
Tutorial: Reviewing Part Properties

Width of the sink stub lead measured parallel to the component body. The "Lead Units" property
specifies the units for this property.

Solder Material (partSolderType)

Type of solder used to connect the part to the PCB. Supported values are defined in the solder data
file provided by Sherlock and/or a user-defined data file.

Solder Model (solderModel)

Solder fatigue model used by Sherlock. The default is determined from the Package [Link]
values are BGA MODEL, CBGA MODEL, CC MODEL, CGA MODEL, DIE MODEL, IMS MODEL, LCCC
MODEL, LEADED MODEL, QFN MODEL and THRUHOLE MODEL.

Solder Thickness (solderThickness)

Thickness (height) of the solder joint that connects the part to the PCB used for analysis. If not
provided, the default value is the Stencil thickness divided in half. Changing this value will have an
impact on analysis results. The "Stencil Units" property specifies the units for this property.

Source of AF (accelFactorsSource)

Determines the source of acceleration factors (AF).


If the source is MANUFACTURER or USER, acceleration factors for temperature, voltage, and frequency
must be provided and are independent of the process node under the Die tab.
If you do not have acceleration factors, choose SHERLOCK.
If source is SHERLOCK, acceleration factors are calculated based on the process node. The referenced
process node must be defined in the Acceleration Factors Manager.
Supported values are MANUFACTURER, USER and SHERLOCK.

Stencil Thickness (stencilThickness)

Thickness (height) of the solder joint that connects the part to the PCB. For QFN packages, this is
the solder paste thickness with the assumption that it is 50% solids. Stencil thickness is NOT used
directly by any analysis tasks. This value is simply used to provide a default Solder thickness value.
Refer to the Solder Thickness property for more information. The "Stencil Units" property specifies
the units for this property.

Stencil Units (solderUnits)

Unit of length for all solder properties. Supported values are IN, MM, M, MIL, MICRON and NM.

Subcircuit Name(s) (subcircuitList)

Comma separated list of subcircuits (aka. functional blocks) associated with the component.

Technology (partTechnology) [DB]

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
46 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Part Properties

MIL-217 Part Technology. Supported values are ALSTTL, ASTTL, BICMOS, CML, DIGITAL_MOS, DTL,
ECL, F, FTTL, GAAS_DIGITAL_ACTIVE, GAAS_MMIC_ACTIVE, HTTL, I3L, III, ISL, LINEAR_BIPOLAR, LIN-
EAR_MOS, LSTTL, LTTL, MEMORY_BIPOLAR, MEMORY_MOS, MNOS, STTL, TTL and VHSIC_CMOS.

Test Duration (hrs) (testDuration)

Total time in hours spent testing a part.

Test Duty Cycle (%) (testDutyCycle)

The duty cycle of the test

Test Frequency (MHz) (testFrequency)

The frequency in MHZ of the test

Test Method (testMethod)

Test method used to test a batch of parts. Supported values are BLACK BOX, LAB and FIELD.

Test Temperature (C) (testTemperature)

The temperature of the test

Test Voltage (V) (testVoltage)

The voltage in V of the test

Thermal Units (thermalUnits)

Unit of temperature for all thermal properties. Supported values are C, F and K.

Voltage Exponent (voltageExponent)

Power law based accelaration factor (n). This is only applicable for Prediction (Type 2) and Test Data
input types.

Weight (gram) (weight) [DB] [PKG]

Weight of component in grams.

X Coordinate (locX)

Location of component along the X axis. The "Location Units" property specifies the units for this
property.

X Offset (locOffsetX)

Offset to apply to the X coordinate so that the component will be centered over that location.

Y Coordinate (locY)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 47
Tutorial: Reviewing Part Properties

Location of component along the Y axis. The "Location Units" property specifies the units for this
property.

Y Offset (locOffsetY)

Offset to apply to the Y coordinate so that the component will be centered over that location.

Managing Part Properties


Regardless of how the data was initially obtained, all part information maintained by Sherlock is contained
in an internal Parts List. The properties contained in the Parts List are used as input to all analysis
tasks and are used to generate the graphical displays associated with the circuit card. Part properties
span a wide range of characteristics, including size, location, orientation, identification, electrical, and
quality. Such a wide range of characteristics is not often found in one set of CAD files, so Sherlock
combines properties from multiple sources and keeps track of the various sources for each part property
to ensure that it always has the most accurate information to be used as input to the analysis tasks.
Data entered by users is added to this mix as needed to correct any deficiencies with the data extracted
from CAD files. So, let's take a look at the Parts List obtained by importing the ODB++ Tutorial archive.

Double-click the Parts List entry in the project navigation tree to display the Parts List maintained by
Sherlock for this circuit card, as shown here:

The Parts List shows a tabular summary of all parts contained in the circuit card. Each of the high-level
part properties are color-coded to indicate where the data was obtained, and an icon is used to indicate
the validity of the data. For example, in the Parts List shown above, the Ref Des (reference designator),
Part Number and Location information for each of the capacitors listed was obtained from the Pick &
Place data extracted from the ODB++ archive, as denoted by the blue cell color. The Package information
was obtained from the Package Database, as denoted by the magenta color. Part Type information
was guessed by Sherlock as indicated by the orange color. In all cases, the information is known, but

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
48 of ANSYS, Inc. and its subsidiaries and affiliates.
Changing Part Properties

the part has not been Confirmed by the user. That is, Sherlock can start analyzing the data, but the
analysis will not be considered complete until you have verified that the information is indeed correct.

Filtering and Selecting Parts


Before we start working with the Parts List there are a couple of user interface features that will make
life easier. Directly above the Parts List itself is a row of six column filters that can be used to quickly
prune down the list of parts being displayed.

If a value is entered into one of the filter boxes, then only those parts with a cell entry matching that
value will be displayed. For example, if you enter Q into the Ref Des filter and press Enter, then only
parts starting with a reference designator of Q will be displayed.

If values are entered into two or more filter boxes, then only those parts that match ALL of the filter
conditions will be displayed. For example, if Q is entered into the Ref Des filter and SOT is entered into
the Packaging filter, then only parts Q1 through Q8 will be displayed.

Note:

See the Part List Management (p. 597) user guide section for a complete description of the
filtering capabilities provided for the Parts List.

The other convenient user interface feature is the ability to select one or more parts from the Parts
List and then modify all selected parts. Selections are made using the following standard mouse con-
ventions:

• Left-click the mouse on any row in the Parts List to select a single part

• Left-click any row and drag the mouse up or down to select a range of parts

• Shift-Left-click to select all rows between the previously selected row and the current row

• Control-Left-click to toggle row selection

• Double-click any row to view all properties associated with the part

The Parts List provides various ways for viewing and modifying part properties, allowing users to find
the mechanism best suited to their tastes and purposes. In the following exercises, we'll make use of
each of these mechanisms so you can decide for yourself which works best for you.

Changing Part Properties


One of the most common changes made in the Parts List involves the package designation assigned
to each part. This is necessary because of the large number of standard package types used in the in-
dustry and because such information is not always correctly defined in the ODB++ properties. Typically,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 49
Tutorial: Reviewing Part Properties

the package information is loosely specified in the Description property associated with each part. As
such, Sherlock attempts to guess the package information, but it isn't always correct.

For example, the Parts List currently shows the package designation for capacitor C1 as SMT 3528, but
we know that's not exactly right, so let's correct it. First, double-click the C1 row to display the Part
Property Viewer, as shown here:

The Part Property Viewer displays all the properties currently known for the selected part, with all
properties organized by tabs. The ID shows the extremely valuable Part Description property, which
is used by Sherlock to guess other part properties. In this case, we see the 3528 designator that Sherlock
used as the package designator. The blue box to the right of the description field indicates that the
description property itself was obtained from the [Link] file extracted from the ODB++ archive,
which is denoted as Pick & Place data by the blue color (using the same color-coding scheme used in
the Parts List itself ).

Select the Package tab to view all the package properties associated with capacitor C1:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
50 of ANSYS, Inc. and its subsidiaries and affiliates.
Changing Part Properties

In this case, we see properties obtained from the Package DB data because Sherlock was able to asso-
ciate the 3528 from the part description with a chip-component. In a way this was a guess by Sherlock
because it didn't have the exact package name but found something close to a package. However, in
this case, this is not the correct selection. Note that properties for which no data has been obtained
are given a User source designation because only the user can provide that information at this point.

It is important to note that Sherlock may find multiple values for a given part property from the various
data sources processed. In such cases, Sherlock uses predefined priorities to determine which value
should be used. Users can override this process simply by entering the desired value manually.

For example, select the “...” button farthest to the right of the Package Name property to show all the
values obtained by Sherlock for that property.

In this case we see that Sherlock found the custom package type ADS_SM_3528 in the ODB component
file. Given the input data found in the ODB++ file, Sherlock’s guess is close, but not correct.

To set the proper package type, press the Edit the selected part button located at the top of the Part
Property Viewer (denoted by the pencil icon) or close the Part Property Viewer and press the Edit
Selected button at the bottom of the Parts List. In either case, the Part Editor will be displayed, which
looks like the Part Property Viewer, except that it allows you to edit the various property values instead
of just viewing them.

If we knew the exact standard Package Name, we could simply enter it into the Package Name Field.
However, given the large number of possible package names, it is easier to press the “...” button that
is immediately adjacent to the Package Name Field (not the “...” button on the far right) to display
the Package Chooser.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 51
Tutorial: Reviewing Part Properties

The Package Chooser presents a hierarchical list of all standard packages known by Sherlock, organized
by Package Type, Pin Count and Size. In this case, we know that capacitor C1 is a CBEND package
type and that there are multiple package names with 3528 in them. By examining the package properties
associated with each of those packages, we determine (or guess) that C-BEND-3528-12 is the desired
package name. After selecting that name from the list, press Use Package Properties to copy all
package properties to the Part Editor. (See the Package Management (p. 547) user guide for more in-
formation on managing Packages.)

Returning to the Part Editor, we see that not only the Package Name value was updated but also
several other package properties. Since the user selected the package name and properties, they are
all designated as User modifications to the Parts List for future reference.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
52 of ANSYS, Inc. and its subsidiaries and affiliates.
Changing Part Properties

Press the Save the Part Editor Changes button (1, below) at the top of the Part Editor ribbon to apply
all property updates and close the Part Editor dialog. Since multiple parts have the same Part Number,
Sherlock will display the following dialog (2) to allow you to apply the property updates to just the
current part or to all parts with the same part number.

In this case, we want to apply the changes to all capacitors with that part number, so we select the
second option and press Save. The Scope of Changes dialog will be dismissed, and the Parts List will
be updated to reflect our package name change.

Although the first time through the property editing process it might seem complicated, it is a relatively
simple process:

1. Select a part to be updated from the Parts List.

2. Update one or more part properties using the various pull-downs and selection dialog windows.

3. Apply the updates to the selected part or all parts with the same part number.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 53
Tutorial: Reviewing Part Properties

Part Source Priority


As noted in the previous section, Sherlock may have found multiple sources of values for any given
part property. These values and sources may be reviewed for any given part property by selecting the
“...” button located in the Part Editor and Part Viewer dialog windows that is farthest to the right of
the desired field. When selected, the “...” button will open the Source Values dialog for the selected
field.

When in the Part Property Viewer, the Source Values dialog is in read-only mode and only a reference
to the values assigned to the given part property from the known sources. When the Part Editor is
active, this dialog may be used to change the value of a part property to that of another source. In the
previous section, the package name of part C1 was changed. Opening the Source Values dialog window
for the package name from the Part Editor will now reflect the following:

The values listed in this dialog are ordered by priority. Since we have changed the assigned value, a
new source of User has been added. User source values always receive the highest priority. If for some
reason we wish to change to a different value there are a couple of methods for doing this.

The first method is simply to close this dialog and manually enter the desired value for the part property.
If for some reason we want to leave the user source in place but want to just select one of the other
sources, open the Source Values dialog in the Part Editor then double-click on the row in the table
for the source value desired. This will automatically update the Part Editor with the selected value and
source.

If multiple sources of data are available for a given part property, then it is also possible to remove
those sources by right-clicking on the row and selecting Remove Source Value from the menu. The
table will update. Once the Save button on the Source Values dialog is selected, then the Part Editor
may update the selected value if the value just removed was previously selected. This is also the
method that can be used to clear user values, also known as user overrides, for a given part property.

User values for all part properties on a given part can be cleared at once by selecting the Clear Overrides
button in the Part Editor for the given part. Any user assigned value to all part properties is removed
and the values reverted to the next highest priority value available.

Changing Properties for Multiple Parts


The update method described above started by selecting a single part, modifying part properties and
then applying those changes to that part or all parts with the same part number. That is a convenient
method for updating multiple parts with the same part number, but you may also need to update the

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
54 of ANSYS, Inc. and its subsidiaries and affiliates.
Changing Properties for Multiple Parts

same property for parts with different part numbers. For that reason, Sherlock allows you to select
multiple parts for updating using a slightly different Part Editor.

Multi-part editing begins by choosing a set of parts from the Parts List. For example, if you enter the
following Parts List filter values

Ref Des: C

Package: TH

you'll see a list of 5 capacitors, C21 through C25, all of which have the same Package type TH
ADS_CPCYL1_D400_LS200_034. The “TH” denotes them as through-hole parts and the package desig-
nation, although well understood by CAD designers, is not a standard package type in the Sherlock
Package Database.

Note:

Through-hole parts always require scrutiny in the Parts List because of the lack of standard
package designations, their different shapes and the different ways that CAD tools designate
their location. Whenever you create a Sherlock project, you should always examine each of
the through-hole parts.

In order to change the package designation for these parts, let's use the multi-part editing method.
(Yes, they have the same Part Number, but this is a tutorial). Start by selecting all five rows in the Parts
List using the mouse, either by:

• Left-click the first row and drag the mouse down the list

• Left-click the first row and then Shift-Left-click the last row or

• Left-click any row and press Control-A on the keyboard

To edit properties for all 5 parts, press the Edit the Selected Parts button at the top of the Parts List
(denoted by a pencil), or Right-Click any selected row and select Edit Selected Parts from the mouse
menu. In either case, the Multi-Part Editor will be displayed, listing all the selected parts as shown
below.

The Multi-Part Editor is similar to the Parts Editor, except for two important differences. First, the
Multi-Part Editor does NOT display the source for each property values, because different parts may
have different sources. More importantly, the Multi-Part Editor displays <VARIOUS> in some property
fields to indicate that the values assigned to the specific parts are either different or not defined at all.
In this case, for example, all the <VARIOUS> values shown are because those properties are not defined
at all, relying on default settings. The other property values, however, are shown, indicating that all 5
parts have the same value for those properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 55
Tutorial: Reviewing Part Properties

Aside from the display differences, the Multi-Part Editor is used to update part properties just like the
Parts Editor.

Since this is a large, through-hole capacitor, we'll need to manually update a couple of package prop-
erties. We can deduce from the package name provided by ODB++ that it has a 400 mil diameter, which
is specified correctly in the Package Length and Package Width fields. By default, Sherlock assumes
all components are square, so we need to update the following properties so that it will be displayed
and analyzed as a round part:

Corner Shape: ROUND


Corner Radius: 0.2

Note:

By using a Corner Radius that is half of the part length/width, we force the entire part to be
round. Corner Shape settings of Miter and Round can be used in conjunction with the
Corner Radius setting to yield a large variety of different shapes sufficient for most analysis
purposes.

With those changes made, press the Save the Part Editor Changes and Exit the Editor button to
update all five parts. Notice, in this case you are not prompted to determine which parts to be updated.
The Multi-Part Editor always updates all the selected parts, regardless of their Part Numbers.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
56 of ANSYS, Inc. and its subsidiaries and affiliates.
Updating Component Layers

Confirming Parts
You may have noticed the last column in the Parts List labeled Confirmed.

The status values of YES or NO provide a simple to-do mechanism for users when reviewing the Parts
List. When a project is initially created and data is loaded from CAD files, all part will be marked as NO
indicating that the user needs to review the part and confirm the part properties. As you review the
properties and confirm that they are correct, you should select the Confirm All Part Properties button
at the top of the Part Editor ribbon. From that point on, the part should have YES under the Confirmed
column. You can also un-confirm a part at a later time if necessary.

1 = Confirm all part properties. 2 = Unconfirm all part properties.

Note:

Disciplined use of the confirmation process will ensure more accurate analysis results.

Updating Component Layers


At this point, we've made several modifications to the Parts List and we're ready to start reviewing the
various layers associated with the circuit card. However, before we move on there is one last important,
but often overlooked, step. In order to see our part property changes reflected in the layer displays, we
need to update the component layers. To do this, press the Update the CCA Layers button (3, below)
located on the Parts List ribbon. After the component layers are updated, the buttons will be disabled
(indicating that no part changes are pending) and we can move along to view the layers.

Note:

We can't remind you too many times: If you modify something in the Parts List, be sure
to press the UPDATE CCA LAYERS button before moving on. Otherwise, when you start
looking at the component layers and analysis results, you might not see what you expect to
see. If there are no layers to be updated, the icon will be greyed out.

Sherlock will automatically update the component layers if you attempt to close the Parts List display
or Sherlock itself after making one or more changes. In that case, a progress dialog will be displayed
indicating the processing being performed. If, for any reason, you want to update the component layers
directly, right-click the Parts List entry in the Project Tree and select the Update Layers menu option.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 57
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
58 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 5: Tutorial: Layer Viewer
Chapter Sections:
Layer Viewer
Layer Panning and Zooming
Component Editor
Camera Tool
Distance Tool

Layer Viewer
The Parts List contains lots of details that are best displayed in tabular form and processed using tabbed
forms, but circuit cards are intrinsically graphical, as are the analysis results associated with them. As
such ANSYS Sherlock provides a sophisticated Layer Viewer with a collection of graphical tools that
can be used to review, analyze and update circuit card information. This section describes how the
Layer Viewer can be used to review and modify the circuit card information imported directly from CAD
files in preparation for analysis. In other lessons, we'll see how the Layer Viewer is used to modify and
review other types of information about the circuit card.

The Layer Viewer consists of separate window that provides its own menu bar, control and content
panels. There is only one Layer Viewer per circuit card, but you may display one or more Layer Viewers
for different circuit cards in order to compare them as needed. You may also display the Layer Viewer
side-by-side with the main Sherlock window in order to compare content panels in the main window,
such as the Parts List, with the graphical information displayed in the Layer Viewer.

The Layer Viewer includes a list of available layers on the left side of the display grouped into folders
of similar items. The layers included may change depending on which analysis results are available. The
only layers displayed in the main window of the layer viewer are those which are selected with from
the checkbox and from which the folder is expanded. If a layer is selected but the folder is not expanded,
the layer will no longer be displayed. For folders which have many layers, the ability to quickly select
or unselect all layer items exists by right-clicking the folder menu item and selecting Select All or Un-
select All. Folders are expanded and collapsed with a single-left-click of the folder or from the appro-
priate menu option by right-clicking the folder.

Note:

Unless otherwise noted, this lesson makes use of the ODB++ Tutorial (p. 27) project as created
in previous lessons.

The Layer Viewer can be launched in several ways, but the most direct method is to double-click the
Layers entry located in the Inputs folder for the circuit card being reviewed. You can also double-click
any of the CAD files listed in the Files folder to open the Layer Viewer with specific layers pre-selected
for display.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 59
Tutorial: Layer Viewer

To start the review process, double-click the Layers entry in the Inputs folder of the project navigation
tree to launch the Layer Viewer. If the Components folder in the Layers Tree located on the left-side
of the window is not expanded, single-click the Components folder to expand its contents. At that
point, the top and bottom component layers will be displayed. Likewise, if the Other Layers folder is
not expanded, single-click the Other Layers folder to display the board Outline. To reduce a little of
the clutter, deselect the comp-bot layer so we can focus on the top components. The remaining layers
should look similar to this:

Component labels are displayed by default, but sometimes they get in the way (especially for small
parts on complex circuit cards). For that reason, the Components and Labels feature selections are
provided in the top left-hand corner of the Layer Viewer. You can toggle those check boxes at any
time to hide/display the component outlines and labels according to your processing needs. For now,
we'll keep both the component outlines and labels visible so we can review all the parts.

Note:

Flexibility is indeed a double-edged sword. Sherlock provides various controls to allow you
to hide graphical components so you can focus on other things. But you must remember to
un-hide things when you're done. If you think something is missing from the display,
double-check the filter settings.

The three most common properties to review in the Layer Viewer are part size, location and orientation.
Most CAD files do a very good job keeping these properties consistent but depending on which package
types are assigned in the Parts List, some parts can have issues. The easiest way to check for all three
of these issues is to compare the component layer outlines to another layer, such as the corresponding
Solder Mask.

To start the review process, single-click the Solder Masks folder in the Layers Tree and then de-select
the [Link] layer, if it is selected, then select the top solder mask layer as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
60 of ANSYS, Inc. and its subsidiaries and affiliates.
Layer Panning and Zooming

The first thing to notice is that all our parts are basically in the right place and appear to be the right
size. But, first looks can be deceiving, so let's poke around a little and see what we find.

Layer Panning and Zooming


Let's start by zooming in on the collection of SMT resistors located along the right-side of the circuit
card. To zoom into that region, you can double-click the mouse anywhere on the circuit card, press the
Zoom In button (magnifying glass with “+” sign) in the bottom right-hand corner of the window, or
use your mouse scroll wheel.

You can pan across the layer by left-clicking the mouse anywhere in the layer viewer and dragging the
mouse in any direction. The layer will move inside of the viewable window.

With a little practice you should be able to zoom around to any part of the circuit card, such as the
upper right-hand corner as shown here.

After zooming in we see that the orientation of the SMT resistors is off by 90 degrees. This is often the
case with chip components because some CAD tools use vertical representations of the components,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 61
Tutorial: Layer Viewer

while others use horizontal. The Sherlock Package Database assumes a horizontal orientation, so
sometimes there is an orientation mismatch. Fortunately, such issues are easily resolved in Sherlock.

Component Editor
To make changes to one or more components, select Edit Components from the Edit menu located
at the top of the Layer Viewer window. At that point, the Component Editor Mode will be indicated
along the bottom of the Layer Viewer and five buttons will be displayed. As long as the Component
Editor is active, we can select one or more components, edit them graphically or edit their part properties,
and then update the Parts List.

Note:

The buttons shown at the bottom of the Layer Viewer window during edit mode may be
hidden if the window is too narrow. If that happens, you'll need to maximize the window or
increase its size while editing.

In order to make changes in the Component Editor you must first select one or more parts to be
changed. Part selection is done graphically using the following set of mouse/key operations:

• SHIFT-Left-click any part to select only that part.

• SHIFT-Left-click and drag the mouse to select all parts within a rectangular region.

• Control-Left-click any part to toggle selection of that part.

• Control-Left-click and drag the mouse to toggle selection of all parts within a region.

• SHIFT-Double-Left-click any part to select only that part and display part properties.

• Right-click outside all selected parts to clear the current selections.

Part selection takes a little practice, but you'll soon become comfortable with the selection process.

Editing Part Orientation and Location


Let's perform a basic graphical edit operation by rotating one of the resistors by 90 degrees.

Select part R75 by left-clicking with the mouse anywhere inside of the part outline (the gray box)
while holding down the SHIFT key.

Then, right-click anywhere inside the selected region to display the Edit Menu. Scroll down and select
Rotate 90 to change the part orientation, as shown here.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
62 of ANSYS, Inc. and its subsidiaries and affiliates.
Component Editor

To change the orientation of multiple resistors, left-click and drag the mouse over the part outlines,
while holding down the SHIFT key. After all desired parts are selected, right-click in any of the selected
parts to display the Edit Menu and select Rotate 90 to rotate all selected parts.

To change the orientation of all the resistors on the right-side of the circuit card, zoom out so that
they all appear on the display and then select all of them by pressing the SHIFT key and dragging
the mouse over all of them. Select Rotate 90 from the right-mouse menu to change their orientation.

Note:

We've rotated parts a couple different ways, so you may have one or two out of phase
with the others. If so, select them individually, Rotate 90 and fix the problem.

When you're done editing the parts, right-click anywhere in the layer viewer to clear the selections
and then press the Apply button at the bottom of the Layer Viewer to update the Parts List and
continue editing parts.

Overlapping Parts Warning


When you clicked the Apply button previously, you may have seen a warning dialog appear:

This warning is generated by Sherlock when updating parts in the Layer Viewer and Sherlock has
detected that some parts may overlap each other on the PCB. You may use the information here re-
garding the parts listed to investigate and make changes if necessary. If you never wish to see this
warning dialog again, select the check box in the dialog before selecting the OK button.

For the purposes of this tutorial simply check OK as this part should be corrected by the time the
tutorial is completed.

One-Click Editing
If you only want to edit a single part using one of the Edit Menu functions, you can combine the
select and modify operations by right-clicking inside of the part outline and selecting the edit op-
eration. The right mouse button automatically selects only the designated part and applies the
modification only to that part.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 63
Tutorial: Layer Viewer

Editing Part Properties


While reviewing the component layers, it is often necessary to view or edit part properties to resolve
an issue. The View Properties and Edit Properties menu options are provided for such situations.
For example, a closer examination of parts U5 and U6 indicates that the size may be slightly off. The
parts cover the corresponding solder mask regions, but perhaps a little too much. Let's investigate
and see if something needs to be changed. Start by Right-clicking U5 and selecting Edit Properties
from the edit menu.

Note:

If you've made any pending changes to the layer you will be instructed to apply all such
changes when the Edit Properties option is chosen. In that case, press the Apply button
at the bottom of the Layer Viewer and then re-select the Edit Properties menu option
to proceed.

The Edit Properties menu option displays the same Part Editor that we used to edit part properties
in the Parts List, thereby allowing us to conveniently change any part property. In this case, select
the ID tab to examine the Part Description value, which contains QFP-80, and then the Package tab
to examine the Package Name value, which is QFN-80 (MO-220VRRD). The package ID indicates that
U5 is a QFP, but the Package Name and Type incorrectly indicate this part as a QFP.

Select the “...” button immediately to the right of the Package Name value to display the Package
Chooser shown below. We then choose QFP as the package type and look for the correct Package
Name. The list of QFP-80 packages shows that we may have to do some research outside of the in-
formation CAD files.

Specifically, QFP-80 packages come in various sizes. Sherlock attempts to select the proper size based
on the package dimensions provided in the CAD file, but that's not always accurate. In fact, the di-
mensions provided by the CAD tool represent the overall footprint of the part, not the actual package

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
64 of ANSYS, Inc. and its subsidiaries and affiliates.
Component Editor

size. For analysis purposes, Sherlock needs the package size, but that it can't always be determined
automatically from the CAD dimensions. In this case, parts U5 and U6 are 12mm square components,
so we need to select “12.0 x 12.0” from the Size list and the first package name displayed for that
size in the Package Name list. Press Use Package Properties and Save to update both parts. The
Layer Viewer display will be automatically refreshed showing that the parts now lie inside of the
solder mask regions, as desired.

Graphically Filtering and Selecting Parts


With all the top components reviewed, we switch our attention to the bottom components as follows:

• De-select the comp-top and [Link] layers

• Select the comp-bot and [Link] layers

• De-select Labels to see only the component outlines and solder masks

As with the SMT resistors found on the top side, we see that all the resistors on the bottom side are
also rotated by 90 degrees. We want to select all those resistors and then apply the Rotate 90 function
to fix the problem. We've already used one method for selecting groups of parts, namely pressing
the Control key and dragging the mouse over each group of resistors to add them to the selected
group. However, there is another useful approach that combines label filtering and mouse selections
to streamline the process.

In the lower left-hand corner of the Layer Viewer is a panel titled Filters, which includes the Label
filter. To see how it works, turn labels back on (using the checkbox at the top of the window), enter
“R” in the Label filter field at the bottom of the window and press Enter. At that point, all the “Q”
parts that were previously displayed will be hidden. In fact, all parts not starting with “R” will be hidden.
Now, press the SHIFT key and drag the mouse over the entire board to select all remaining parts.
Right-click on any of the parts (you may need to zoom in) and choose Rotate 90 to rotate all the
resistors. Finally, right-click anywhere on the Layer Viewer to clear the current selections.

Parts may also be filtered based on package type, part number, and part type by making a selection
in each of the desired filters for the part properties to filter on. To clear any of these filters, simply
select the ALL item in the filter.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 65
Tutorial: Layer Viewer

Finally, clear the Label filter to show all components and press the Close button to exit the Compon-
ent Editor. Our component layers are now ready for analysis.

Camera Tool
Much of Sherlock's usefulness comes from the numerous graphical layers generated to show analysis
results. With just a few displays, it can show issues across hundreds of components. When combined
with the ability to pan and zoom all layers, such information allows users to see with their own eyes
where the problems lie. For example, the image below (1) shows a close-up view of the CAF analysis
data, along with the top component, top solder mask and top copper layers.

The image clearly shows two pairs of holes that have a high probability of CAF failure. The image itself
was generated by panning and zooming the display to focus on the desired region and then using the
Camera Tool to export the display to an image file.

To use the Camera Tool, press the Camera Icon located in the bottom right-hand corner of
the Layer Viewer. At that point, a dialog will appear (2, above) allowing you to specify the scale factor,
folder, file name and file type to be used.

After entering the required information, press the Export File button to create the image file.

Distance Tool
The Distance Tool is provided in the Layer Viewer to allow users to measure the distance between
any two points.

To start using the Distance Tool, simply press the Ruler Icon button in the lower right corner
of the Layer Viewer. At that point, the control buttons for the Distance Tool will be shown in the
bottom center of the Layer Viewer, as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
66 of ANSYS, Inc. and its subsidiaries and affiliates.
Distance Tool

To measure the distance between any two points, left-click anywhere in the layer display area while
holding down the SHIFT key to set the first location. Then, move the mouse to the second location
and left-click again. After the second location is specified, the distance between the two points will be
displayed in the yellow box in both Metric and English units. The example above shows that the max-
imum distance covered by the U1 solder pads in the vertical direction is 10.96 mm.

Repeat the process as many times as needed to measure other distances. When you no longer need
the distance tool function, press the Close button. All filtering and zoom capabilities are available when
using the Distance Tool to facilitate measuring various parts of the circuit card.

Note:

The Distance Tool will NOT be rendered in any image file exported using the Camera Tool.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 67
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
68 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 6: Tutorial: Ad Hoc Project Creation
In previous lessons we learned how to import CAD data from an ODB++ archive, how to update part
properties as needed and how to ensure that all component locations, sizes and orientations are correct.
These are the basic steps required to create any Sherlock project regardless of the CAD files used to
initially import the data. In this lesson we describe the overall process used to create a Sherlock project
from an ad hoc collection of CAD files typically provided to PCB manufacturer's for production purposes.
For example, CAD tools typically generate a collection of layer files (such as Gerber formatted files) to
describe all copper layers, silk screens and solder masks needed to create the circuit card, as well as
one or more drill files specifying the size and location of all holes in the circuit card. For assembly pur-
poses, a Bill of Material (BOM) and Pick & Place file may also be generated, indicating the types of
components on the circuit card and their location.

All of this CAD data is useful for analysis purposes and Sherlock is designed to import as much of it as
possible. Unfortunately, there are literally dozens of file formats used in the manufacturing of circuit
cards, many of which describe only a piece of the puzzle. In some cases, some of the critical information,
such as drill sizes, may only be provided in human-readable form (for example, a PDF image of the circuit
card design). Nonetheless, Sherlock knows how to read a large number of file formats (more added all
the time) and also allows users to create Comma Separated Value (CSV) files using any modern
spreadsheet application to import critical data into Sherlock. In this lesson we'll cover the most common
file formats and point out where other formats can be used.

Chapter Sections:
Project Creation
Circuit Card Creation
Adding CAD Files
Importing a Bill of Materials
BGA Part Properties
Importing Pick & Place Data
Importing Copper Layers
Reviewing the Board Outline
Reviewing Component Layers
Reviewing Drill Holes

Project Creation
Before we create a new ad hoc project, let's clean up the project navigation tree by closing the previously
created ODB++ Tutorial project. To do so, right-click the ODB++ Tutorial Folder in the project tree
and select Close Project from the pop-up menu. At that point, the project folder will be closed, as in-
dicated by a closed file cabinet icon. All the files associated with a closed project are still maintained
in the user project directory, but the project tree is trimmed so that only the project name itself appears.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 69
Tutorial: Ad Hoc Project Creation

You can open the project at any time (thereby expanding the folder in the project tree) by right-clicking
and selecting the Open Project menu option.

To create a new project, select the Add Project option from the Project menu available in the main
window. Enter a unique Project Name and a short project Description. The project description will be
included in all Sherlock analysis reports, so plan accordingly. Optionally, you may choose to add a
Project Category, but this is not necessary.

Press the Save button to create the project, which will be displayed immediately in the project tree.
Note that only a default Life Cycle has been created for the project. More on this later.

Circuit Card Creation


The real project begins when we add a Circuit Card to the project. To do this select the Add Circuit
Card menu option from the Project menu or right-click the project folder in the project tree and select
the Add Circuit Card menu option. In either case the following dialog will be displayed allowing you
to enter the basic circuit card information.

As with the project properties, we must enter a unique name and an optional description. For circuit
cards, we also need to enter some default part properties used by various analysis modules in case

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
70 of ANSYS, Inc. and its subsidiaries and affiliates.
Adding CAD Files

those properties aren't defined for one or more parts. (We'll discuss the specific use of these properties
in later lessons that cover the analysis modules.)

When the Save button is pressed, the Circuit Card will appear as a sub-folder in the project folder.
Double-click the folder to view the default contents.

Much like the project creation, we have a lot of default folders and entries, most of which are marked
with missing data (we haven't imported anything yet) or warnings (we haven't run analysis yet). These
indicators serve as a to-do list to remind you of what must be done. You can view the error messages
by right-clicking on each entry and selecting Show Error to determine what remains to be done.

Adding CAD Files


With a project and circuit card framework in place, we can start adding CAD files and importing data
from those files. Unlike the ODB++ archive import process, which automatically scans the archive and
extracts everything of value, with ad hoc projects we need to designate the files to be used and then
specify the format of those files so that Sherlock can extract the data and use it appropriately.

To begin the import process, we need to add some files. To do so, right-click on the Main Board circuit
card folder (or the Files folder below it) and select the Add File(s) menu option. At that point, a file
system dialog will appear allowing you to locate the directory or ZIP archive file containing the files to
be added. The CAD files to be used for this lesson are contained in the Ad Hoc [Link] archive file
located in the tutorial sub-directory of the Sherlock installation directory (usually C:\Program
Files\ANSYS Inc\v211\sherlock). Navigate to that directory, select and open the ZIP archive file. After-
wards, click the Add File(s) button to add the contents of that archive to the circuit card.

Note:

You can execute the Add File(s) command as many times as necessary to find files in different
locations or at a later time when additional files are obtained. When files are added to a
Sherlock project a copy of the original file is made and stored in the Sherlock User directory.
As such, you are free to whatever you want with the original files without affecting Sherlock.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 71
Tutorial: Ad Hoc Project Creation

When the Add File(s) button is pressed, Sherlock examines the given file names to determine as much
as possible in preparation for the import process. Since many CAD packages use cryptic file name prefixes,
suffixes and formats, if Sherlock recognizes the file name format then it recommends a simpler, more
easily understood standard name for the file, as shown below.

You are free to accept any of the name changes or reject them all. In either case, when the Add Files
button is pressed, all of the files specified in the first dialog will be added to the circuit card and all of
the file names selected in the name change dialog will be renamed.

Immediately after all the files have been added, the project tree will be updated to show the new files.
If Sherlock recognized the file format a clock icon will be shown (see below, left), indicating that Sherlock
is currently parsing and importing data from that file. If Sherlock did not recognize the file format, then
a red “X” will be displayed indicating that you need to specify the file type manually.

After each file has been imported, an icon associated with that file type will be displayed (see below,
right). If something went wrong or a red “X” will appear in its place.

After the Ad Hoc Tutorial files have been imported, two CSV files appear as spreadsheet files. This is
correct; however, we need to select a more specific file type for each of these so that Sherlock can make
use of the data. When loading files from a ZIP archive, the archive may also contain files that you don't

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
72 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing a Bill of Materials

need, such as the [Link] file here. Simply right-click the file name and select Delete File if you
wish to remove it.

Importing a Bill of Materials


The first and most important file to be processed is the Bill of Materials (BOM) File. In this case, the
BOM is formatted as a CSV file as indicated by the .csv suffix. To verify this, right-click the [Link] file-
name in the project tree and select the View File menu option. Sherlock will display the file contents
as text in the content panel, along with a secondary tab showing the error associated with this file.

To specify the file type and import the data, right-click again on the [Link] filename but select the
Edit Properties menu option this time. A dialog will appear that allows you to select the file type and
enter any type-specific properties required.

Select Parts List (CSV) from the File Type pull-down list and the type-specific property form will be
displayed. Sherlock has already scanned the CSV file to determine the number of header rows and the
column names. Such guesses are usually right, but you should check them anyway by viewing the CSV
file in the content panel.

In addition to guessing the column names, Sherlock also attempts to guess which columns should be
mapped to Sherlock part properties. In this tutorial, the CSV file uses some standard column names, so

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 73
Tutorial: Ad Hoc Project Creation

Sherlock successfully guessed how to map all the columns. In real-world examples, lots of different and
unusual column names are used, so you may have to select the desired mapping yourself.

Note:

The type-specific entry forms use color-coding to denote required or optional fields (as do
most Sherlock input forms). Fields displayed with a pale-yellow background are required,
while fields shown with a white background are optional.

With the desired column mapping specified, press the Save button to start importing date from the
BOM file. A clock icon will be displayed next to the file in the project tree while it is being processed.
If the file is processed successfully, a BOM icon will be displayed. Otherwise, the error icon will be dis-
played.

With the BOM file successfully processed, we can double-click the Parts List entry in the Inputs Folder
to review the Parts List. We already covered how to review and update the Parts List in a previous
lesson, so we won't repeat that here. However, there are some special issues that arise when processing
ad hoc CAD files that need to be examined.

The first thing to notice in the Parts List is that there is no Location data assigned to any parts. That's
because we've only processed the BOM so far and location data is contained in Pick & Place files. We'll
fix that problem when we import the Pick & Place file.

Another issue involves the lack of package information for certain components. Unlike an ODB++ archive
which defines a package type for all parts, Sherlock must guess package information from the BOM
based solely on the part description. If no such package can be determined, it is left empty to remind
users that they need to manually enter that information. This issue almost always arises with through-
hole parts, for which textual package designations are not well standardized.

Note:

You may have noticed on the BOM file property form that there was an entry labeled Package
Column. So, if the CSV file contained that information, Sherlock could have imported it, but
in this tutorial file no such column was defined.

We leave it as an exercise for you to review the parts list data imported from the BOM file and update
the following properties (most of which were covered in the previous lesson):

• Parts C1 – C10, change the package type to "C-BEND-3528-12".

• Parts C21 – C25, set the mount type to "TH" and set the proper dimension and shape.

• Parts C26 – C30, set the mount type and package type based on the description.

• Part J1 – Leave this alone for now; we'll return to it later.

BGA Part Properties


There is one Parts List modification required for Ad Hoc projects that is related to BGA components.
When a BGA part is imported from an ODB++ archive, Sherlock has access to the pin locations for that

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
74 of ANSYS, Inc. and its subsidiaries and affiliates.
BGA Part Properties

part. Given the pin locations, Sherlock can not only deduce that the part is a BGA component, but also
the exact grid arrangement. Unfortunately, such information is not provided in a BOM, so you must
designate BGA the part properties yourself, as we now demonstrate.

If you enter XCV in the Part Number filter of the Parts List two parts, U9 and U10, will be displayed with
no package information imported from the BOM. Select either of the parts and press the Edit Selected
button to examine the part properties. Select the ID Tab first and examine the Part Description Field
to see that it includes “676” and “BGA” in the description. Now, select the Package Tab and note that
the Package Name Field is empty- something we need to correct.

Since there are no standard BGA package designators, Sherlock uses its own standard to recognize BGA
package names. Quite simply, any package name that includes “BGA” is recognized as a BGA component.
(Why makes things harder than necessary?) So, you can simply enter “BGA-676” in the Package Name
Field to designate the part as a BGA component. Of course, we must also enter the package dimensions.
A quick Internet search for the Part Number (XCV405E-6FG676I) reveals that it's a 27mm square part.
After updating the Package Length and Package Width, press Apply to update both parts, but remain
in the Parts Editor.

After changing the Package Name to “BGA-676” and applying the change, the Ball and Die Tabs become
active in the Parts Editor, indicating that Sherlock recognizes this part as a BGA component. Select the
Ball Tab and enter “676” in the Ball Count Field. The other default BGA properties are correct, so simply
Save the changes for both parts and return to the Parts List.

We're done making Parts List changes at this time, so remember to press the Update Layers button
at the bottom of the Parts List to update the component layers.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 75
Tutorial: Ad Hoc Project Creation

Importing Pick & Place Data


After importing the BOM, the next logical step is to import the Pick & Place data, so that Sherlock will
know the location of each component. To do so, right-click the [Link] file name in the project
tree and select View File to display the text file. We can see that it is indeed a CSV file, so we can proceed
with the import process. Right-click again on the [Link] file name and select Edit Properties
from the menu. The Edit File Properties Dialog will appear, allowing us to select Pick & Place (CSV)
as the file type, thereby displaying the following property form:

As was done with the BOM file, Sherlock automatically scanned the Pick & Place CSV file to determine
the number of header rows, the column names and the mapping of column names to Sherlock part
properties. Remember, Sherlock can only guess at the column mapping, you need to review each as-
signment (and possibly examining the data file) to determine if the column mapping is correct. Once
you've determined that everything is correct, press Save to start the import process.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
76 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing Copper Layers

After the Pick & Place file has been successfully processed, the Parts List will be automatically updated
to show that Location data is now known for all parts. In some situations, the Pick & Place data file may
not contain locations for all parts, in which case the Location entry will be RED for those parts. We'll
deal with missing parts and missing part locations later in this lesson.

After we import the various circuit card layers, we'll review component locations using the Layer
Viewer.

Importing Copper Layers


When the Add Layers process recognizes copper layer files, it automatically imports each layer and
updates the stackup data accordingly (like the process used when importing layers from an ODB++
archive). If, however, Sherlock does not recognize the file type automatically, then you'll need to specify
the proper file type and where the layer is located (top, bottom or somewhere in the middle).

Since the Main Board copper layer file formats were all recognized by Sherlock, we'll create another
circuit card and add some copper layers manually to that circuit card. To that end, right-click the Ad
Hoc Tutorial folder in the project tree and select the Add Circuit Card menu entry to add a new circuit
card named Copper Import Test. We're only going to use this circuit card to practice loading copper
layers, so feel free to use all the default properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 77
Tutorial: Ad Hoc Project Creation

After the new circuit card has been added to the project tree, right-click the Copper Import Test folder
and select Add File(s) from the menu. Using the file chooser, navigate to the tutorial sub-directory of
the Sherlock Installation Directory (usually c:\Program Files\ANSYS Inc\v211\sherlock) and select the
Copper [Link] file to be imported.

Since that ZIP file contains completely non-standard file names, Sherlock will not recognize any of them
and we'll have to import them manually. However, before we can designate where those layers reside,
we need to modify the default Stackup data assigned by Sherlock. To do so, simply double-click the
Stackup entry located in the Inputs folder for this circuit card.

For this case you will have to first enter the board dimensions before modifying the Stackup data as
none of the imported files provide Sherlock the necessary information to understand the board dimen-
sions. For the purposes of this tutorial, enter most any valid dimensions you wish as it won't be used.

The default Stackup data says that the board only has 2 copper layers, but we know that it's actually a
4 layer board, so we need to update the Stackup data.

Press the Generate a New Stackup button (1, below) at the top of the Copper Import Test Stackup
ribbon to generate the proper number of layers.

The Generate Stackup Layers dialog (2) allows you to specify the copper and laminate properties for
the board, as well as the board thickness. It then generates each layer accordingly, automatically selecting

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
78 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing Copper Layers

the laminate layer thicknesses to ensure that the specified board thickness is achieved. After entering
the following information

Number of Conductor Layers: 4


PCB Material: Isola, FR-4, 370HR

press Save to generate the circuit card layers, resulting in a board with the desired 4 copper layers as
well as 3 laminate layers automatically generated and defaulted with the given properties.

You should note that the copper percentage values are currently listed as default values (50%). These
will be updated automatically when the copper layers are imported.

With the updated Stackup data, we can now import the copper layers. For each of the files listed below,
right-click the file name in the project tree, select Edit Properties from the menu, select the designated
file type and Copper Layer position in the file property form, and press Save to import the file.

Note:

Sherlock is a multi-tasking application, which means that you can have multiple processing
tasks running in the background at the same time. So, feel free to start importing all files as
fast as you can fill out the file properties forms.

Table 6.1: Copper Layers

File Name File Type Copper Layer


copper layer.1 Copper Layer (Gerber) Top Layer
copper layer.2 Copper Layer (Gerber) Layer 2
copper layer.3 Copper Layer (Gerber) Layer 3
copper layer.4 Copper Layer (Gerber) Bottom Layer

Note:

After each copper layer file is successfully imported, the corresponding copper layer row in
the Stackup table will be updated to reflect the actual percentage of copper contained on
that layer. In addition, the mechanical properties of the board will be updated to reflect the
changes made to the layer properties.

When all the copper layers have been imported, double-click any of them to give them a quick review
for correctness. Since we're done with this exercise and we already have these layers defined in the
Main Board, you can delete the Copper Import Test circuit card by right-clicking it's entry in the project
tree and selecting Delete Circuit Card from the menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 79
Tutorial: Ad Hoc Project Creation

Insulated Metal Substrate Stackup


Sherlock includes the ability to define an insulated metal substrate (IMS) stackup which differs from
the standard FR4 stackup in that it defines only three layers. The top layer is a copper layer, the second
layer is a dielectric layer, and the third layer is a substrate layer. To have Sherlock generate an IMS
stackup, press the Generate IMS Stackup button (1) on the Stackup ribbon.

The Generate IMS Stackup dialog (2) will appear which will assist in the creation of the IMS stackup.
After selecting the desired stackup properties, click the Save button and Sherlock will generate the
new stackup. Once generated, each of the stackup layers may be edited by right-clicking the desired
layer and selecting Edit Selected Layers from the menu.

Reviewing the Board Outline


We will now return to the Main Board. Every PCB in Sherlock needs a board outline defined. Sherlock
will typically be able to automatically determine the board outline when provided file information such
as pick and place data, however if that data is not available, the board outline will need to be defined.
If there is a red “X” next to the Layers entry in the Inputs folder, hover the mouse over that entry to
reveal the error or right-click the entry and select Show Error from the menu. When the board outline
needs to be defined, simply double-click the Layers entry to launch the Layer Viewer.

If there is no board outline defined, then the Missing Board Outline (1, below) will be displayed to
allow the rectangular dimensions of the board to be provided. After entering the dimensions, select
Save.

If you provided the board dimensions or guessed the board outline based on all component, silk screen,
solder mask and copper layers already processed, further refinement may be necessary, especially if the
board isn't a rectangular shape. To do so, select Edit Board Outline from the Edit menu at the top of
the Layer Viewer, then press the Edit Outline button at the bottom of the Layer Viewer. Upon entering
edit mode, the outline will change to red and the outline nodes will be displayed as filled red squares
(2, below).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
80 of ANSYS, Inc. and its subsidiaries and affiliates.
Reviewing the Board Outline

Left-click any node and drag it with the mouse to the desired location. Note that the node location is
shown in the upper-left hand corner of the layer display as you drag the node for convenience. After
you are done moving one or more nodes, right-click anywhere outside the nodes and select Done
Editing to terminate edit mode. You may also press the Done button at the bottom of the Layer
Viewer.

If you know the exact location of the board outline nodes (easily found by looking at the board layout
diagram) you can use another approach to enter them exactly. Start by zooming out to see the entire
outline. Then, press the Edit Outline button to start edit mode. Now, instead of left-clicking a node
and dragging it into position, right-click the node and select Edit Location from the menu to display
the Edit Vertex dialog. That dialog allows you to enter the precise coordinates for the node. In this
case, we're looking at the lower-left corner of the board outline. Since the board dimensions are 7.7 x
4.7 inches and it is centered at (0, 0), we know exactly where each corner should be located.

Press Save to update the node location and repeat for all other board outline nodes. When done, right-
click anywhere outside the nodes and select Done Editing to update the board outline.

When you're done making all outline changes, press the Save button at the bottom of the Layer
Viewer to make the changes permanent.

Note:

Extremely accurate placement of board outline nodes and components is not really important
for analysis purposes. Sherlock automatically snaps all part locations and board outline nodes
to a virtual 1 mm grid spacing before Finite Element Analysis. As long as parts don't overlap,
placing them anywhere within 1 mm of their actual location is good enough.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 81
Tutorial: Ad Hoc Project Creation

Reviewing Component Layers


With the board outline in place and all files imported, we can focus on reviewing the size, location and
shapes of all components. The component review process for ad hoc projects is the same as that for
ODB++ projects, with just a couple extra things to examine. Let's start by reviewing the same components
that had to be modified in the previous lesson focused on the ODB++ project. We leave it as an exercise
for you to make the following changes that we made in the previous lesson:

Top Side Changes

• Parts R75 – R130, rotate by 90 degrees.

• Parts U5 – U6, change package type to QFP-80 (12x12).

• Parts U7 – U8, change package type to QFP-100 (20x14) and rotate by 90 degrees.

• Parts U13 – U16, change package type to TSOP-32 (18.4x8.0).

Bottom Side Changes

• Rotate all resistors by 90 degrees

• Move all DPAK transistors to their proper locations

In addition to these changes, there are some common issues to examine related to the use of Gerber
and Pick & Place files. Specifically, we want to look for the following problems:

• Components that are not displayed in any of the component layers

• Components that are not located in the proper position

Missing Components
Components missing from the component layers are almost always missing because there are no di-
mension or location properties assigned to that part. In some cases, the location data is simply not
provided in the Pick & Place file (often happens with through-hole parts). In other cases, no package
data is known, and the user forgot to review the Parts List when importing the BOM. Fear not, however,
Sherlock provides a convenient mechanism for handling such issues.

You may recall, we left the J1 part unmodified when we reviewed the Parts List, even though it was
missing dimensional data. We can now correct that problem in the Component Editor, while at the
same time placing it where it belongs.

Select the top component and solder mask layers for display, while in the Component Editor mode.
Then, right-click the mouse outside of all component outlines near the left side of the board (roughly
where the J1 connector belongs) and select the Add Missing Parts menu option. At that point, the
Choose Missing Parts dialog will appear, showing a list of all parts for which size and/or location
data is missing. In this case, only the J1 part is listed, but there could be a lot more missing parts in
real-world examples.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
82 of ANSYS, Inc. and its subsidiaries and affiliates.
Reviewing Component Layers

Select one or more of the parts listed and then enter the dimension data to be used for those parts.
Usually, you would select parts of the same type, but you can process them however you want.

Press Save to assign the size data to those parts and display them on the layer in the location where
the right-mouse click took place. The parts will be automatically selected so that you can immediately
start dragging them to their proper locations.

Once you're done moving those parts, press Apply to save the changes to the Parts List. At that
point, you can repeat the process to select another batch of missing parts, set their size and move
them into position.

Components in the Wrong Place


Since Pick & Place files don't provide Sherlock with the actual outline of any components, the location
provided for a given part could be anywhere relative to the part outline. Fortunately, for surface
mount parts, the location is almost always the center position of the part, but for through-hole parts
the location is usually the pin 1 location and since Sherlock doesn't have the part outline, it doesn't
know where that location should be. Moreover, most BOM and/or Pick & Place files don't even specify
if the part if surface mount or through-hole. So, Sherlock assumes it is dealing with surface mount
parts and that the location provided is the center position. This works most of the time (because
most parts are now surface mounted) but means that users creating Ad Hoc projects need to position
through-hole parts manually.

In this tutorial, the only through-hole parts are the J1 connector on the left side of the board and the
C21 through C25 round capacitors located on the top and bottom sides of the board. We fixed the
J1 location in the previous exercise, so it remains to move the capacitors to their proper location. To
position them properly, simply select each of them and drag them into position, using the top solder
mask and/or top silk screen as your guide. Feel free to zoom in for more accurate placement.

When you're done moving the through-hole parts, remember to press the Save button at the bottom
of the Component Editor to update the Parts List and close edit mode.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 83
Tutorial: Ad Hoc Project Creation

Reviewing Drill Holes


The last review task associated with ad hoc projects concerns drill hole sizes and placement. Unlike
ODB++ archives which use consistent coordinate specifications in all files, the coordinate systems used
by drill files and layer files in an ad hoc project may be different. The most common difference involves
how decimal values are stored in Excellon drill files. To see if our drill file has been imported correctly,
single-click the Drill Holes folder in the Layer Viewer to expand the drill hole layers. At that point, you'll
see a cluster of holes being displayed between the U9 and U10 components in the center of the board.
Clearly, something is wrong and must be corrected. The key thing to notice is that the holes look like
they are centered properly (that is, all files use the same origin location), but they appear to be scaled
smaller. Such a situation usually indicates that we chose the wrong numeric format when we imported
the file.

To correct the problem, right-click the [Link] file in the Project Tree of the main window and select
Edit Properties.

We see from the file properties form that we initially specified a format of 00.0000 for coordinates (the
default format). Since the hole positions are less than expected, we need to increase the number of
integer parts in the format by selecting the 000.000 coordinate format. For example, if Sherlock previously
read the string "123456” and parsed it as “12.3456” using the 00.0000 format, now Sherlock will parse
that string as “123.456”, multiplying all coordinates by a factor of 10. Also, ensure that the Coordinate
Units are specified as in since we know the whole project uses non-metric values. Press Save to try

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
84 of ANSYS, Inc. and its subsidiaries and affiliates.
Reviewing Drill Holes

that setting and re-parse the hole locations (and sizes). After the file processing has completed, re-display
the drill holes in the Layer Viewer and you'll see them in the proper locations.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 85
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
86 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 7: Approved Vendor List (AVL)
To assist with project management, ANSYS Sherlock allows users to create and maintain an Approved
Vendor List (AVL) that can be shared across all projects to translate between internal organizational
part numbers and one or more approved vendor part numbers. Users can then search for parts based
on any of the part numbers defined in the AVL, update a selected CCA Parts List using the information
from the AVL and/or verify that all part numbers referenced by a selected CCA are approved. As with
other Sherlock data structures, the AVL can be edited manually using the Sherlock Graphical User Inter-
face, can be exported to a spreadsheet for external or batch editing and imported from a spreadsheet.
This document describes how to create, maintain and use an Approved Vendor List in Sherlock.

Note:

The examples shown in this document are based on the Tutorial Project provided as part of
the Sherlock Tutorial package discussed in the Project Overview (p. 11) lesson.

Chapter Sections:
AVL Menu Options
Maintaining the AVL
Using The AVL

AVL Menu Options


The Approved Vendor List is created, maintained, and utilized via the following menu items located
in the Libraries > Approved Vendor List (AVL) main menu option.

For your convenience, you may update a parts list from the AVL by right-clicking Parts List and selecting
Update Parts List from AVL. The AVL is also integrated into the Part Library search process and the
Part Validation analysis module, as will be discussed below.

Maintaining the AVL


All AVL maintenance processing is performed via the Libraries > Approved Vendor List (AVL) main
menu option. The AVL itself is shared across all Sherlock projects and is empty after Sherlock is initially
installed. Over time, you may manually add, edit, and remove AVLentries as needed. You may also
import / export all or part of the AVL to facilitate sharing with other Sherlock users or for organizational
configuration control.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 87
Approved Vendor List (AVL)

Importing AVL Data


The most common way to create an AVL in Sherlock is to import the AVL data directly from a
spreadsheet file maintained by your design or reliability organization. Sherlock accepts the following
spreadsheet file formats based on the file name suffix (case insensitive):

• Comma Separated Values (CSV)

• Excel 97/2003 (XLS) and

• Excel 2010 (XLSX)

To see how the import process works, let's import the Tutorial Project [Link] file located in the
tutorial sub-folder of the Sherlock Installation Directory (usually c:/Program Files/ANSYS
Inc/v211/sherlock). Select the Libraries > Approved Vendor List (AVL) main menu option to display
the following edit dialog:

Shortly we will see how this dialog can be used to maintain the AVL, but for now we need only press
the Import Parts... button to display the Import AVL File(s) dialog that allows us to import the AVL
spreadsheet file.

Locate and select the spreadsheet file referenced above on your file system and press the Import
AVL File(s) button to start the import process. You may also double-click the desired file in the file

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
88 of ANSYS, Inc. and its subsidiaries and affiliates.
Maintaining the AVL

browser dialog as a convenience. Sherlock will open the selected file and determine the relevant
columns available.

The AVL Column Mapping dialog will then be displayed to show what Sherlock found in the file.
Specifically, it will display the sheet names found in the file (for XLS and XLSX files), the number of
header rows found before the column header row and a mapping of column headers to AVL properties.

It is important to note that Sherlock makes educated guesses about the file format to automatically
determine the desired mapping. In this tutorial example, Sherlock guesses everything correctly.
However, depending on the complexity of the spreadsheet being imported, you may need to manually
update the values in the AVL Column Mapping dialog. The most common such adjustments are
selecting the proper sheet from a multi-sheet file, specifying the actual number of header rows and/or
selecting the desired columns.

Note:

After manually specifying the Sheet Name and/or Header Row count you can press the
Guess button to have Sherlock guess the column mappings again.

Note:

Sherlock automatically re-uses the column mapping used during the last AVL Import process.
If you are processing a new AVL file, you can press the Guess button to clear the old
mapping and re-guess based on the new file.

After entering the proper column mapping, press the Next button to proceed to the next import
step - selecting the desired processing options.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 89
Approved Vendor List (AVL)

If the selected AVL spreadsheet file contains the entire AVL used by your organization, then you can
safely select the Replace Existing AVL By File Contents processing option. As the name implies,
that processing option will replace all existing AVL data by the data found in the file. This ensures
that the AVL data used by Sherlock is identical to that specified in the spreadsheet file.

If the selected AVL spreadsheet file contains a subset of your organization's AVL, select either of the
remaining options to append and/or update the Sherlock AVL using the data found in the selected
spreadsheet file. These processing options allow you to incrementally update the Sherlock AVL when
new parts are added, or existing parts updated.

In either case, after selecting the desired processing option, press the Import Parts button to process
all rows in the selected spreadsheet file and update the Sherlock AVL. After the import process has
completed, the Approved Parts list will be automatically refreshed to show the AVL parts that match
the given search and filter criteria. Since we didn't enter any search or filter criteria, all the AVL parts
will be displayed as shown here.

The Approved Parts list shows the approved part number and description for each part, as well as
the various vendor/part combinations. In our example, most of the parts only have a single vendor
part associated with it, but up to four vendor/part combinations are supported.

Importing Multiple Files


The Import AVL File(s) dialog described above can be used to import one or more spreadsheet files
at the same time. This allows users to maintain their organizational AVL across different spreadsheet
files (perhaps by vendor or functional group) and still be imported by Sherlock without too much
fuss. To import multiple spreadsheet files, you can select multiple spreadsheet files by pressing and

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
90 of ANSYS, Inc. and its subsidiaries and affiliates.
Maintaining the AVL

holding the Ctrl key when selecting the files in the dialog or any of the standard Windows GUI
mechanisms for selecting multiple files. You may also select a folder instead of an individual spread-
sheet file. In that case, all spreadsheet files contained in that folder (and all sub-folders) will be imported
by Sherlock.

When multiple files are imported, Sherlock will display a separate AVL Column Mapping dialog for
each of the files. After specifying the column mappings for each file (which may be the same), the
Import AVL Parts dialog will be displayed to allow you to select the desired processing options for
all the files being imported.

Editing AVL Part Data


The Approved Parts result list displayed in the Approved Vendor List (AVL) dialog allows you to
edit any AVL entry simply by double-clicking any row. You may also right-click an entry in the Ap-
proved Parts list and select Edit Selected Part from the pop-up menu. At that point the Edit AVL
Part dialog will appear, allowing you to edit the approved part number (aka. Internal Part Number),
the approved description and up to four vendor name/part number pairs.

Note:

If you change the AVL Part Number you must enter a new part number that is not already
defined in the AVL.

Deleting AVL Part Data


To delete one or more AVL entries simply select one or more rows in the Approved Parts list, right-
click any of the selected parts and select Delete Selected Parts from the pop-up menu. You will be
prompted to confirm the deletion.

Note:

There is no undo-action provided to restore deleted AVL entries. As such, you may want
to periodically export the AVL data (as explained in the next sub-section) for safe keeping
outside of Sherlock.

Exporting AVL Part Data


AVL data can be exported to a spreadsheet file at any time simply by selecting one or more rows in
the Approved Parts list, right-clicking any of the selected entries and selecting Export Selected
Parts from the pop-up menu.

An easy way to export the entire AVL is:

• Clear all Search Criteria and Filter fields in the Approved Vendor List (AVL) dialog

• Press the List Parts buttons to display all AVL parts

• Select any row in the Approved Parts list

• Press Ctrl+A to select all rows in the table

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 91
Approved Vendor List (AVL)

• Right-click any row and select Export Selected Parts from the pop-up menu.

In either case, when the Export AVL Parts dialog is displayed, locate the folder in which you want
to store the spreadsheet and specify the desired file name. If you specify an existing file name, Sherlock
will prompt you to ensure that the file should be overwritten.

When the Export AVL Parts button is pressed, Sherlock will export the data for all the selected rows
to the designated spreadsheet file.
Note:

Sherlock automatically determines the export file format based on the specified file name
suffix, which must be either .XLS, .XLSX or .CSV (case-insensitive).

Using The AVL


Sherlock makes use of the Approved Vendors List in the following ways:

• Searching the Part Library

• Updating the Parts List and

• Validating the Parts List

We now discuss examples for each use of the AVL.

Note:

The examples shown in the section assume that the Parts List and Part Library have been
updated using the examples provided in the Part Library (p. 557) user guide. If you haven't
already worked through those examples, you may not have the necessary Parts List or Part
Library data entries to work through these examples.

Searching the Part Library


Part library searches automatically make use of the AVL to cross-reference approved (aka. internal)
part numbers and manufacturer part numbers. This allows Sherlock users to store either part number
in the Parts List and/or Part Library, while still being able to locate parts using the other part numbers.

To see how this works, we'll use the Search Part Library dialog (shown below) to search for parts
using the approved part numbers, even though only vendor part numbers are used in the Parts List
and Part Library.

Select Libraries > Parts from the main menu, fill out the search criteria as shown here and press the
List Parts button to list all part numbers prefixed by DFR-CAP.

The results table show multiple matching parts, even though neither part number starts with DFR-
CAP. These results were found because the DFR-CAP1 entry in the AVL recently imported reference
the TMC1CBTTE106M vendor part number, and that part number is stored in the Part Library. Sim-
ilar results would occur if an approved part number was stored in the Part Library and we were
searching for a vendor part number cross-referenced to that part in the AVL.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
92 of ANSYS, Inc. and its subsidiaries and affiliates.
Using The AVL

Updating the Parts List


In many cases, the various design files used by Sherlock to gather part data use inconsistent part
numbers, sometimes using internal part numbers in one file and vendor part numbers in other files.
Similarly, the part descriptions gathered from various design files may be inconsistent, misleading or
down-right wrong. To help clean up such problems, Sherlock allows you to update the part number,
manufacturer and/or description properties for any part in the Parts List that has a corresponding
AVL entry. To see how this works, right-click the Parts List entry in the Project Tree and select the
Update Part List from the Approved Vendor List option (A, below) from the ribbon.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 93
Approved Vendor List (AVL)

The dialog shown above allows you to indicate which parts in the Parts List should be updated, how
to handle duplication problems and how to update the part properties using the AVL data.

Matching Criteria
When processing each part in the Parts List, Sherlock uses the selected Matching criteria to determine
if the given part matches an entry in the AVL. If Part Number & Manufacturer are selected, then a
match will occur only if both the manufacturer and part numbers listed in the Parts List entry exactly
match one of the vendor/part number pairs defined in the AVL. If Part Number Only is selected,
then a match will occur if the part number in the Parts List entry matches either the approved part
number in the AVL or any of the vendor part numbers in the AVL.

Duplication Handling
The Duplication mode indicates how Sherlock should react if more than one match occurs for a
given part. If Generate Error is selected, then Sherlock will print an error to the Sherlock Console
and will NOT update the given part in the Parts List. If Use First Match is selected, then Sherlock will
select one of the matching AVL entries (essentially at random) and will use that data from that AVL
entry to update the given part. Finally, if Ignore Matches is selected, then Sherlock will simply skip
that part without reporting any error.

Part Property Updates


The Part Number and Description options indicate which data properties should be updated in the
Parts List for a part that matches an AVL entry. If Assign Internal Part Number is selected, Sherlock
will store the approved part number from the AVL entry in the Part Number field in the Parts List.
If Assign Vendor & Part Number is selected, Sherlock will store the vendor name and part number
from the AVL entry in the Manufacturer and Part Number fields in the Parts List. Similarly, if Assign
Approved Description is selected, then the approved description from the AVL entry will be assigned
to the Description field in the Parts List.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
94 of ANSYS, Inc. and its subsidiaries and affiliates.
Using The AVL

Press the Update Parts List button to update the Parts List using the current AVL entries. After the
processing has completed the Parts List will show that the Part Number information has been updated
for most parts, as indicated by the purple highlight color.

If you double-click any of those entries, you'll see that the approved vendor/part number and descrip-
tion have been assigned. To store the approved part number in the Parts List entries instead of the
vendor part numbers, use the Update Parts List from AVL menu option again, but select the Assign
Internal Part Number option. After the Parts List is updated, the Parts List display shows that in-
ternal part numbers have now been assigned to most parts.

Note:

If you select both Do No Change Vendor / Part Number and Do Not Change Description,
then Sherlock will delete all current AVL property settings for each matching part in the
Part List, allowing other property value sources, such as those defined in the Part Library,
to be used.

Validating the Parts List


One of the most common uses of the AVL is that of validating the Parts List. Specifically, the part
number, manufacturer and/or description of each part in the Parts List is compared with the current
AVL entries and all inconsistencies are reported. AVL validation is integrated into the Part Validation
analysis module, which also validates the Parts List against entries in the Part Library. Together,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 95
Approved Vendor List (AVL)

these Sherlock data stores can be used to ensure that any CCA uses parts consistently across your
organization. See the Part Validation (p. 591) tutorial for more details.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
96 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 8: API Services
As of release 2021 R1, ANSYS Sherlock utilizes gRPC- a high performance, open-source, universal RPC
(Remote Procedure Call) framework. This allows users with programming experience to access some of
Sherlock’s internal functions, making it easier, for example, to integrate Sherlock's capabilities with
other applications.

The gRPC framework makes these APIs accessible to a broad range of users. When Sherlock developers
create a new API, they only need to define the service once in a Sherlock .proto file. The gRPC
framework automatically generates the clients and servers required to support over a dozen computer
languages.

This chapter includes all the information you need to set up and start using the APIs. Previous experience
using gRPC is not required, but the information in this chapter assumes you have some programming
experience in one of the following languages: Android Java, C#/.NET, C++, Dart, Go, Java, Kotlin/JVM,
Node, Objective-C, PHP, Python, Ruby, or Web.

The sections in this chapter include:


Setting Up Your Computer to Run Sherlock's APIs
Index to the Sherlock APIs
Sherlock Project Service- [Link]
Sherlock Life Cycle Service- [Link]
Sherlock Stackup Service- [Link]
Sherlock Parts Service- [Link]
Sherlock Analysis Service- [Link]
Sherlock Common Service- [Link]
gRPC Scalar Value Types

Setting Up Your Computer to Run Sherlock's APIs


In this section, you will find the following topics to help you get started using Sherlock's API features:
Becoming Acquainted with gRPC
Where to Find the Sherlock .proto Files
Connecting to the Sherlock gRPC Server
Installing and Setting Up BloomRPC (Optional)

Becoming Acquainted with gRPC


To use Sherlock's APIs, you will need programming experience (gRPC supports over a dozen computer
languages) and a familiarity with gRPC as well. If you are new to gRPC, the official website provides

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 97
API Services

a wealth of information to get you started: an overview of gRPC, a quick-start option, tutorials,
downloads, and complete instructions for each supported computer language.

If you want to begin with an overview of basic concepts, visit the Introduction to gRPC page. If you
would rather dive in quickly and learn by doing, visit their Supported Languages and Platform page
and click the programming language you prefer. This directs you to a quick-start guide and tutorials
tailored for that language.

As of this printing, gRPC supports the following languages: Android Java, C#/.NET, C++, Dart, Go, Java,
Kotlin/JVM, Node, Objective-C, PHP, Python, Ruby, and Web.

Where to Find the Sherlock .proto Files


All the Sherlock .proto files you need to run the APIs were placed on your hard drive when you
installed the ANSYS software (version 211 and later). You will find the files in the following location
(the file path may vary if you installed your ANSYS software in a nondefault location):

C:\Program Files\ANSYS Inc\v211\sherlock\grpc\

The instructions from the gRPC website (see Becoming Acquainted with gRPC (p. 97)) explains how
to implement the .proto files. Currently, the .proto files included with Sherlock are:

• [Link]

• [Link]

• [Link]

• [Link]

• [Link]

• [Link]

Connecting to the Sherlock gRPC Server


To use Sherlock's API's, you must to connect to the gRPC server. To connect to the gRPC server, do
the following:

1. Open your computer's command-line interface and enter the command shown below to activate
the Sherlock gRPC Launcher. If you installed your ANSYS softfware in a non-default location,
modify the command-line accordingly. In the example below, port 9090 is selected, but you may
specify any of your computer's available communications ports.
c:\Program Files\ANSYS Inc\v211\sherlock>[Link] -console -grpcPort=9090

2. If successful, the Sherlock GRPC Launcher Console will appear, confirming the gRPC server is
running on port 9090 or whichever port you selected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
98 of ANSYS, Inc. and its subsidiaries and affiliates.
Setting Up Your Computer to Run Sherlock's APIs

Closing the GRPC Launcher Console terminates the connection to the gRPC server. You will need
to repeat the above procedure to reconnect.

Installing and Setting Up BloomRPC (Optional)


The BloomRPC application is an open source GUI client. It is not required for running Sherlock's APIs,
but it does provide a simple way for you to enter an API request and see the response. (See the
screenshot below.) This link will take you to the GitHub website where you can download the latest
setup file. Once you have installed BloomRPC, follow the configuration instructions below.

Configuring BloomRPC:

1. Open the BloomRPC application.

2. Load the .proto files into BloomRPC by clicking on the icon in the Protos panel. This will
open a file explorer interface. Navigate to your Sherlock installation and select all the Sherlock
.proto files. (See Where to Find the Sherlock .proto Files (p. 98).)

3. When successfully loaded into BloomRPC, the files will appear in the Protos panel.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 99
API Services

4. Connect to the server by entering the server address. In this example, [Link]:9090 is shown, but
use whatever port number you chose in the section above, Connecting to the Sherlock gRPC
Server (p. 98) (step 2).

Index to the Sherlock APIs


Index tables in this section:
General Index to API Services
Index to Sherlock Project Services APIs
Index to Sherlock Life Cycle Service APIs
Index to Sherlock Stackup Service APIs
Index to Sherlock Parts Service APIs
Index to Sherlock Analysis Service APIs
Index to Sherlock Common Service APIs

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
100 of ANSYS, Inc. and its subsidiaries and affiliates.
Index to the Sherlock APIs

General Index to API Services


In the table below, API services are listed alphabetically. Clicking on any of the links will take you the
pertinent section where the API services are presented in detail. Also, links at the bottom of the table
take you to tables which define Scalar Value Types (p. 162).

Table 8.1: Index to the Sherlock APIs

Sherlock APIService Description


Analysis The APIs in this section allow you to run one or more analyses
Service (p. 157) in sequential order. Results are saved to the project's Saved
Results folder on Sherlock Project Tree.

[Link]
Common This section contains health checks and exit APIs shared by all
Service (p. 160) services.

[Link]
Life Cycle The APIs in this section return the list of Life Cycle events for a
Service (p. 110) given project as well as allow you to define different Life Cycle
events and profiles.

[Link]
Parts Service (p. 153) In this section you will find APIs that allow you to see the
user-configured part libraries, to see a list of parts with properties
different than those in the Sherlock Part Library, and to update
the Parts List for a given project.

[Link]
Project The APIs in this section perform project level functions such as
Service (p. 105) generating reports and importing ECAD files.

[Link]
Stackup The APIs in this section allow you to perform updates on laminate
Service (p. 144) layers.

[Link]
Scalar Value Types: The links below will take you to tables which define gRPC scalar values
by language type.

For C++, Java, Python, and Go, click here (p. 162).
For C#, PHP, and Ruby, click here (p. 163).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 101
API Services

Index to Sherlock Project Services APIs


Clicking on the link in the Request Type column in the table below will take you to the selected API.

Table 8.2: Index to Sherlock Project Service APIs

Method Name Request Type Response Type Description


For display purposes, the long strings in columns two and three are broken into multiple lines. For
example, the first string in column two should be interpreted as: .GenReportRequest
genReport .GenReport .GenReport Generates the project report
Request (p. 109) Response and return it via streaming.
stream (p. 109)
importIPC2581 .ImportIPC2581 ReturnCode (p. 162) Imports an ODB++ archive.
Archive Request (p. 107)
importODBArchive .ImportODB ReturnCode (p. 162) Imports an ODB++ archive.
Request (p. 108)
genCCAReport .GenCCA .GenCCAReport Generates the project CCA
ReportRequest (p. 106)
Response report and returns it via
stream (p. 106) streaming.

Index to Sherlock Life Cycle Service APIs


Clicking on the active links in the table below will take you to the selected API.

Table 8.3: Sherlock Life Cycle Service APIs in this Section

Method Name Request Type Response Type Description


For display purposes, the strings in the first three columns are broken into multiple lines and should
be read as continous. For example, the first string in column one should be interpreted as:
listLifeCycleEvents
listLifeCycle .ListLCEvents .ListLCEvents Returns a list of Life Cycle
Events Request (p. 126) Response (p. 128) phases and their events
given a Sherlock project
directory.
listDuration .ListDuration .ListDuration Returns a list of duration
Units UnitsRequest (p. 126) UnitsResponse (p. 126) units when adding a Life
Cycle event.
listLifeCycle .ListLCStates .ListLCStates Returns a list of Life Cycle
States Request (p. 129) Response (p. 129) states.
listLifeCycle .ListLCTypes .ListLCTypes Returns a list of Life Cycle
Types Request (p. 130) Response (p. 130) types.
addThermal .AddThermal .AddThermal Event Define and add a new
Event EventRequest (p. 120) Response (p. 121) thermal Life Cycle event.
listHarmonic .ListHarmonic .ListHarmonic Profile Returns a list of Harmonic
ProfileTypes ProfileTypes TypesResponse (p. 127) Load Profile types.
Request (p. 127)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
102 of ANSYS, Inc. and its subsidiaries and affiliates.
Index to the Sherlock APIs

listRandom .ListRandom Profile .ListRandom Returns a list of Random


ProfileTypes TypesRequest (p. 131) ProfileTypes Vibe profile types.
Response (p. 131)
listShock .List Shock .ListShock LoadUnits Returns a list of Shock Load
LoadUnits LoadUnitsRequest (p. 131)
Response (p. 131) units.
addThermal .AddThermal .AddThermal Profile Define and add a new
Profile ProfileRequest (p. 122) Response (p. 122) thermal Life Cycle event
profile.
loadThermal .LoadThermal Profile .LoadThermal Profile Loads a thermal profile from
Profile Request (p. 142) Response (p. 143) a .dat or .csv file
addShock Event .AddShock Event .AddShock Event Define and add a new shock
Request (p. 117) Response (p. 117) Life Cycle event.
addShock .AddShock .AddShock Profile Define and add a new shock
Profile ProfileRequest (p. 118) Response (p. 119) Life Cycle event profile.
listTemp Units .ListTemp .ListTemp Returns a list of temperature
UnitsRequest (p. 133) UnitsResponse (p. 133) units.
addHarmonic .AddHarmonic .AddHarmonic Define and add a new
Event EventRequest (p. 110) EventResponse (p. 110) harmonic vibe Life Cycle
event.
listFreqUnits .ListFreq .ListFreq Returns a list of frequency
UnitsRequest (p. 126) UnitsResponse (p. 126) units.
addRandom .AddRandomVibe .AddRandomVibe Define and add a new
VibeEvent EventRequest (p. 115) EventResponse (p. 115) random vibe Life Cycle
event.
createLife Phase .CreateLife .CreateLife Define and add a new life
PhaseRequest (p. 124) PhaseResponse (p. 124) phase.
addHarmonic .AddHarmonic .AddHarmonic Define and add a new
Profile ProfileRequest (p. 110) ProfileResponse (p. 112) harmonic Life Cycle event
profile.
loadHarmonic .LoadHarmonic .LoadHarmonic Loads a harmonic profile
Profile ProfileRequest (p. 134) ProfileResponse (p. 134) from a .dat or .csv file
listShock Pulses .ListShock .ListShock Returns a list of shock pulses.
PulsesRequest (p. 132) PulsesResponse (p. 132)
loadRandom .LoadRandom .LoadRandom Loads a random vibe profile
Profile ProfileRequest (p. 136) ProfileResponse (p. 136) from a .dat or .csv file
addRandom .AddRandom .AddRandom Define and add a new
Profile ProfileRequest (p. 114) ProfileResponse (p. 114) random vibe Life Cycle event
profile.
loadShock .LoadShockProfile .LoadShockProfile Loads a shock profile using
ProfileDataset DatasetRequest (p. 138) DatasetResponse (p. 138)dataset from a .dat or .csv
file
loadShock .LoadShockProfile .LoadShockProfile Loads a shock profile using
ProfilePulses PulsesRequest (p. 140) PulsesResponse (p. 141) pulses from a .dat or .csv file

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 103
API Services

listAmplUnits .ListAmpl .ListAmpl Returns a list of amplitude


UnitsRequest (p. 125) UnitsResponse (p. 125) units when adding a random
vibe profile.

Index to Sherlock Stackup Service APIs


Clicking on the active links in the table below will take you to the selected API.

Table 8.4: SherlockStackupService

Method Name Request Type Response Type Description


For display purposes, some strings in the first three columns are broken into multiple lines and should
be read as continous. For example, the first string in column two should be interpreted as:
.ListLaminatesRequest
listLaminates .ListLaminates .List Laminates Returns a list of project's CCAs and
Request (p. 149) Response (p. 150) their laminates.
updateLaminate .Update Laminate .ReturnCode (p. 162)Update properties for a given
Request (p. 151) laminate layer.
listLaminate .ListLaminate .ListLaminate List all the supported laminate
ThicknessUnits Thickness Thickness Units layer thickness units.
UnitsRequest (p. 149) Response (p. 149)
listConductor .ListConductor .ListConductor List all conductor materials.
Materials Materials Materials
Request (p. 144) Response (p. 144)
listFiber Materials .ListFiber Materials .ListFiber List all fiber materials.
Request (p. 146) Materials
Response (p. 146)
listLaminate .ListLaminate .ListLaminate List all laminate materials
Materials Materials Materials manufacturers
Manufacturers Manufacturers Manufacturers
Request (p. 146) Response (p. 147)
listLaminate .ListLaminate .ListLaminate List all laminate materials
Materials Materials Materials (both based on manufacturer
Request (p. 147) Response (p. 147) specified or without). If
manufacturer is empty or not
provided, then all
manufacturers and their
laminate materials will be
returned. If a manufacturer is
provided, then only that
manufacturer's laminate
materials will be returned.
listConstruction .ListConstruction .List Construction List all construction styles.
Styles StylesRequest (p. 145) Styles
Response (p. 145)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
104 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Project Service- [Link]

Index to Sherlock Parts Service APIs


Clicking on the active links in the table below will take you to the selected API.

Table 8.5: SherlockPartsService

Method Request Type Response Type Description


Name
For display purposes, strings in the first three columns are broken into multiple lines and should be
read as continuous. For example, the first string in column two should be interpreted as:
.ListPartsLibrariesRequest
listParts .ListParts .ListParts List the available parts libraries.
Libraries LibrariesRequest (p. 154)
LibrariesResponse (p. 154)
update .Update .UpdateParts Update the parts list for a project's
PartsList PartsListRequest (p. 156)
ListResponse (p. 157) CCA.
listParts .ListPartsNot .ListPartsNot List the parts that have not been
NotUpdated UpdatedRequest (p. 154)
UpdatedResponse (p. 155)
updated from the Sherlock Part
Library.

Index to Sherlock Analysis Service APIs


Clicking on the active links in the table below will take you to the selected API.

Table 8.6: SherlockAnalysisService

Method Request Type Response Type Description


Name
runAnalysis .RunAnalysisRequest (p. 158)
.ReturnCode (p. 162) Runs one or more Sherlock
analysis.

Index to Sherlock Common Service APIs


Clicking on the active links in the table below will take you to the selected API.

Table 8.7: SherlockCommonService

Method Request Type Response Type Description


Name
check .HealthCheckRequest (p. 161)
.HealthCheckResponse (p. 161)
Returns health status of
gRPC server.
exit .ExitRequest (p. 161) .ReturnCode (p. 162) Signals for gRPC
connection to shutdown.

Sherlock Project Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 105
API Services

The APIs in this section perform project level functions such as generating reports and importing ECAD
files.
Generate CCA Report
Import IPC2581 Request
Import ODB Request
Request a Project Report

Generate CCA Report

GenCCAReportRequest
Request a project CCA report.

Table 8.8: GenCCAReportRequest

Field Type Label Description


project string (p. 162) Sherlock project name.
cca string (p. 162) Project CCA name.
author string (p. 162) Name of the author who generates the report.
company string (p. 162) Name of author's company.

GenCCAReportResponse
Streams the project CCA report in chunks.

Table 8.9: GenCCAReportResponse

Field Type Label Description


content bytes (p. 162) A chunk of the project CCA report being returned in
increments.
size int32 (p. 162) Size of the chunk returned.
returnCode ReturnCode (p. 162) Status code of response.

Example: Generate CCA Report


Proto Request Example
{
"project": "Tutorial Project",
"cca": "Main Board",
"author": "Testing",
"company": "Ansys"
}

Python Example
import SherlockProjectService_pb2
import SherlockProjectService_pb2_grpc
import grpc

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
106 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Project Service- [Link]

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockProjectService_pb2_grpc.SherlockProjectServiceStub(channel)

message = SherlockProjectService_pb2.GenCCAReportRequest()
[Link] = 'Tutorial Project'
[Link] = 'Main Board'
[Link] = 'Testing'
[Link] = 'Ansys'

# response = [Link](message)

for feature in [Link](message):


print("CCA Report Generated")

Import IPC2581 Request

ImportIPC2581Request
Request for importing an IPC-2581 archive

Table 8.10: ImportIPC2581Request

Field Type Label Description


archiveFile string (p. 162) Full path to the IPC-2581 arhicve file to be
imported.
project string (p. 162) Sherlock project name. If empty, the filename will
be used for the project name.
ccaName string (p. 162) Project CCA name. If empty, the filename will be
used for the CCA name.
includeOtherLayers bool (p. 162) Option to include other layers.

Proto Request Example


{
"archiveFile": "C:\\ANSYSDev\\SherlockUnitTestData\\IPC-2581\\[Link]",
"project": "Test IPC-2581 API Import",
"ccaName": "IPC-2581 API Import",
"includeOtherLayers": false
}

Python Example
import SherlockProjectService_pb2
import SherlockProjectService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockProjectService_pb2_grpc.SherlockProjectServiceStub(channel)

stub = SherlockProjectService_pb2_grpc.SherlockProjectServiceStub(channel)

message = SherlockProjectService_pb2.ImportIPC2581Request()
[Link] = 'C:\\ANSYSDev\\SherlockUnitTestData\\IPC-2581\\[Link]'
[Link] = 'Test IPC-2581 API Import'
[Link] = 'IPC-2581 API Import'
[Link] = 0

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 107
API Services

returnCode = stub.importIPC2581Archive(message)

print(str(returnCode))

Import ODB Request

ImportODBRequest
Request for importing an ODB++ archive.

Table 8.11: ImportODBRequest

Field Type Label Description


archiveFile string (p. 162) Full path to the ODB++ archive file to be
imported.
project string (p. 162) Sherlock project name. If empty, the filename
will be used for the project name.
ccaName string (p. 162) Project CCA name. If empty, the filename will
be used for the CCA name.
processLayerThickness bool (p. 162) Option to assign stackup thickness.
includeOtherLayers bool (p. 162) Option to include other layers.
processCutoutFile bool (p. 162) Option to process cutouts.

Proto Request Example


{
"archiveFile": "C:\\Program Files\\ANSYS Inc\\v211\\sherlock\\tutorial\\ODB++ [Link]",
"project": "Test ODB API Import",
"ccaName": "ODB++ Tutorial",
"processLayerThickness": true,
"includeOtherLayers": false,
"processCutoutFile": false
}

Python Example
import SherlockProjectService_pb2
import SherlockProjectService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockProjectService_pb2_grpc.SherlockProjectServiceStub(channel)

message = SherlockProjectService_pb2.ImportODBRequest()
[Link] = 'C:\\Program Files\\ANSYS Inc\\v211\\sherlock\\tutorial\\ODB++ [Link]'
[Link] = 'Test ODB API Import'
[Link] = 'ODB++ Tutorial'
[Link] = 1
[Link] = 0
[Link] = 0

returnCode = [Link](message)

print(str(returnCode))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
108 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Project Service- [Link]

Request a Project Report

GenReportRequest
Request a project report.

Table 8.12: GenReportRequest

Field Type Label Description


project string (p. 162) Sherlock project name.
author string (p. 162) Name of the author who generates the report.
company string (p. 162) Name of author's company.

GenReportResponse
Streams the project report in chunks.

Table 8.13: GenReportResponse

Field Type Label Description


content bytes (p. 162) A chunk of the project report being returned in
increments.
size int32 (p. 162) Size of the chunk returned.
returnCode ReturnCode (p. 162) Status code of response.

Example: Generate Report


Proto Request Example
{
"project": "Tutorial Project",
"author": "Testing",
"company": "Ansys"
}

Python Example
import SherlockProjectService_pb2
import SherlockProjectService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockProjectService_pb2_grpc.SherlockProjectServiceStub(channel)

message = SherlockProjectService_pb2.GenReportRequest()
[Link] = 'Tutorial Project'
[Link] = 'Testing'
[Link] = 'Ansys'

# response = [Link](message)

for feature in [Link](message):


print("Project Report Generated")

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 109
API Services

Sherlock Life Cycle Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

The APIs in this section return the list of Life Cycle events for a given project as well as allow you to
define different Life Cycle events and profiles.

Add Harmonic Event

AddHarmonicEventRequest
Request to define and add a new harmonic vibe Life Cycle event.

Table 8.14: AddHarmonicEventRequest

Field Type Label Description


project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life Cycle phase to add this event to.
eventName string (p. 162) Name of the harmonic event.
description string (p. 162) Description of the harmonic event.
duration double (p. 162) Event duration length.
durationUnits string (p. 162) Event duration length units.
numOfCycles double (p. 162) Number of cycles defined for this harmonic event.
cycleType string (p. 162) The cycle type. For example: "COUNT", "DUTY CYCLE",
"PER YEAR", "PER HOUR", etc.
sweepRate double (p. 162) Sweep rate for the harmonic event
orientation string (p. 162) PCB orientation in the format of azimuth, elevation.
Example: 30,15
profileType string (p. 162) Harmonic load profile types. Example valid values are
"Uniaxial" and "Triaxial".
loadDirection string (p. 162) Load direction in the format of x,y,z. Example: 0,0,1

AddHarmonicEventResponse
Response from adding a harmonic vibe event.

Table 8.15: AddHarmonicEventResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
110 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

Examples: Add Harmonic Event


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "7 - New Harmonic Vibe",
"description": "This is the addition of a new harmonic event",
"duration": 15,
"durationUnits": "ms",
"numOfCycles": 100,
"cycleType": "DUTY CYCLE",
"sweepRate": 1,
"orientation": "30,15",
"profileType": "Uniaxial",
"loadDirection": "0,0,1"
}

Request Response

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddHarmonicEventRequest()

[Link] = "Tutorial Project"


[Link] = "On The Road"
[Link] = "7 - New Harmonic Vibe"
[Link] = "This is the addition of a new harmonic event"
[Link] = 15
[Link] = "ms"
[Link] = 100
[Link] = "DUTY CYCLE"
[Link] = 1

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 111
API Services

[Link] = "30,15"
[Link] = "Uniaxial"
[Link] = "0,0,1"

response = [Link](message)

print(str(response))

Add Harmonic Profile

AddHarmonicProfileRequest
Request to define and add a new harmonic Life Cycle event profile.

Table 8.16: AddHarmonicProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines and should be read
as continous. It should be interpreted as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life
Cycle phase this event is
associated.
eventName string (p. 162) Name of the harmonic
event.
profileName string (p. 162) Name of the harmonic
profile.
freqUnits string (p. 162) Frequency Units.
loadUnits string (p. 162) Load units.
harmonicProfileEntries AddHarmonic repeated
[Link] (p. 112)

[Link]
Table 8.17: [Link]

Field Type Label Description


freq double (p. 162) Frequency.
load double (p. 162) Load.

AddHarmonicProfileResponse
Response from adding a harmonic profile.

Table 8.18: AddHarmonicProfileResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
112 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

errors string (p. 162) repeated List of validation errors.

Examples: Add Harmonic Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "Test Harmonic API",
"profileName": "Harmonic Profile - Script Creation",
"freqUnits": "Hz",
"loadUnits": "G",
"harmonicProfileEntries": [
{
"freq": 100.00,
"load": 10.0
},
{
"freq": 1000.00,
"load": 10.0
}
]
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddHarmonicProfileRequest()

[Link] = "Tutorial Project"


[Link] = "On The Road"
[Link] = "Test Harmonic API"
[Link] = "Harmonic Profile - Script Creation"
[Link] = "Hz"
[Link] = "G"

entry1 = SherlockLifeCycleService_pb2.AddHarmonicProfileRequest().Entry()
[Link] = 100.00
[Link] = 10.0
entry2 = SherlockLifeCycleService_pb2.AddHarmonicProfileRequest().Entry()
[Link] = 1000.00
[Link] = 10.00

[Link]([entry1, entry2])

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 113
API Services

Add Random Profile

AddRandomProfileRequest
Request to define and add a new random vibe Life Cycle event profile.

Table 8.19: AddRandomProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines and should be read
as continous. It should be interpreted as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life
Cycle phase this event is
associated.
eventName string (p. 162) Name of the random vibe
event.
profileName string (p. 162) Name of the random vibe
profile.
freqUnits string (p. 162) Frequency Units.
amplUnits string (p. 162) Amplitudefiunits.
randomProfileEntries AddRandomProfile repeated
[Link] (p. 114)

[Link]
Table 8.20: [Link]

Field Type Label Description


freq double (p. 162) Frequency.
ampl double (p. 162) Amplitude.

AddRandomProfileResponse
Response from adding a random vibe profile.

Table 8.21: AddRandomProfileResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Add Random Profile


Proto Request Example
{
"project": "Tutorial Project",

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
114 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

"phaseName": "On The Road",


"eventName": "1 - Vibration",
"profileName": "Random Profile - Script Creation",
"freqUnits": "HZ",
"amplUnits": "G2/Hz",
"randomProfileEntries": [
{
"freq": 10.0,
"ampl": 15.0
},
{
"freq": 100.0,
"ampl": 10.0
}
]
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddRandomProfileRequest()

[Link] = "Tutorial Project"


[Link] = "On The Road"
[Link] = "1 - Vibration"
[Link] = "Random Profile - Script Creation"
[Link] = "HZ"
[Link] = "G2/Hz"

entry1 = SherlockLifeCycleService_pb2.AddRandomProfileRequest().Entry()
[Link] = 10.0
[Link] = 15.00
entry2 = SherlockLifeCycleService_pb2.AddRandomProfileRequest().Entry()
[Link] = 100.00
[Link] = 10.00

[Link]([entry1, entry2])

response = [Link](message)

print(str(response))

Add Random Vibe Event

AddRandomVibeEventRequest
Table 8.22: AddRandomVibeEventRequest

Field Type Label Description


project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life Cycle phase to add this
event to.
eventName string (p. 162) Name of the random vibe event.
description string (p. 162) Description of the random vibe event.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 115
API Services

duration double (p. 162) Event duration length.


durationUnits string (p. 162) Event duration length units.
numOfCycles double (p. 162) Number of cycles defined for this random vibe
event.
cycleType string (p. 162) The cycle type. For example: "COUNT", "DUTY
CYCLE", "PER YEAR", "PER HOUR", etc.
orientation string (p. 162) PCB orientation in the format of azimuth,
elevation. Example: 30,15
profileType string (p. 162) Random load profile type. Example valid value
is "Uniaxial".
loadDirection string (p. 162) Load direction in the format of x,y,z. Example:
0,0,1

AddRandomVibeEventResponse
Response from adding a random vibe event.

Table 8.23: AddRandomVibeEventResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Add Random Vibe Event


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "Test Random Vibe Event",
"description": "Random Vibe Event Description",
"duration": 100,
"durationUnits": "ms",
"numOfCycles": 100,
"cycleType": "DUTY CYCLE",
"orientation": "30,15",
"profileType": "Uniaxial",
"loadDirection": "0, 0, -1"
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddRandomVibeEventRequest()

[Link] = "Tutorial Project"


[Link] = "Environmental"

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
116 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

[Link] = "Test Random Vibe Event"


[Link] = "100"
[Link] = 100
[Link] = "ms"
[Link] = 100
[Link] = "DUTY CYCLE"
[Link] = "30,15"
[Link] = "Uniaxial"
[Link] = "0, 0, -1"

response = [Link](message)

print(str(response))

Add Shock Event

AddShockEventRequest
Request to define and add a new shock Life Cycle event.

Table 8.24: AddShockEventRequest

Field Type Label Description


projectDir string (p. 162) The full path to the Sherlock project directory.
phaseName string (p. 162) The name of the Life Cycle phase to add this event to.
eventName string (p. 162) Name of the shock event.
description string (p. 162) Description of the shock event.
duration double (p. 162) Event duration length.
durationUnits string (p. 162) Event duration length units.
numOfCycles double (p. 162) Number of cycles de ned for this shock event.
cycleType string (p. 162) The cycle type. For example: "COUNT", "DUTY CYCLE",
"PER YEAR", "PER HOUR", etc.
peakLoad double (p. 162) Maximum load exerted in this event.
peakLoadUnits string (p. 162) Peak load units.
orientation string (p. 162) PCB orientation in the format of azimuth, elevation.
Example: 30,15
loadDirection string (p. 162) Load direction in the format of x,y,z. Example: 0,0,1

AddShockEventResponse
Response from adding a shock event.

Table 8.25: AddShockEventResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 117
API Services

AddShockProfileRequest
Request to define and add a new shock Life Cycle event profile.

Table 8.26: AddShockProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be
interpreted as: [Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
phaseName string (p. 162) The name of the Life Cycle phase this
event is associated.
eventName string (p. 162) Name of the shock event.
profileName string (p. 162) Name of the shock profile.
duration double (p. 162) Pulse duration.
durationUnits string (p. 162) Pulse duration unit.
sampleRate double (p. 162) Sample rate.
sampleRateUnits string (p. 162) Sample rate unit.
loadUnits string (p. 162) Load unit.
freqUnits string (p. 162) Frequency unit.
shockProfileEntries AddShockProfile repeated Primary shape entry for the shock
[Link] (p. 119) profile.

Examples: Add Shock Event


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "Test Shock API",
"description": "Test Description",
"duration": 2,
"durationUnits": "ms",
"numOfCycles": 100,
"cycleType": "DUTY CYCLE",
"orientation": "5, 5",
"loadDirection": "0, 0, -1"
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddShockEventRequest()

[Link] = "Tutorial Project"

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
118 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

[Link] = "On The Road"


[Link] = "Test Shock API"
[Link] = "Test Description"
[Link] = 2
[Link] = "ms"
[Link] = 100
[Link] = "DUTY CYCLE"
[Link] = "5, 5"
[Link] = "0, 0, -1"

response = [Link](message)

print(str(response))

Add Shock Profile

[Link]
Table 8.27: [Link]

Field Type Label Description


shape string (p. 162) Shape of the shock profile.
load double (p. 162) Load.
freq double (p. 162) Frequency rate.
decay double (p. 162) Decay rate.

AddShockProfileResponse
Response from adding a shock profile.

Table 8.28: AddShockProfileResponse

Field Type Label Description


ReturnCode (p. ReturnCode
162) (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Add Shock Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "2 - Shopping Cart",
"profileName": "addShockProfileTest",
"duration": 12,
"durationUnits": "ms",
"sampleRate": 0.1,
"sampleRateUnits": "min",
"loadUnits": "G",
"freqUnits": "HZ",
"shockProfileEntries": [
{
"shape": "FullSine",
"load": 50.0,
"freq": 50.0,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 119
API Services

"decay": 0.0
},
{
"shape": "HalfSine",
"load": 75.0,
"freq": 75.0,
"decay": 0.5
}
]
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddShockProfileRequest()
[Link] = "Tutorial Project"
[Link] = "Environmental"
[Link] = "2 - Shopping Cart"
[Link] = "addShockProfileTest"
[Link] = 12
[Link] = "ms"
[Link] = 0.1
[Link] = "min"
[Link] = "G"
[Link] = "HZ"
entry1 = SherlockLifeCycleService_pb2.AddShockProfileRequest().Entry()
[Link] = "FullSine"
[Link] = 50.0
[Link] = 50.0
[Link] = 0.0
entry2 = SherlockLifeCycleService_pb2.AddShockProfileRequest().Entry()
[Link] = "HalfSine"
[Link] = 75.0
[Link] = 75.0
[Link] = 0.5
[Link]([entry1, entry2])
response = [Link](message)

print(str(response))

Add Thermal Event

AddThermalEventRequest
Request to define and add a new thermal Life Cycle event.

Table 8.29: AddThermalEventRequest

Field Type Label Description


projectDir string (p. 162) The full path to the Sherlock project directory.
phaseName string (p. 162) The name of the Life Cycle phase to add this event to.
eventName string (p. 162) Name of the thermal event.
description string (p. 162) Description of the thermal event.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
120 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

numOfCycles double (p. 162) Number of cycles defined for this thermal event.
cycleType string (p. 162) The cycle type. For example: "COUNT", "DUTY CYCLE", "PER
YEAR", "PER HOUR", etc.
cycleState string (p. 162) The Life Cycle state. For example: "OPERATING", "STORAGE".

AddThermalEventResponse
Response from adding a thermal event.

Table 8.30: AddThermalEventResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Add Thermal Event


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "Test Thermal Event Creation API",
"description": "Test Description",
"numOfCycles": 99,
"cycleType": "DUTY CYCLE",
"cycleState": "STORAGE"
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddThermalEventRequest()

[Link] = "Tutorial Project"


[Link] = "On The Road"
[Link] = "Test Thermal Event Creation API"
[Link] = "Test Description"
[Link] = 99
[Link] = "DUTY CYCLE"
[Link] = "STORAGE"

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 121
API Services

Add Thermal Profile

AddThermalProfileRequest
Request to define and add a new thermal Life Cycle event profile.

Table 8.31: AddThermalProfileRequest

Field Type Label Description


For display purposes, the string in column two is broken into multiple lines and should be read as:
[Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
phaseName string (p. 162) The name of the Life Cycle phase this
event is associated.
eventName string (p. 162) Name of the thermal event.
profileName string (p. 162) Name of the thermal profile.
timeUnits string (p. 162) Time Units.
tempUnits string (p. 162) Temperature units.
thermalProfile AddThermalProfile repeated
Entries [Link] (p. 122)

[Link]
Table 8.32: [Link]

Field Type Label Description


step string (p. 162) Name of the step.
type string (p. 162) Profile step type. "HOLD" or "RAMP".
time double (p. 162) Time duration of the step.
temp double (p. 162) Temperature of the step.

AddThermalProfileResponse
Response from adding a thermal profile.

Table 8.33: AddThermalProfileResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
122 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

Examples: Add Thermal Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "1 - Temp Cycle",
"profileName": "addThermalProfileTest",
"timeUnits": "hr",
"tempUnits": "C",
"thermalProfileEntries": [
{
"step": "Min Temp",
"type": "HOLD",
"time": 12.0,
"temp": 20.0
},
{
"step": "Ramp",
"type": "RAMP",
"time": 12.0,
"temp": 130.0
},
{
"step": "Max Temp",
"type": "HOLD",
"time": 12.0,
"temp": 130.0
},
{
"step": "Ramp2",
"type": "RAMP",
"time": 12.0,
"temp": 20.0
}
]
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.AddThermalProfileRequest()
[Link] = "Tutorial Project"
[Link] = "Environmental"
[Link] = "1 - Temp Cycle"
[Link] = "addThermalProfileTest"
[Link] = "hr"
[Link] = "C"
entry1 = SherlockLifeCycleService_pb2.AddThermalProfileRequest().Entry()
[Link] = "Min Temp"
[Link] = 12.0
[Link] = "HOLD"
[Link] = 20.0
entry2 = SherlockLifeCycleService_pb2.AddThermalProfileRequest().Entry()
[Link] = "Ramp"
[Link] = 12.0
[Link] = "RAMP"
[Link] = 130.0
entry3 = SherlockLifeCycleService_pb2.AddThermalProfileRequest().Entry()
[Link] = "Max Temp"

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 123
API Services

[Link] = 12.0
[Link] = "HOLD"
[Link] = 130.0
entry4 = SherlockLifeCycleService_pb2.AddThermalProfileRequest().Entry()
[Link] = "Ramp2"
[Link] = 12.0
[Link] = "RAMP"
[Link] = 20.0
[Link]([entry1, entry2, entry3, entry4])
response = [Link](message)

print(str(response))

Create Life Phase

CreateLifePhaseRequest
Request for creating a life phase.

Table 8.34: CreateLifePhaseRequest

Field Type Label Description


project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of new life phase.
description string (p. 162) Description of new life phase.
duration double (p. 162) Event duration length.
durationUnits string (p. 162) Event duration length units.
numOfCycles double (p. 162) Number of cycles defined for new life phase.
cycleType string (p. 162) The cycle type. For example: "COUNT", "DUTY
CYCLE", "PER YEAR", "PER HOUR", etc.

CreateLifePhaseResponse
Response from creating a life phase.

Table 8.35: CreateLifePhaseResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response
errors string (p. 162) repeated List of error messages

Examples: Create Life Phase


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "createLifePhase Test",
"description": "Test Life Phase Created",
"duration": 100,
"durationUnits": "ms",
"numOfCycles": 100,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
124 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

"cycleType": "DUTY CYCLE"


}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.CreateLifePhaseRequest()

[Link] = "Tutorial Project"


[Link] = "createLifePhase Test"
[Link] = "Test Life Phase Created"
[Link] = 100
[Link] = "ms"
[Link] = 100
[Link] = "DUTY CYCLE"

response = [Link](message)

print(str(response))

List Amplitude Units

ListAmplUnitsRequest
Request for a list of amplitude units.

ListAmplUnitsResponse
Represents a list of amplitude units.

Table 8.36: ListAmplUnitsResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
amplUnits string (p. 162) repeated List of amplitude of units.

Examples: List Amplitude Units


import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListAmplUnitsRequest()

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 125
API Services

List Duration Units

ListDurationUnitsRequest
Request for a list of duration units for event settings.

ListDurationUnitsResponse
Represents a list of duration units for event settings in Life Cycle.

Table 8.37: ListDurationUnitsResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
durationUnits string (p. 162) repeated List of duration units.

Examples: List Duration Units


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListDurationUnitsRequest()

response = [Link](message)

print(str(response))

List Frequency Units

ListFreqUnitsRequest
Request for a list of frequency units.

ListFreqUnitsResponse
Represents a list of frequency units.

Table 8.38: ListFreqUnitsResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
126 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

freqUnits string (p. 162) repeated List of frequency units. For example: "HZ", "KHZ",
"MHZ", "GHZ".

Examples: List Frequency Units


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListFreqUnitsRequest()

response = [Link](message)

print(str(response))

List Harmonic Profile Types

ListHarmonicProfileTypesRequest
Request for a list of Harmonic load profile types.

ListHarmonicProfileTypesResponse
Represents a list of Harmonic load profile types.

Table 8.39: ListHarmonicProfileTypesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
types string (p. 162) repeated List of Harmonic load profile types. "Uniaxial",
"Triaxial".

Examples: List Harmonic Profile Types


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 127
API Services

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListHarmonicProfileTypesRequest()

response = [Link](message)

print(str(response))

List Life Cyle Events

ListLCEventsRequest
Request for a list of Life Cycle phases and events for a project.

Table 8.40: ListLCEventsRequest

Field Type Label Description


projectDir string (p. 162) The full path to the Sherlock project directory.

ListLCEventsResponse
Represents the Life Cycle phases and events for a Sherlock project.

Table 8.41: ListLCEventsResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of
response.
lcPhases [Link] (p. 128) repeated

[Link]
Table 8.42: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be
interpreted as: [Link]
name string (p. 162) Life cycle phase name.
description string (p. 162) Life cycle phase description.
lcEvents ListLCEventsResponse repeated
.[Link] (p. 128)

[Link]
Table 8.43: [Link]

Field Type Label Description


name string (p. 162) Life cycle event name.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
128 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

description string (p. 162) Life cycle event description.


type string (p. 162) Life cycle type. For example: "Thermal Event", "Shock Event",
"Random Vibe", "Harmonic Vibe".

Examples: List Life Cycle Events


Proto Request Example
{
"project": "Tutorial Project"
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListLCEventsRequest()

[Link] = "Tutorial Project"

response = [Link](message)

print(str(response))

List Life Cycle States

ListLCStatesRequest
Request for a list of Life Cycle states.

ListLCStatesResponse
Table 8.44: ListLCStatesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
states string (p. 162) repeated List of Life Cycle states. For example: "Operating",
"Storage".

Examples: List Cycle States


Proto Request Example
{ }

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 129
API Services

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListLCStatesRequest()

response = [Link](message)

print(str(response))

List Life Cycle Types

ListLCTypesRequest
Request for a list of Life Cycle types.

ListLCTypesResponse
Represents a list of Life Cycle types.

Table 8.45: ListLCTypesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
types string (p. 162) repeated List of Life Cycle types. For example, "DUTY CYCLE",
"PER YEAR", "PER HOUR", etc.

Examples: List Life Cycle Types


{ }

import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListLCTypesRequest()

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
130 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

List Random Profile Types

ListRandomProfileTypesRequest
Request for a list of Random Vibe profile types.

ListRandomProfileTypesResponse
Represents a list of Random Vibe profile types.

Table 8.46: ListRandomProfileTypesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
types string (p. 162) repeated List of Random Vibe profile types. Currently there is
only one: "Uniaxial".

Examples: List Random Profile Types


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListRandomProfileTypesRequest()

response = [Link](message)

print(str(response))

List Shock Load Units

ListShockLoadUnitsRequest
Request for a list of Shock load units.

ListShockLoadUnitsResponse
Represents a list of Shock load units.

Table 8.47: ListShockLoadUnitsResponse

Field Type Label Description

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 131
API Services

ReturnCode ReturnCode (p. 162) Status code of response.


units string (p. 162) repeated List of Shock load units. For example: "G", "m/s2",
"mm/s2".

Examples: List Shock Load Units


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListShockLoadUnitsRequest()

response = [Link](message)

print(str(response))

List Shock Pulses

ListShockPulsesRequest
Request for a list of shock pulses.

ListShockPulsesResponse
Represents a list of shock pulses.

Table 8.48: ListShockPulsesResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
shockPulse string (p. 162) repeated List of shock pulses. For example: "FullSine",
"HalfSine", "Triangle", "Sawtooth", "FullSquare".

Examples: List Shock Pulses


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
132 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListShockPulsesRequest()

response = [Link](message)

print(str(response))

List Temperature Units

ListTempUnitsRequest
Request for a list of temperature units.

ListTempUnitsResponse
Represents a list of temperature units.

Table 8.49: ListTempUnitsResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
tempUnits string (p. 162) repeated List of temperature units. For example: "C", "F", "K".

Examples: List Temp Units


Proto Request Example
{ }

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.ListTempUnitsRequest()

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 133
API Services

Load Harmonic Profile

LoadHarmonicProfileRequest
Request to load a harmonic Life Cycle event profile from a .dat or .csv file.

Table 8.50: LoadHarmonicProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life Cycle phase
this event is associated.
eventName string (p. 162) Harmonic event name.
filePath string (p. 162) The full path for the .dat or .csv file.
harmonicCsvProps LoadHarmonicProfile Properties for a CSV file load.
[Link] (p. 134)

[Link]
CSV file properties. This is only required for a CSV file load.

Table 8.51: [Link]

Field Type Label Description


profileName string (p. 162) Name of the harmonic profile.
headerRowNumber int32 (p. 162) Header row number in the .csv file.
columnDelim string (p. 162) Delimiter to separate the columns.
numericFormat string (p. 162) Numeric format.
freqColumn string (p. 162) Frequency column name.
freqUnits string (p. 162) Frequency units.
loadColumn string (p. 162) Load column name.
loadUnits string (p. 162) Load units.

LoadHarmonicProfileResponse
Response from loading a harmonic profile from a .dat or .csv file.

Table 8.52: LoadHarmonicProfileResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
134 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

Examples: Load Harmonic Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "5 - Harmonic Vibe",
"filePath": "C:\\Users\\jdoe\\Documents\\Default [Link]"
}

Proto Request Example (CSV)


{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "Test Harmonic API",
"filePath": " C:\\Users\\jdoe\\Documents\\Default [Link]",
"harmonicCsvProps": {
"profileName": "Harmonic Profile - Script Test",
"headerRowNumber": 0,
"columnDelim": "Comma",
"numericFormat": "English (United States)",
"freqColumn": "Freq (HZ)",
"freqUnits": "Hz",
"loadColumn": "Load (G)",
"loadUnits": "G"
}
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.LoadHarmonicProfileRequest()
[Link] = "Tutorial Project"
[Link] = "On The Road"
[Link] = "Test Harmonic API"
[Link] = "\\Default [Link]"

CSVProperties = SherlockLifeCycleService_pb2.LoadHarmonicProfileRequest().CSVProps()
[Link] = "Harmonic Profile - Script Test"
[Link] = 0
[Link] = "Comma"
[Link] = "English (United States)"
[Link] = "Freq (HZ)"
[Link] = "Hz"
[Link] = "Load (G)"
[Link] = "G"

[Link](CSVProperties)

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 135
API Services

Load Random Profile

LoadRandomProfileRequest
Request to load a random vibe Life Cycle event profile from a .dat or .csv file.

Table 8.53: LoadRandomProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life Cycle
phase this event is associated.
eventName string (p. 162) Random vibe event name.
filePath string (p. 162) The full path for the .dat or .csv
file.
randomCsvProps LoadRandom Properties for a CSV file load.
[Link] (p. 136)

[Link]
CSV file properties. This is only required for a CSV file load.

Table 8.54: [Link]

Field Type Label Description


profileName string (p. 162) Name of the random vibe profile.
headerRowNumber int32 (p. 162) Header row number in the .csv file.
columnDelim string (p. 162) Delimiter to separate the columns.
numericFormat string (p. 162) Numeric format.
freqColumn string (p. 162) Frequency column name.
freqUnits string (p. 162) Frequency units.
amplColumn string (p. 162) Amplitude column name.
amplUnits string (p. 162) Amplitude units.

LoadRandomProfileResponse
Response from loading a random vibe profile from a .dat or .csv file.

Table 8.55: LoadRandomProfileResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
136 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

Examples: Load Random Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "On The Road",
"eventName": "7 – New Random Vibe",
"filePath": "C:\\Users\\jdoe\\Documents\\Random Vibe [Link]"
}

Proto Request Example (CSV)


{
"project": "Tutorial Project,
"phaseName": "On The Road",
"eventName": "1 - Vibration",
"filePath": " C:\\Users\\jdoe\\Documents\\Random Vibe [Link]",
"randomCsvProps": {
"profileName": "Random Vibe - Script Test",
"headerRowNumber": 0,
"columnDelim": "Comma",
"numericFormat": "English (United States)",
"freqColumn": "Freq (HZ)",
"freqUnits": "Hz",
"amplColumn": "Ampl (G2/Hz)",
"amplUnits": "G2/Hz"
}
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.LoadRandomProfileRequest()
[Link] = "Tutorial Project"
[Link] = "On The Road"
[Link] = "1 - Vibration"
[Link] = "\\Random Vibe [Link]"

CSVProperties = SherlockLifeCycleService_pb2.LoadRandomProfileRequest().CSVProps()
[Link] = "Random Vibe - Script Test"
[Link] = 0
[Link] = "Comma"
[Link] = "English (United States)"
[Link] = "Freq (HZ)"
[Link] = "Hz"
[Link] = "Ampl (G2/Hz)"
[Link] = "G2/Hz"

[Link](CSVProperties)

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 137
API Services

Load Shock Profile Dataset

LoadShockProfileDatasetRequest
Request to load a shock Life Cycle event profile using dataset (time and load) from a .dat or .csv
file.

Table 8.56: LoadShockProfileDatasetRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life
Cycle phase this event is
associated.
eventName string (p. 162) Shock event name.
lePath string (p. 162) The full path for the .dat
or .csv file.
shockDsCsvProps LoadShockProfile Properties for a CSV file
[Link] (p. 138) load.

[Link]
CSV file properties. This is only required for a CSV file load.

Table 8.57: sherlock_ug_LoadShockProfileDatasetRequest.CSVProps

Field Type Label Description


profileName string (p. 162) Name of the shock profile.
headerRowNumber int32 (p. 162) Header row number in the .csv file.
columnDelim string (p. 162) Delimiter to separate the columns.
numericFormat string (p. 162) Numeric format.
timeColumn string (p. 162) Time column name.
timeUnits string (p. 162) Time units.
loadColumn string (p. 162) Load column name.
loadUnits string (p. 162) Load units.

LoadShockProfileDatasetResponse
Response from loading a shock profile using dataset from a .dat or .csv file.

Table 8.58: LoadShockProfileDatasetResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
138 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

errors string (p. 162) repeated List of validation errors.

Examples: Load Shock Profile Dataset


Proto Request Example
{
"project": "Tutorial",
"phaseName": "Environmental",
"eventName": "3 - Earthquake",
"filePath": "C:\\Users\\jdoe\\Documents\\Full Sine [Link]",
"shockDsCsvProps": {
"profileName": "Shock Dataset",
"headerRowNumber": 0,
"columnDelim": "Comma",
"numericFormat": "English (United States)",
"timeColumn": "Time (ms)",
"timeUnits": "ms",
"loadColumn": "Load (G)",
"loadUnits": "G"
}
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.LoadShockProfileDatasetRequest()

[Link] = "Tutorial Project"


[Link] = "Environmental"
[Link] = "3 - Earthquake"
[Link] = "C:\\Users\\jdoe\\Documents\\Full Sine [Link]"

CSVProperties = SherlockLifeCycleService_pb2.LoadShockProfileDatasetRequest().CSVProps()
[Link] = "Shock Dataset"
[Link] = 0
[Link] = "Comma"
[Link] = "English (United States)"
[Link] = "Time (ms)"
[Link] = "ms"
[Link] = "Load (G)"
[Link] = "G"

[Link](CSVProperties)

response = [Link](message)

print(str(response))

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 139
API Services

Load Shock Profile Pulses

LoadShockProfilePulsesRequest
Request to load a shock Life Cycle event profile using pulses from a .dat or .csv file.

Table 8.59: LoadShockProfilePulsesRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
project string (p. 162) Sherlock project name.
phaseName string (p. 162) The name of the Life Cycle
phase this event is
associated.
eventName string (p. 162) Shock event name.
filePath string (p. 162) The full path for the .dat or
.csv file.
shockPulsesCsvProps LoadShockProfile Properties for a CSV file
[Link] (p. 140) load.

[Link]
CSV file properties. This is only required for a CSV file load.

Table 8.60: [Link]

Field Type Label Description


profileName string (p. 162) Name of the shock profile.
headerRowNumber int32 (p. 162) Header row number in the .csv file.
columnDelim string (p. 162) Delimiter to separate the columns.
numericFormat string (p. 162) Numeric format.
duration double (p. 162) Pulse duration length.
durationUnits string (p. 162) Pulse duration time units.
sampleRate double (p. 162) Sample rate.
sampleRateUnits string (p. 162) Sample rate units.
shapeColumn string (p. 162) Pulse shape column name.
loadColumn string (p. 162) Load column name.
loadUnits string (p. 162) Load units.
freqColumn string (p. 162) Frequency column name.
freqUnits string (p. 162) Frequency units.
decayColumn string (p. 162) Decay column name.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
140 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

LoadShockProfilePulsesResponse
Response from loading a shock profile using pulses from a .dat or .csv file.

Table 8.61: LoadShockProfilePulsesResponse

Field Type Label Description


returnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Load Shock Profile Pulses


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "3 - Earthquake",
"filePath": "C:\\Users\\jdoe\\Documents\\[Link]",
"shockPulsesCsvProps": {
"profileName": "Shock Pulses",
"headerRowNumber": 0,
"columnDelim": "Comma",
"numericFormat": "English (United States)",
"duration": 20.0,
"durationUnits": "ms",
"sampleRate": 1.0,
"sampleRateUnits": "sec",
"shapeColumn": "Shape",
"loadColumn": "Load (G)",
"loadUnits": "G",
"freqColumn": "Freq (Hz)",
"freqUnits": "Hz",
"decayColumn": "Decay"
}
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.LoadShockProfilePulsesRequest()
[Link] = "Tutorial Project"
[Link] = "Environmental"
[Link] = "3 - Earthquake"
[Link] = "\\[Link]"

CSVProperties = SherlockLifeCycleService_pb2.LoadShockProfilePulsesRequest().CSVProps()
[Link] = "Shock Pulses - Script Test"
[Link] = 0
[Link] = "Comma"
[Link] = "English (United States)"
[Link] = 20.0
[Link] = "ms"
[Link] = 1.0
[Link] = "sec"
[Link] = "Shape"

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 141
API Services

[Link] = "Load (G)"


[Link] = "G"
[Link] = "Freq (Hz)"
[Link] = "HZ"
[Link] = "Decay"

[Link](CSVProperties)

response = [Link](message)

print(str(response))

Load Thermal Profile

LoadThermalProfileRequest
Request to load a thermal Life Cycle event profile from a .dat or .csv file.

Table 8.62: LoadThermalProfileRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
phaseName string (p. 162) The name of the Life Cycle phase this
event is associated.
eventName string (p. 162) Thermal event name.
filePath string (p. 162) The full path for the .dat or .csv file.
csvProps LoadThermalProfileRequest Properties for a CSV file load.
.CSVProps (p. 142)

[Link]
CSV file properties. This is only required for a CSV file load.

Table 8.63: [Link]

Field Type Label Description


profileName string (p. 162) Name of the thermal profile.
headerRowNumber int32 (p. 162) Header row number in the .csv file.
columnDelim string (p. 162) Delimiter to separate the columns.
numericFormat string (p. 162) Numeric format.
stepColumn string (p. 162) Step column name.
typeColumn string (p. 162) Step type column name.
timeColumn string (p. 162) Time duration column name.
timeUnits string (p. 162) Time units column name.
tempColumn string (p. 162) Temperature column name.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
142 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Life Cycle Service- [Link]

tempUnits string (p. 162) Temperature units column name.

LoadThermalProfileResponse
Response from loading a thermal profile from a .dat or .csv file.

Table 8.64: LoadThermalProfileResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
errors string (p. 162) repeated List of validation errors.

Examples: Load Thermal Profile


Proto Request Example
{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "5 - Fire",
"filePath": "C:\\Users\\jdoe\\AppData\\Roaming\\Sherlock\\thermalProfiles\\Single [Link]"
}

Proto Request Example (CSV)


{
"project": "Tutorial Project",
"phaseName": "Environmental",
"eventName": "1 - Temp Cycle",
"filePath": "C:\\Users\\aklara\\Desktop\\APIexamples\\SherlockLifeCycleService\\[Link]",
"csvProps": {
"profileName": "Temperature Profile - Script Test",
"headerRowNumber": 0,
"columnDelim": "Comma",
"numericFormat": "English (United States)",
"stepColumn": "Step",
"typeColumn": "Type",
"timeColumn": "Time (min)",
"timeUnits": "min",
"tempColumn": "Temp (C)",
"tempUnits": "C"
}
}

Python Example
import SherlockLifeCycleService_pb2
import SherlockLifeCycleService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockLifeCycleService_pb2_grpc.SherlockLifeCycleServiceStub(channel)

message = SherlockLifeCycleService_pb2.LoadThermalProfileRequest()
[Link] = "Tutorial Project"
[Link] = "Environmental"
[Link] = "1 - Temp Cycle"
[Link] = "C:\\Users\\aklara\\Desktop\\APIexamples\\SherlockLifeCycleService\\[Link]"

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 143
API Services

CSVProperties = SherlockLifeCycleService_pb2.LoadThermalProfileRequest().CSVProps()
[Link] = "Temperature Profile - Script Test"
[Link] = 0
[Link] = "Comma"
[Link] = "English (United States)"
[Link] = "Step"
[Link] = "Type"
[Link] = "Time (min)"
[Link] = "min"
[Link] = "Temp (C)"
[Link] = "C"

[Link](CSVProperties)

response = [Link](message)

print(str(response))

Sherlock Stackup Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

The APIs in this section allow you to perform updates on laminate layers.
List Conductor Materials
List Construction Styles
List Fiber Materials
List Laminate Materials Manufacturers
List Laminate Materials
List Laminate Thickness Units
List Laminates
Update Laminate

List Conductor Materials

ListConductorMaterialsRequest
Empty request to list valid conductor materials.

ListConductorMaterialsResponse
Represents a list of valid conductor materials.

Table 8.65: ListConductorMaterialsResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
conductorMaterial string (p. 162) repeated Conductor material name.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
144 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Stackup Service- [Link]

Examples: List Conductor Materials


Proto Request Example
{ }

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListConductorMaterialsRequest()

response = [Link](message)

print(str(response))

List Construction Styles

ListConstructionStylesRequest
Empty request to list valid construction styles.

ListConstructionStylesResponse
Represents a list of valid construction styles.

Table 8.66: ListConstructionStylesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
constructionStyle string (p. 162) repeated Construction style.

Examples: List Construction Styles


Proto Request Example
{ }

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListConstructionStylesRequest()

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 145
API Services

response = [Link](message)

print(str(response))

List Fiber Materials

ListFiberMaterialsRequest
Empty request to list valid fiber materials.

ListFiberMaterialsResponse
Represents a list of valid fiber materials.

Table 8.67: ListFiberMaterialsResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
fiberMaterial string (p. 162) repeated Fiber material name.

Examples: List Fiber Materials


Proto Request Example
{ }

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListFiberMaterialsRequest()

response = [Link](message)

print(str(response))

List Laminate Materials Manufacturers

ListLaminateMaterialsManufacturersRequest
Empty request to list valid materials manufacturers names.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
146 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Stackup Service- [Link]

ListLaminateMaterialsManufacturersResponse
Represents a list of valid materials manufacturers names.

Table 8.68: ListLaminateMaterialsManufacturersResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
manufacturer string (p. 162) repeated Manufacturer name.

Examples: List Laminate Materials Manufacturers


Proto Request Example
{ }

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListLaminateMaterialsManufacturersRequest()

response = [Link](message)

print(str(response))

List Laminate Materials

ListLaminateMaterialsRequest
Request a list of materials from a given manufacturer.

If manufacturer is empty, all manufacturers and their materials will be returned.

Table 8.69: ListLaminateMaterialsRequest

Field Type Label Description


manufacturer string (p. 162) Manufacturer name.

ListLaminateMaterialsResponse
Represents a list of manufacturers materials.

Table 8.70: ListLaminateMaterialsResponse

Field Type Label Description

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 147
API Services

For display purposes, some strings in the first two columns are broken into multiple lines and should be
read as continuous. For example, the last string in column one should be interpreted as:
manufacturerMaterials
ReturnCode ReturnCode (p. 162) Status code of response.
manufacturer ListLaminateMaterialsResponse repeated
Materials .ManufacturerMaterials (p. 148)

[Link]
Table 8.71: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should
be interpreted as: [Link]
manufacturer string (p. 162) Manufacturer
name.
gradeMaterials ListLaminateMaterialsResponse. repeated
[Link] (p. 148)

[Link]
Represents a grade and the materials with this grade.

Table 8.72: [Link]

Field Type Label Description


grade string (p. 162) Grade.
laminateMaterial string (p. 162) repeated Material name.

Examples: List Laminate Materials


Proto Request Example
{
"manufacturer": "Arlon"
}

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListLaminateMaterialsRequest()
[Link] = "Arlon"

response = [Link](message)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
148 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Stackup Service- [Link]

List Laminate Thickness Units

ListLaminateThicknessUnitsRequest
Empty request to list valid laminate thickness units.

ListLaminateThicknessUnitsResponse
Represents a list of valid laminate thickness units.

Table 8.73: ListLaminateThicknessUnitsResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
unit string (p. 162) repeated Thickness unit.

Examples: List Laminate Thickness Units


Proto Request Example
{ }

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListLaminateThicknessUnitsRequest()

response = [Link](message)

print(str(response))

List Laminates

ListLaminatesRequest
Request for a list of laminates.

Table 8.74: ListLaminatesRequest

Field Type Label Description


projectDir string (p. 162) The full path to the Sherlock project directory.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 149
API Services

ListLaminatesResponse
Represents the properties for all CCAs and their corresponding laminates

Table 8.75: ListLaminatesResponse

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be
interpreted as: [Link]
ReturnCode ReturnCode (p. 162) Status code of response.
ccaLaminateProps ListLaminatesResponse repeated
.CCALaminateProp (p. 150)

[Link]
Represents a CCA and its laminates.

Table 8.76: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
ccaName string (p. 162) The CCA name.
laminateProps ListLaminatesResponse. repeated
[Link] (p. 150)

[Link]
Represents a laminate layer and its properties.

Table 8.77: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
layer string (p. 162) An internal layer ID associated with
this laminate layer.
manufacturer string (p. 162) Manufacturer name of this
material.
grade string (p. 162) Grade of this material.
material string (p. 162) Name of this material.
thickness double (p. 162) Laminate thickness.
thicknessUnit string (p. 162) Laminate thickness unit.
constructionStyle string (p. 162) Construction style.
glassConstructions ListLaminates repeated
Response
.CCALaminateProp

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
150 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Stackup Service- [Link]

.LaminateProp
.GlassConstruction (p. 151)
fiberMaterial string (p. 162) Fiber material if the construction
style is glass.
conductorMaterial string (p. 162) Conductor material.
conductorPercent string (p. 162) Conductor percentage.

[Link]
Represents the layers with a glass construction.

Table 8.78: [Link]

Field Type Label Description


style string (p. 162) Glass construction style.
thickness double (p. 162) Glass construction thickness.
thicknessUnit string (p. 162) Glass construction thickness unit.

Examples: List Laminates


Proto Request Example
{
"project": "Tutorial Project"
}

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.ListLaminatesRequest()

[Link] = "Tutorial Project"

response = [Link](message)

print(str(response))

Update Laminate

UpdateLaminateRequest
Represents the laminate properties requested to be updated.

To update the material, valid values must be provided for manufacturer, grade, and material.

To update a thickness, a thickness unit must be provided also.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 151
API Services

Glass construction should only be set when the construction style is not the "DEFAULT" value.

Any property left out or set to "" or 0.0 will not be updated.

Table 8.79: UpdateLaminateRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
ccaName string (p. 162) The CCA name.
layer string (p. 162) The internal layer ID associated with
this laminate layer.
manufacturer string (p. 162) Manufacturer name of this material.
Must be provided along with grade
and material name.
grade string (p. 162) Grade of this material.
material string (p. 162) Name of this material.
thickness double (p. 162) Laminate thickness.
thicknessUnit string (p. 162) Laminate thickness unit.
constructionStyle string (p. 162) Construction style.
glassConstruction UpdateLaminate repeated
Request
.GlassConstruction (p. 152)
fiberMaterial string (p. 162) Fiber material. Only updated if glass
construction is selected.
conductorMaterial string (p. 162) Conductor material.
conductorPercent string (p. 162) Conductor percentage.

[Link]
Represents the layers with a glass construction.

Table 8.80: [Link]

Field Type Label Description


style string (p. 162) Glass construction style.
thickness double (p. 162) Glass construction thickness.
thicknessUnit string (p. 162) Glass construction thickness unit.

Proto Request Example


{
"project": "Tutorial",
"ccaName": "Main Board",
"layer": "2",
"manufacturer": "Arlon",

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
152 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Parts Service- [Link]

"grade": "FR-4",
"material": "49N Data Sheet",
"thickness": 0.02,
"thicknessUnit": "in",
"constructionStyle": "1027 0.0018 in Prepreg [73% resin]",
"glassConstruction": [
{
"style": "1027 0.0018 in Prepreg [73% resin]",
"thickness": 0.02,
"thicknessUnit": "in"
}
],
"fiberMaterial": "E-GLASS",
"conductorMaterial": "COPPER",
"conductorPercent": "2.0"
}

Python Example
import SherlockStackupService_pb2
import SherlockStackupService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockStackupService_pb2_grpc.SherlockStackupServiceStub(channel)

message = SherlockStackupService_pb2.UpdateLaminateRequest()

[Link] = "Tutorial"
[Link] = "Main Board"
[Link] = "2"
[Link] = "Arlon"
[Link] = "49N Data Sheet"
[Link] = "FR-4"
[Link] = 0.02
[Link] = "in"
[Link] = "1027 0.0018 in Prepreg [73% resin]"
glassConstruction = SherlockStackupService_pb2.UpdateLaminateRequest().GlassConstruction()
[Link] = "1027 0.0018 in Prepreg [73% resin]"
[Link] = 0.02
[Link] = "in"
[Link]([glassConstruction])
[Link] = "E-GLASS"
[Link] = "COPPER"
[Link] = "2.0"

response = [Link](message)

print(str(response))

Sherlock Parts Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

In this section you will find APIs that allow you to see the user-configured part libraries, to see a list of
parts with properties different than those in the Sherlock Part Library, and to update the Parts List for
a given project.
List Parts Libraries
List Parts Not Updated
Update Parts List

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 153
API Services

List Parts Libraries

ListPartsLibrariesRequest
Empty request to list the available parts libraries.

ListPartsLibrariesResponse
Represents a list of available parts libraries.

Table 8.81: ListPartsLibrariesResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
partLibrary string (p. 162) repeated Parts library name.

Examples: List Parts Libraries


Proto Request Example
{ }

Python Example
import SherlockPartsService_pb2
import SherlockPartsService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockPartsService_pb2_grpc.SherlockPartsServiceStub(channel)

message = SherlockPartsService_pb2.ListPartsLibrariesRequest()

response = [Link](message)

print(str(response))

List Parts Not Updated

ListPartsNotUpdatedRequest
Request to get a list of parts not updated from the Sherlock Part Library.

Table 8.82: ListPartsNotUpdatedRequest

Field Type Label Description


projectDir string (p. 162) The full path to the Sherlock project directory.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
154 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Parts Service- [Link]

ListPartsNotUpdatedResponse
Represents a list of parts not updated from the Sherlock Part Library.

Table 8.83: ListPartsNotUpdatedResponse

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
ReturnCode ReturnCode (p. 162) Status code of response.
ccas ListPartsNotUpdated repeated
[Link] (p. 155)

[Link]
Table 8.84: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It
should be interpreted as: [Link]
ccaName string (p. 162) Name of the CCA.
parts ListPartsNotUpdated repeated
[Link] (p. 155)

[Link]
Table 8.85: [Link]

Field Type Label Description


refDes string (p. 162) Reference Designator for the part.
partNumber string (p. 162) Part number.

Examples: List Parts Not Updated


Proto Request Example
{
"project": "Tutorial Project"
}

Python Example
import SherlockPartsService_pb2
import SherlockPartsService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockPartsService_pb2_grpc.SherlockPartsServiceStub(channel)

message = SherlockPartsService_pb2.ListPartsNotUpdatedRequest()

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 155
API Services

[Link] = "Tutorial Project"

response = [Link](message)

print(str(response))

Update Parts List

UpdatePartsListRequest
Request to update a parts list based on matching and duplication preference provided.

Table 8.86: UpdatePartsListRequest

Field Type Label Description


For display purposes, some strings in the second column are broken into multiple lines and should be
read as continuous. For example, the last string should be interpreted as: UpdatePartsList
[Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
ccaName string (p. 162) The CCA name.
partLibrary string (p. 162) Parts library name.
matching UpdatePartsList Designates the matching mode for
[Link] (p. 156) updates.
duplication UpdatePartsList Designates how to handle duplications
[Link] (p. 156) during update.

[Link]
Table 8.87: [Link]

Name Number Description


First 0 Uses first matched when there is duplication.
Error 1 Generates an error when there is duplication.
Ignore 2 Ignore the matches when there is duplication.

[Link]
Table 8.88: [Link]

Name Number Description


Both 0 Matches both part number and manufacturer.
Part 1 Matches part number only.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
156 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Analysis Service- [Link]

UpdatePartsListResponse
Contains the status of the update as well as all the update error messages.

Table 8.89: UpdatePartsListResponse

Field Type Label Description


ReturnCode ReturnCode (p. 162) Status code of response.
updateError string (p. 162) repeated Parts update error messages.

Examples: Update Parts List


Proto Request Example
{
"project": "Tutorial Project",
"ccaName": "Main Board",
"partLibrary": "Local Part Library",
"matching": 0,
"duplication": 1
}

Python Example
import SherlockPartsService_pb2
import SherlockPartsService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockPartsService_pb2_grpc.SherlockPartsServiceStub(channel)

message = SherlockPartsService_pb2.UpdatePartsListRequest()

[Link] = "Tutorial Project"


[Link] = "Main Board"
[Link] = "Local Part Library"
[Link] = 0
[Link] = 1

response = [Link](message)

print(str(response))

Sherlock Analysis Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

The APIs in this section allow you to run one or more analyses in sequential order. Results are saved to
the project's Saved Results folder on Sherlock's Project Tree.
Run Analysis

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 157
API Services

Run Analysis

RunAnalysisRequest
Request to run one or more Sherlock analyses given the project path, CCA name, analyses, Life
Cycle phases and events.

Table 8.90: RunAnalysisRequest

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be
interpreted as: [Link]
projectDir string (p. 162) The full path to the Sherlock project
directory.
ccaName string (p. 162) The CCA name.
analyses RunAnalysisRequest repeated
.Analysis (p. 158)

[Link]
Table 8.91: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be interpreted
as: [Link]
type [Link]
.AnalysisType (p. 159)
phases [Link] (p. 158) repeated

[Link]
Table 8.92: [Link]

Field Type Label Description


For display purposes, the long string in column two is broken into multiple lines. It should be
interpreted as: [Link]
name string (p. 162) Life cycle phase name.
events RunAnalysisRequest. repeated
[Link] (p. 158)

[Link]
Table 8.93: [Link]

Field Type Label Description


name string (p. 162) Life cycle event name.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
158 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Analysis Service- [Link]

[Link]
Table 8.94: [Link]

Name Number Description


UNKNOWN 0 Default enum to catch invalid analysis.
NaturalFreq 1 Enum for the Natural Frequency analysis.
HarmonicVibe 2 Enum for the Harmonic Vibe analysis.
ICTAnalysis 3 Enum for the ICA analysis.
MechanicalShock 4 Enum for the Mechanical Shock analysis.
RandomVibe 5 Enum for the Random Vibe analysis.
HoleToHoleCAF 6 Enum for the CAF Failure analysis.
ComponentFailureMode 7 Enum for the Component Failure Mechanism analysis.
DFMEAModule 8 Enum for the DFMEA analysis.
PTHFatigue 9 Enum for the PTH Fatigue analysis.
PartValidation 10 Enum for the Part Validation analysis.
SemiconductorWearout 11 Enum for the Semiconductor Wearout analysis.
SolderJointFatigue 12 Enum for the Solder Fatigue analysis.
ThermalDerating 13 Enum for the Thermal Derating analysis.
ThermalMech 14 Enum for the Thermal Mech analysis.

Example: Run Part Validation and Mechanical Shock Analysis


Proto Request Example
{
"project": "Tutorial",
"ccaName": "Main Board",
"analyses": [
{
"type": 10
},
{
"type": 4,
"phases": [
{
"name": "On The Road",
"events": [
{
"name": "2 - Pothole"
}
]
},
{
"name": "Environmental",
"events": [
{
"name": "3 - Earthquake"
}
]
}
]
}
]
}

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 159
API Services

Python Example
import SherlockAnalysisService_pb2
import SherlockAnalysisService_pb2_grpc
import SherlockCommonService_pb2
import grpc

channel = grpc.insecure_channel('localhost:9090')

stub = SherlockAnalysisService_pb2_grpc.SherlockAnalysisServiceStub(channel)

message = SherlockAnalysisService_pb2.RunAnalysisRequest()
[Link] = "Tutorial"
[Link] = 'Main Board'

shMessage = SherlockAnalysisService_pb2.RunAnalysisRequest()
[Link] = "Tutorial"
[Link] = 'Main Board'

analysis = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis()
[Link] = SherlockAnalysisService_pb2.[Link]

shAnalysis = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis()
[Link] = SherlockAnalysisService_pb2.[Link]

phase1 = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis().Phase()
[Link] = 'On The Road'

event1 = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis().Phase().Event()
[Link] = '2 - Pothole'

phase2 = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis().Phase()
[Link] = 'Environmental'

event2 = SherlockAnalysisService_pb2.RunAnalysisRequest().Analysis().Phase().Event()
[Link] = '3 - Earthquake'

[Link]([event1])
[Link]([event2])
[Link]([phase1, phase2])

# Part Validation
[Link]([analysis])
response = [Link](message)
print(str(response))

# Mechanical Shock
[Link]([shAnalysis])
response = [Link](shMessage)
print(str(response))

Sherlock Common Service- [Link]


Click here to return to the main index to Sherlock's APIs. (p. 100)

This section contains health checks and exit APIs shared by all services.
Exit Request
Health Check
Return Code

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
160 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Common Service- [Link]

Exit Request

ExitRequest
Empty request to exit the gRPC connection.

Examples: Exit
Proto Request Example
{ }

Python Example
import SherlockCommonService_pb2
import SherlockCommonService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')
stub = SherlockCommonService_pb2_grpc.SherlockCommonServiceStub(channel)
response = [Link](SherlockCommonService_pb2.HealthCheckRequest())

print(str(response))

Health Check

HealthCheckRequest
Empty request to check if the gRPC connection is open.

HealthCheckResponse
Represents whether the gRPC connection is open.

Table 8.95: HealthCheckResponse

Field Type Label Description


status [Link] (p. 161)
port int32 (p. 162) Listening port number on server.

[Link]
Table 8.96: [Link]

Name Number Description


UNKNOWN 0 Indicates an unknown connection status.
SERVING 1 Indicates the connection is up and server is listening.
NOT_SERVING 2 Indicates connection with server is closed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 161
API Services

Examples: Health Check


Proto Request Example
{ }

Python Example
import SherlockCommonService_pb2
import SherlockCommonService_pb2_grpc
import grpc

channel = grpc.insecure_channel('localhost:9090')
stub = SherlockCommonService_pb2_grpc.SherlockCommonServiceStub(channel)
response = [Link](SherlockCommonService_pb2.HealthCheckRequest())

print(str(response))

Return Code

ReturnCode
Status response of a message. A value of 0 indicates a successful request.

Table 8.97: ReturnCode

Field Type Label Description


value int32 (p. 162) Status code of response. A value of 0 indicates
success.
message string (p. 162) Message indicating the status of response including
any error.

gRPC Scalar Value Types


For C++, Java, Python, and Go, refer to the table immediately below, Table 8.98: gRPC Scalar Value Types
(A) (p. 162)

For C#, PHP, and Ruby, refer to the table which follows, Table 8.99: gRPC Scalar Value Types (B) (p. 163)

Table 8.98: gRPC Scalar Value Types (A)

.proto Notes C++ Java Python Go


Type
double double double float float64
float float float float float32
int32 Uses variable-length encoding. int32 int int int32
Inefficient for encoding negative
numbers – if your field is likely
to have negative values, use
sint32 instead.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
162 of ANSYS, Inc. and its subsidiaries and affiliates.
gRPC Scalar Value Types

.proto Notes C++ Java Python Go


Type
int64 Uses variable-length encoding. int64 long int/long int64
Inefficient for encoding negative
numbers – if your field is likely
to have negative values, use
sint64 instead.
uint32 Uses variable-length encoding. uint32 int int/long uint32
uint64 Uses variable-length encoding. uint64 long int/long uint64
sint32 Uses variable-length encoding. int32 int int int32
Signed int value. These more
efficiently encode negative
numbers than regular int32s.
sint64 Uses variable-length encoding. int64 long int/long int64
Signed int value. These more
efficiently encode negative
numbers than regular int64s.
fixed32 Always four bytes. More efficient uint32 int int uint32
than uint32 if values are often
greater than 2^28.
fixed64 Always eight bytes. More uint64 long int/long uint64
efficient than uint64 if values are
often greater than 2^56.
sfixed32 Always four bytes. int32 int int int32
sfixed64 Always eight bytes. int64 long int/long int64
bool bool boolean boolean bool
string A string must always contain string string str/ string
UTF-8 encoded or 7-bit ASCII unicode
text.
bytes May contain any arbitrary string ByteString str []byte
sequence of bytes.

Table 8.99: gRPC Scalar Value Types (B)

.proto Notes C# PHP Ruby


Type
double double float Float
float float float Float
int32 Uses variable-length encoding. int integer Bignum or
Inefficient for encoding negative Fixnum (as
numbers – if your field is likely to have required)
negative values, use sint32 instead.
int64 Uses variable-length encoding. long integer/ Bignum
Inefficient for encoding negative string
numbers – if your field is likely to have
negative values, use sint64 instead.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 163
API Services

.proto Notes C# PHP Ruby


Type
uint32 Uses variable-length encoding. uint integer Bignum or
Fixnum (as
required)
uint64 Uses variable-length encoding. ulong integer/ Bignum or
string Fixnum (as
required)
sint32 Uses variable-length encoding. Signed int integer Bignum or
int value. These more efficiently encode Fixnum (as
negative numbers than regular int32s. required)
sint64 Uses variable-length encoding. Signed long integer/ Bignum
int value. These more efficiently encode string
negative numbers than regular int64s.
fixed32 Always four bytes. More efficient than uint integer Bignum or
uint32 if values are often greater than Fixnum (as
2^28. required)
fixed64 Always eight bytes. More efficient than ulong integer/ Bignum
uint64 if values are often greater than string
2^56.
sfixed32 Always four bytes. int integer Bignum or
Fixnum (as
required)
sfixed64 Always eight bytes. long integer/ Bignum
string
bool bool boolean TrueClass/
FalseClass
string A string must always contain UTF-8 string string String (UTF-8)
encoded or 7-bit ASCII text.
bytes May contain any arbitrary sequence of ByteString string String
bytes. (ASCII-8BIT)

Click here to return to the main index to Sherlock's APIs. (p. 100)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
164 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 9: Conductive Anodic Filament (CAF) Failure
Analysis
Background
Conductive Anodic Filament (CAF) is the migration of copper filaments within a printed circuit board
under an applied bias. When the copper filaments bridge adjacent conductors, they can cause an abrupt,
unpredictable loss of insulation resistance. The migration almost always occurs along the weave of the
glass fiber bundle embedded within the laminate and prepreg layers that make up a rigid printed circuit
board. Due to the presence of drilling damage and the large surface area of copper, the dominant failure
site for CAF is between adjacent plated through holes (PTHs). CAF is influenced by electric field strength,
temperature, humidity, laminate material, soldering temperatures, and the presence of manufacturing
defects. Sherlock benchmarks the printed board design and quality processes to industry best practices,
including wall-to-wall distance between the plated through holes (PTHs) along the orthogonal axes,
degree of overlap, and the frequency and type of qualification performed to assess CAF performance.

Chapter Sections:
Input Data and Analysis Properties
Analysis Results

Input Data and Analysis Properties

Input Data
The CAF Analysis Module makes use of the following input data for the analysis calculations:

Size and location of all plated through-holes and vias

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Analysis Properties
The CAF Analysis Module allows you to set the properties shown here. This dialog is displayed by
right-clicking the CAF Failure entry in the Project Tree under the Analysis folder and selecting the
Edit Properties menu option.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 165
Conductive Anodic Filament (CAF) Failure Analysis

The Min Hole Size property specifies the minimum diameter hole to include in the analysis.

The Max Hole Size property specifies the maximum diameter hole to include in the analysis.

The Damage Zone property specifies the maximum distance between a pair of holes to be considered
for analysis. As the damage zone decreases, the fewer hole pairs will be analyzed.

The Qualification property indicates type of qualification process, if any, used to determine the
quality of each production board. As the Qualification Level increases, the predicted number of failures
will decrease.

The Coordinate Units property specifies how all coordinates will be formatted in the results table.

For further clarification of the properties, refer to the images below:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
166 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Analysis Results
The CAF Analysis Module generates the following results:

• Summary Panel showing overall scores, input properties and analysis statistics

• Score Distribution Chart showing a histogram of scores for the hole-pairs analyzed

• Result Table showing hole-pair sizes and locations, center distance, overlap percentage and hole-
pair score

• Graphical Layers showing hole-pair scores, color-coded by severity

Results are generated when you press the Save & Run button in the CAF Failure Properties dialog or
when you select the Run Analysis Task menu option after right-clicking the CAF Failure entry in the
Project Tree.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 167
Conductive Anodic Filament (CAF) Failure Analysis

As shown above, the graphical result layers of the CAF Analysis Module provides a quick and easy
way to visualize all the hole-pair problems predicted for a circuit card.

In this case, two CAF result layers are displayed (the colored crosses). Each result layer uses a different,
semi-transparent color, allowing you to see when a specific hole is involved in multiple hole-pairs. For
example, the orange cross above shows that the corresponding hole has a medium level problem in-
volving the hole to the right of it and a severe problem with the hole to the left of it. The colored
rectangles show exactly how much of the CAF regions overlap for each hole-pair.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
168 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 10: Circuit Card Assembly Files
As described in the Sherlock Tutorial Lesson 06 – Ad Hoc Project Creation (p. 69), Sherlock supports
many file formats for importing data about circuit card assemblies (CCA). Many of the supported file
formats are governed by formal specifications such as ODB++, Gerber, IPC-2581, etc. However, Sherlock
allows importing of other types of files such as CSV, Excel spreadsheets, and image files to defined
various aspects of a CCA. This guide describes those files and the required format to bring such files
into Sherlock.

Chapter Sections:
Adding Files
File Format Specifications

Adding Files
Circuit card files are listed in the Files folder or a CCA on the left-side of the Sherlock client. To add
new files, either right-click the Files folder and select Add Files or select CCA > Add Files from the
main Sherlock menu. After the file is added right-click the file and select Edit Properties to verify the
correct file type or specify the correct file type. Most CSV and spreadsheet files are going to be initially
added as generic Info files and require this step to set the correct format.

File Format Specifications

Outline Layer (CSV, Excel)


An outline layer file provides the X and Y coordinates that make up a circuit card assembly outline. The
coordinates defined in the file are processed in order to generate a board outline. Since a board outline
should be defined as a closed polygon, the first and last coordinate in the file should be the same.
However, if they are not, Sherlock will automatically add an additional point back to the starting location
if necessary.

An outline layer file must be defined as a CSV or be an Excel spreadsheet (.xls, .xlsm, or .xlsx) file. Each
coordinate defined row by row. Each row must contain two columns which indicate the X and Y coordin-
ates of an outline vertex. Sherlock connects lines between each successive vertex to generate the outline.
The first row of the file must be a label such as X and Y to denote the data in the given column.

When setting the file properties for an outline layer file, select the X location column, Y location column,
and select the units of measure defined by the coordinates. Example:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 169
Circuit Card Assembly Files

Table 10.1: Outline Layer, X and Y Coordinates

X Y
0 0
5 0
5 5
0 5
0 0

Net List Import (CSV/XLS)


A circuit card Net List defines all electrical connections between component pins as a list of pin and
network combinations. Pins that are electrically connected will be matched with the same network
name.

Users can import CSV/XLS files containing the Net List data. Each row must contain five columns
which include the Net Name, Reference Designator, Pin Name, X coordinate, and Y coordinate.
Example:

Table 10.2: Required Net List Data

Net Name RefDes Pin Name X Y


2512-1 J1 1 0.0375 -1
BGA676 U9 12 0.055 0

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
170 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 11: Component Failure Analysis
Component Failure Mechanism analysis is used to predict failures due to wearout not related to solder
joint fatigue. This is important where a PCB may be in a relatively benign environment in which wearout
becomes the dominating influence on the lifetime of a component. ANSYS Sherlock currently performs
this analysis for ceramic and electrolytic capacitors. The methods used for electrolytic capacitors are
vendor-dependent based on equations provided by supported vendors.

Chapter Sections:
Input Data
Analysis Properties and Analsysis Results

Input Data
The Component Failure Mechanism Analysis Module makes use of the following input data for the
analysis calculations:

• Life Cycle Reliability Goals

• Parts List

• Thermal Events and associated Thermal Maps

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

With regards to properties defined in the Parts List, the Component Failure Mechanism Analysis
Module uses properties from various tabs defined in the Part Editor:

• Part Type

• Package Properties

• Electrical Properties

• Thermal Properties

For ceramic capacitors, Test Properties are also used.

Currently, Sherlock performs Component Failure Mechanism Analysis for ceramic, electrolytic, and alu-
minum polymer capacitors from the parts list. For any component defined with the part type of CAPA-
CITOR CERAMIC, CAPACITOR ELECTROLYTIC, or CAPACITOR ALUMINUM POLYMER, the analysis will
be performed as well. These part types have the Component Failure Mechanism property enabled.
The ability to perform this analysis depends on specific properties being defined for the part, and those
properties may be vendor dependent. For electrolytic or aluminum polymer capacitors, the Lifetime
property and Max Rated Temperature must be defined. Some vendors may require Ripple Temperature

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 171
Component Failure Analysis

Rise, Applied and Rated Ripple Current, and Applied and Rated Voltage. For any component missing
required inputs, the analysis task will provide details on the missing properties in the analysis errors
tab for Component Failure Analysis.

Required Vendor Inputs


The following shows vendor-specific required parameters as supported by ANSYS Sherlock. If a vendor
is not listed for which the part type is CAPACITOR ELECTROLYTIC, the Default properties will be
used.

• Default – Lifetime, Max Rated Temperature

• Cornell Dubilier – Lifetime, Max Rated Temperature, Operating Voltage, Applied Voltage

• Illinois Capacitor – Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current
Temperature Rise, Applied Ripple Current, Rated Ripple Current, Operating Voltage, Applied Voltage

• Nichicon – Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current Tem-
perature Rise, Applied Ripple Current, Rated Ripple Current

• Nippon ChemiCon - Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current
Temperature Rise, Applied Ripple Current, Rated Ripple Current

• Panasonic - Lifetime, Max Rated Temperature

• Rubycon - Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current Tem-
perature Rise, Applied Ripple Current, Rated Ripple Current

• Vishay - Lifetime, Max Rated Temperature, Ripple Current Temperature Rise

If a vendor is not listed for which the part type is CAPACITOR ALUMINUM POLYMER, the Default
properties will be used.

• Default – Lifetime, Max Rated Temperature

• Illinois Capacitor – Lifetime, Max Rated Temperature, Operating Voltage, Rated Voltage

• KEMET – Lifetime, Max Rated Temperature

• Nichicon – Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current Tem-
perature Rise, Applied Ripple Current, Rated Ripple Current

• Nippon ChemiCon - Lifetime, Max Rated Temperature, Component Failure Mechanism, Ripple Current
Temperature Rise, Applied Ripple Current, Rated Ripple Current

• Panasonic - Lifetime, Max Rated Temperature

• Samxon – Lifetime, Max Rated Temperature

• Wurth Electronics – Lifetime, Max Rated Temperature”

For the CAPACITOR CERAMIC part type the properties used are package length, package width,
package thickness, max rated temperature, operating voltage, applied voltage, test voltage, test
duration, test devices/samples.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
172 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Properties and Analsysis Results

Analysis Properties and Analsysis Results

Analysis Properties
The Component Failure Analysis Module allows you to set the properties shown here:

The Part Temp Rise property defines the default temperature rise to be used when:

• There are no Thermal Maps assigned to a given Thermal Event or the Thermal Map cannot be
used to derive a temperature for a given component, and

• No specific Part Temp Rise property is defined for a given component in the Parts List.

The Apply Min Temp Rise parameter allows users to prevent the part temperature rise value from
being applied to the minimum temperature defined in a thermal cycle. By default, it is applied to the
minimum temperature.

The Part Validation parameter, when enabled, causes the Part Validation Analysis to be performed
prior to Solder Joint Fatigue analysis if it has not yet been successfully run.

Analysis Results
The Failure Rate Analysis Module generates the following results:

• Summary Panel showing reliability goals and analysis statistics

• Life Prediction Curve for the circuit card based on the time to failure predicted for all parts analyzed

• Result Table showing key properties, damage, time to failure 5%, and time to failure 63%, for each
part analyzed

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 173
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
174 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 12: Design Failure Mode and Effects Analysis
(DFMEA)
Design Failure Mode and Effects Analysis (DFMEA) is the application of the Failure Mode and Effects
Analysis method specifically to product design. It is a paper-and-pencil analysis method used in engin-
eering to document and explore ways that a product design might fail in real-world use. DFMEA docu-
ments the key functions of a design, the primary potential failure modes relative to each function and
the potential causes of each failure mode. The DFMEA method allows the design team to document
what they know and suspect about a product's failure modes prior to completing the design, and then
use this information to design out or mitigate the causes of failure.

ANSYS Sherlock supports DFMEA by providing convenient mechanisms for maintaining a DFMEA matrix
using an effective hierarchical GUI, exporting all or part of the matrix to an XLS spreadsheet using one
or more custom templates, and importing changes made to such spreadsheets back into Sherlock for
subsequent use. Sherlock assists in the preparation of the DFMEA matrix by leveraging data from other
modules, such as providing data extracted from PCB design files, data stored in the Part Database, and
analysis of pin locations, to name a few examples. Finally, Sherlock provides a collection of analysis
results, such as the distribution of Risk Priority Numbers (RPNs) calculated for each part in a PCB to
help users understand the overall impact of their DFMEA activities.

Note:

The examples shown in this document are based on the ODB++ Tutorial archive provided
as part of the Sherlock Tutorial package. Follow the instructions in the ODB++ Project Cre-
ation (p. 27) tutorial to load that archive.

Chapter Sections:
Managing DFMEA Data
Customizing DFMEA Data
Exporting DFMEA Data
Importing DFMEA Data
DFMEA Results
Net List

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 175
Design Failure Mode and Effects Analysis (DFMEA)

Managing DFMEA Data


Sherlock maintains DFMEA data as a hierarchical collection of the following types of data:

• One or more Subcircuits per Circuit Card

• One or more Parts per Subcircuit

• One or more Failure Modes per Part

For maximum usability, DFMEA data is displayed and managed as a graphical data tree, allowing users
to easily expand, collapse, browse and edit the data.

Updating DFMEA Data from Parts List


To view the DFMEA Data Tree, simply double-click the DFMEA entry located in the Circuit Card
Inputs folder of the Project Tree. At that point, the DFMEA Viewer will appear as a separate window.

For each new circuit card, the DFMEA Viewer will initially contain no data, but you can easily add
default DFMEA data entries by right-clicking the circuit card name in the Navigation panel and se-
lecting the Update From Parts List menu option.

At that point, a dialog will appear (see below) allowing you to select various processing options. You
may optionally create:

• Default Failures based on part types

• Default Open Failures for all part pins

• Default Short Failures for all pairs of pins

We'll discuss these options in more detail later. For now, simply select all the update options and
press the Update From Parts List button to create default DFMEA data entries for all parts in the
Parts List.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
176 of ANSYS, Inc. and its subsidiaries and affiliates.
Managing DFMEA Data

At that point, the Flash Memory, Processors and UNASSIGNED folders will be added to the Navig-
ation panel. The Navigation panel is used to quickly find and display the data associated with any
Subcircuit, Part or Failure Mode. As each entry is selected in the tree, the data corresponding to that
entry, and all higher-level entries, will be displayed in the property panels located on the right-side
of the main panel.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 177
Design Failure Mode and Effects Analysis (DFMEA)

You can navigate the tree using either the mouse or the following keyboard keys:

Table 12.1: DFMEA Viewer, Keyboard Navigation

Keyboard Key Purpose


Up Arrow Move up one row in the tree
Down Arrow Move down one row in the tree
Right Arrow Expand the current entry (if sub-rows exist)
Left Arrow Collapse the current entry (if sub-rows exist)

You may also double-click any row containing sub-rows to expand/collapse that entry.

By default, Sherlock places all parts found in the Parts List into one or more subcircuits designated
by the Subcircuit Name(s) property value assigned to each part. In this tutorial, subcircuit names
were assigned to eight of the parts (U5-U6, U11-U16) when the ODB++ archive was imported because
the FUNCTIONAL_BLOCK ODB property was mapped to the Subcircuit Name(s) Sherlock property
during the import process. Users can also edit the Parts List manually to assign parts to one or more
subcircuits using a comma-separated list. When the Update From Parts List menu option is executed,
Sherlock automatically creates the necessary subcircuit folders and assigns all parts to the appropriate
subcircuit folders based on their current Subcircuit Name(s) property values. If a part is not assigned
to any subcircuit, then Sherlock places it in the UNASSIGNED subcircuit folder.

Note:

If you change the Subcircuit Name(s) property for one or more parts, simply re-execute
the Update From Parts List menu option to move the existing DFMEA entries to the
proper subcircuit folders.

You can execute the Update From Parts List menu option at any time to copy current part properties
from the Parts List to the DFMEA data. Sherlock automatically copies all part property values in the
Parts List to DFMEA data fields that have the same name. In the simplest case, the Description
property from the Parts List is copied into the Description DFMEA field, but any part property available
in the Parts List can be copied into a DFMEA field with the same name.

Note:

The Customizing DFMEA Data (p. 184) section below describes how to create custom DFMEA
data fields for Subcircuits, Parts and Failure Modes.

Manually Organizing DFMEA Data


In addition to using the Subcircuit Name(s) property to organize parts in the DFMEA tree, you can
easily assign one or more parts to a specific subcircuit using the following procedure.

Right-click the top tree entry and select Add Subcircuit from the pop-up menu. In the Add Subcircuit
window, enter the desired Subcircuit name and optional description, then press the Add Subcircuit
button to create the subcircuit definition and update the DFMEA Tree.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
178 of ANSYS, Inc. and its subsidiaries and affiliates.
Managing DFMEA Data

To assign one or more parts to the new subcircuit, select the appropriate part designators (C21 &
C22 for example) in the UNASSIGNED folder, right-click any of the selected parts and select Cut
Part(s) from the pop-up menu. At that point, the parts will be copied into an internal clipboard and
a confirmation dialog will appear asking if you want to remove the parts from the UNASSIGNED
folder. Press Yes to remove the parts. Then, right-click the desired destination subcircuit and select
Paste Part(s) from the pop-up menu.

Note:

All standard Windows-style mouse controls are supported for selecting one or more entries
in the Navigation tree. Use the SHIFT key to include all entries up to a selected entry and
the CONTROL key to toggle individual entries. Once the set of data entries has been selec-
ted, right-click any selected entry to remove, cut, or copy the selected entries.

Note:

After one or more DFMEA data modifications are made you need to press the Save Changes
button to save all changes. If you decide not to save the changes, you may press the Reset
Changes to reset the DFMEA Viewer to show the previously saved data.

Manually Adding Part Data


In some cases, you may want to add DFMEA data for parts or groups of parts that are not listed in
the Parts List. Parts can be added simply by right-clicking any existing subcircuit and selecting the
Add Part menu item in the pop-up menu.

For example, right-click the new Motor Controller - Right Side subcircuit in the DFMEA tree and
select Add Part from the pop-up menu. Enter the desired Part Designator (or select it from the pull-

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 179
Design Failure Mode and Effects Analysis (DFMEA)

down choice list). After you enter or select the Part Designator, Sherlock will automatically fill in the
Description field using the value found in the current Parts List, if any.

Note:

The same part may be assigned to any number of subcircuit folders to allow you to organize
DFMEA data as needed to suit your requirements. In the previous example, we added U2
to the Motor Controller - Right Side subcircuit, but there is also a default entry in the
UNASSIGNED folder.

You are not limited to a single part reference in the Part Designator field. Although that is normally
the case, you may also enter a list and/or range of part designators, such as R1-R5, R7, R13.

Adding Default Part Failures


Now that we've added a part, we can use Sherlock to help create the failure modes associated with
each of those parts, similar to how the Update From Parts List menu option worked. To that end,
right-click the U2 entry just created and select Add Default Failures from the pop-up menu. At that
point, Sherlock will automatically add one or more Failure Mode entries to the U2 part folder, as
shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
180 of ANSYS, Inc. and its subsidiaries and affiliates.
Managing DFMEA Data

By examining the new entry, we can see that Sherlock has automatically filled in many of the properties
for each Failure Mode added. Such default entries significantly reduce the time needed to manually
enter DFMEA data. We'll shortly discuss how to customize the default failure modes to suit your
specific project needs.

Adding Default Pin Open Failures


In addition to default part failures, Sherlock can generate default Pin Open Failures for all pins asso-
ciated with a given part based on the Net List data imported by Sherlock.

Note:

Net List data is automatically imported by Sherlock when processing ODB++, IPC-2581,
and Eagle CAD files with no additional user input required. For other projects, a standard
IPC-D-356 file can be used to import the necessary data. See the Net List (p. 207)section
for more details.

To generate default Pin Open Failures, right-click the U2 part entry in the DFMEA Tree and select
the Add Pin Open Failures option from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 181
Design Failure Mode and Effects Analysis (DFMEA)

Typically, pins that are not connected to any network are ignored, but you may include those pins if
necessary. After the Add Opens button is pressed, an Open - Pin XX failure entry will appear under
the selected part entry in the DFMEA Tree.

Adding Default Pin Short Failures


Perhaps the most tedious DFMEA data entry chore is that of accounting for shorts between adjacent
pins for each part being analyzed. Sherlock can significantly speed-up such a task by automatically
determining which pins are adjacent to others, by generating default failure entries for all such pin
pairs and by eliminating duplicate short failure modes.

To add default Pin Short Failures, right-click the U2 part entry in the DFMEA Tree and select the Add
Pin Short Failures option from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
182 of ANSYS, Inc. and its subsidiaries and affiliates.
Managing DFMEA Data

Much like Pin Open Failures, you may choose to ignore pins without connections. You may also
choose to ignore duplicate network shorts. Sherlock considers two shorts to be duplicates if a pin
shorts to two different pins, but both pins are connected to the same network. The Max Distance
property can be used to specify the maximum distance used to determine pin adjacency.

After the Add Shorts button is pressed, a Short - Pins XX & YY entry will appear under the selected
part in the DFMEA Tree for each pair of adjacent pins found by , as shown below.

By default, displays the pin number and network associated with each pair of adjacent pins.

Note:

The Customizing DFMEA Data (p. 184) section below describes how to customize the data
values used when generating default Part Failures, Pin Open Failures, and Pin Short
Failures.

Manually Adding Failure Modes


If the default failure modes describe above don't cover all the possibilities for a given part, you can
create a Failure Mode Item manually by right-clicking the part and selecting Add Failure Mode to
display the dialog shown here.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 183
Design Failure Mode and Effects Analysis (DFMEA)

One or more of the fields in the dialog may be initially filled in by Sherlock based on the current default
failure mode definition. In either case, modify the properties as necessary and press Add Failure
Mode to create the failure mode item for the selected part.

For part J1, we have also created a new subcircuit called Input Connector, and used the same process
described earlier in the Manually Organizing DFMEA Data (p. 178) section.

Editing / Removing DFMEA Data


DFMEA data can be edited at any time simply by right-clicking the desired item in the tree and selecting
either Edit Subcircuit, Edit Part or Edit Failure Mode from the pop-up menu. At that point, the
dialogs shown above will be displayed, allowing you to modify any or all the properties associated
with that entry.

DFMEA data removal is accomplished by right-clicking the desired item in the tree and selecting
either Remove Subcircuit, Remove Part or Remove Failure Mode from the pop-up menu. Sub-
entries are automatically removed from the tree along with the selected entry.
Note:

After making one or more changes to the DFMEA Data Tree, press the Save Changes
button at the bottom of the DFMEA panel to save the changes to the file system or the
Reset Changes button to undo all changes made since the last time changes were saved.

Customizing DFMEA Data


DFMEA data is used in different ways by different organizations. Although there are a few standard
properties across all organizations, it is often necessary and/or desirable to manage a set of properties
that are organization specific. Sherlock supports such flexibility by using two user-customizable definition
files to determine the properties to be displayed and edited, as well as the values to be entered auto-
matically for default failure modes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
184 of ANSYS, Inc. and its subsidiaries and affiliates.
Customizing DFMEA Data

Custom DFMEA Properties


Sherlock uses the [Link] file located in the DFMEA sub-folder in the Sherlock User
Directory (C:\Users\USERID\AppData\Roaming\Sherlock\DFMEA) to determine the properties to
be displayed and edited for a given DFMEA data entry. That file is created automatically as needed
by Sherlock from a standard template containing a standard list of Subcircuit, Part and Failure Mode
properties. You may modify that file as needed to define whatever properties are suitable for your
organization. The next time that Sherlock is started, it will make use of those properties in all DFMEA
displays and dialogs. If you are unsure of the location of your Sherlock User Directory, select Settings
> General Settings and navigate to the Advanced subtab. The Default Project Directory shows
the location of the Sherlock User Directory.

The [Link] file is not complicated or hard to understand. For example, here is the
standard property definition file provided by Sherlock.

Table 12.2: [Link]

Level Property
Subcircuit Description
Part Description
FM Potential Cause
FM Potential Effect

The first row contains the column names used by Sherlock to parse the file and should always contain
exactly the column names shown here. All subsequent rows define the property names to be used
for each level of data (for example, Subcircuit, Part or Failure). In this example, we've defined Descrip-
tion fields for both Subcircuit and Part data items. We've also defined two other properties (Potential
Cause and Potential Effect) for Failure Mode items.

Aside from the properties defined in the property definition file, Sherlock hard-codes the following
properties so that they always exist:

Table 12.3: Hardcoded DFMEA Properties

Level Property Description


Subcircuit name Unique subcircuit name
Part refDes Unique part reference designator
FM mode Unique failure mode
FM SEV Severity Rating (1-10)
FM OCC Occurrence Rating (1-10)
FM DET Detection Rating (1-10)

You should NOT create duplicate definitions for these properties in the property definition file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 185
Design Failure Mode and Effects Analysis (DFMEA)

Let's create some additional properties to see how they can be used. Using your favorite spreadsheet
application, edit the [Link] file and add the following rows to the bottom of the
spreadsheet:

Table 12.4: Add Rows: [Link]

Subcircuit Designer
Part Part Number

Save the file changes and the restart Sherlock. By examining the DFMEA Tree, you'll see that the
Designer property has been added to the Subcircuit Properties panel and that the Part Number
property has been added to the Part Properties panel.

In addition to being added to the read-only panels, those fields have been added to the Subcircuit
and Part Edit dialogs so you can manually assign values to all of the new properties whenever you
want.

It is important to note that the Part Number DFMEA property we just added is named the same as
the Part Number property in the Parts List. As such, whenever the Update From Parts List menu
option is executed, Sherlock will automatically copy the Part Number value from the Parts List into
the Part Number field of each corresponding DFMEA part entry. To see how this works, simply execute
Update From Parts List and select U13 in the DFMEA Tree (under the Flash Memory subcircuit) to
see that the part number has been copied from the Parts List.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
186 of ANSYS, Inc. and its subsidiaries and affiliates.
Customizing DFMEA Data

Custom Default Failure Modes


Much like DFMEA properties, Sherlock determines the appropriate default failure modes for a given
part by examining the contents of the [Link] file located in the DFMEA sub-folder in the
Sherlock User Directory. That file is created automatically by Sherlock from a standard template, but
you are free to modify that file at any time to customize the default failure modes to be used for your
projects.

The [Link] file is formatted as a standard Comma Separated Value (CSV) file and can be
viewed/edited using any spreadsheet application. Below is an excerpt from the default file provided
by Sherlock (formatted for readability).

The first row contains the column names used by Sherlock to parse the file. The first two columns
are always required to define a default failure mode. If any of the standard numeric columns (SEV,
OCC, DET) are not defined, then a default value will be used. Finally, zero or more additional columns
may be defined to specify default values for any of the customized Failure Mode properties defined
in the Property Definition File (see previous section (p. 185)). In this case, we've defined only the
Potential Cause for each Failure Mode, which is one of the two default properties defined by Sherlock.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 187
Design Failure Mode and Effects Analysis (DFMEA)

Table 12.5: [Link]

partType failureMode SEV OCC DET Potential Cause


DEFAULT DEFAULT 8 2 2 Device failure
DEFAULT Open – Pin <pinName> (<netName>) 1 2 2 Open trace or solder
OPEN joint
DEFAULT Short – Pins <pinName1> (<netName>) 1 2 2 Solder bridge or
SHORT migration
Capacitor DC Leakage, EPR < 50K 1 2 2 Cracked dielectric
layers
Diode DC Leakage 1 2 2 Damage to PN
Junction
Resistor High Resistance 1 2 2 Crack propagation
through part
Resistor Shorted 1 2 2 Device failure
Resistor DC Leakage 1 2 2 Device failure
Network
IC Logic Failure 8 2 2 Device failure

Sherlock uses the partType listed in each row to determine which default failure modes to use for a
given part. Specifically, if the part type matches the partType value (case-insensitive) in the spread-
sheet, then that row will be used to create a default failure mode. In the example above, one default
failure mode is defined for Capacitor parts and two (2) other default failure modes are defined for
Resistor parts.

Part types DEFAULT, DEFAULT OPEN and DEFAULT SHORT are used to generate default Part Failures,
default Pin Open Failures and default Pin Short Failures, respectively, as we now discuss.

Default Part Failures


The DEFAULT row in the [Link] file defines the property values to be used by Sherlock
when generating default part failures as a result of the user selecting the Add Failure Mode menu
option. In such cases, the mode property will be specified by the user before the failure mode is added.

Default Pin Open Failures


The DEFAULT OPEN row in the [Link] file defines the property values to be used by
Sherlock when generating default Pin Open Failures as a result of the user selecting either the Update
From Parts List or Add Pin Open Failures menu options. Since multiple pin open failures can be
generated for a given part, the failureMode value specified in the CSV file is used by Sherlock as a
template to generate the specific failure mode label. The template value may contain any of the fol-
lowing variables, which will be replaced by the indicated value:

Table 12.6: Template Variables (Default Opens)

Template Variable Replacement Value


<partName> ID associated with the selected part
<pinName> ID associated with the current pin

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
188 of ANSYS, Inc. and its subsidiaries and affiliates.
Customizing DFMEA Data

<netName> ID associated with the connected network

For example, the default template:

Open - Pin <pinName> (<netName>)

will generate the following mode:

Open - Pin 20 (GND)

for pin 20 connected to network GND.

Note:

Net Lists may use arbitrary strings for pin names, so don't be surprised if you don't see pin
numbers in some cases. Similarly, networks can be labeled using arbitrary, sometimes
meaningless, strings, depending on how the circuit engineer manages them.

Default Pin Short Failures


The DEFAULT SHORT row in the [Link] file defines the property values to be used by
Sherlock when generating default Pin Short Failures as a result of the user selecting either the Update
From Parts List or Add Pin Short Failures menu options. Since multiple pin short failures can be
generated for a given part, the failureMode value specified in the CSV file is used by Sherlock as a
template to generate the specific failure mode label. The template value may contain any of the fol-
lowing variables, which will be replaced by the indicated value:

Table 12.7: Template Variables (Default Shorts)

Template Variable Replacement Value


<partName> ID associated with the selected part
<pinName1> ID associated with the first pin
<netName1> ID associated with the first connection
<pinName2> ID associated with the second pin
<netName2> ID associated with the second connection

For example, the default template:

Short - Pins <pinName1> (<netName1>) & <pinName2> (<netName2>)

will generate the following mode

Short - Pins 19 (N131646) & 20 (GND)

for adjacent pins 19 and 20 connected to networks N131646 and GND, respectively.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 189
Design Failure Mode and Effects Analysis (DFMEA)

Exporting DFMEA Data


Sherlock provides a flexible, user-customizable mechanism for exporting all or part of the DFMEA data
to one or more spreadsheet files using a collection of spreadsheet templates. Template files are
formatted as standard XLS spreadsheet files, allowing you use the full range of spreadsheet formatting
capabilities to specify the output file layout. In addition, Sherlock defines a set of template variables
that can be referenced in a template file to include individual DFMEA data values, as well as lists of
DFMEA data entries. Using such capabilities, you can easily create an output spreadsheet containing
only the data associated with a selected failure more for a selected part, a summary of DFMEA data, or
the entire DFMEA Data Tree, to name a few examples.

Template Files
Sherlock provides the following collection of standard template files as part of the installation package:

• [Link]: Generates a no-frills spreadsheet containing the entire DFMEA Data


Tree for a selected CCA, including the data properties defined by Sherlock by default.

• [Link]: Generates a summary spreadsheet containing a list of all subcircuits


defined for a selected CCA that shows the number of components contained in each subcircuit
and the range of SEV, OCC, DET and RPN values for each subcircuit.

• [Link]: Generates a detailed spreadsheet containing the entire DFMEA


Data Tree, with full details for all subcircuits, components and failure modes for a selected CCA.
This template also provides summary information (for example, min/max numeric values) for all
subcircuits and components.

• [Link]: Generates a summary spreadsheet containing the min/max


numeric values of all subcircuit and component data for a selected CCA.

• [Link]: Generates a detailed spreadsheet containing all component


and failure mode data for a selected subcircuit.

• [Link]: Generates a detailed spreadsheet containing all failure mode data for a se-
lected subcircuit component.

• [Link]: Generates a detailed spreadsheet containing the failure mode


data for a selected subcircuit component failure mode.

All the template files listed above are created automatically by Sherlock in the DFMEA folder located
in the Sherlock User Directory. You are free to use the templates as-is or modify them to suit your
specific needs, as we now discuss.

Exporting DFMEA Data


Exporting DFMEA data involves simply selecting the desired DFMEA data item to be exported and
an appropriate template file. To see how this works, select the DC Leakage, EPR < 50K failure mode
for the C22 component in the Input Connector subcircuit as shown below (1).

Then, right-click that entry and select Export DFMEA Data from the pop-up menu. At that point, a
dialog will appear (2) allowing you to select an appropriate template file, specify an output file and
choose various processing options.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
190 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting DFMEA Data

Use the first Browse button to select the failure mode template provided by Sherlock from the DFMEA
folder located in the Sherlock User Directory.

Then use the second Browse button to specify the name and location of an output file to be generated.

If the Overwrite Existing File option is selected, then any existing output file with the same name
will be overwritten without prompting you.

If the Display Spreadsheet option is selected, then the application currently associated with XLS
files on your system (for example, Excel, Open Office) will be used to display the output file after it
has been generated.

Press the Export DFMEA Data button to generate the spreadsheet using the selected template file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 191
Design Failure Mode and Effects Analysis (DFMEA)

This simple spreadsheet includes a header section showing various Project, CCA, Subcircuit and
Component properties, as well as the selected Failure Mode. Below the header, the spreadsheet
contains a single row for each failure mode property.

Template Variables
If we look at the [Link] that was used in the previous example:

And compare it to the output file:

We see immediately that the output file mimics the look-and-feel of the template file, including all
the same formatting and style settings. The only differences between the template and output files
are those cells containing template variables. Specifically, all template variables found in the template
file are replaced by their corresponding property values in the output file. For example, the <Pro-
[Link]> template variable is replaced by “Tutorial” in the output file. This simple mechanism
allows you to customize templates as needed to satisfy a range of needs.

Sherlock supports the following internally defined template variables:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
192 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting DFMEA Data

Table 12.8: Internally Defined Template Variables

Variable Name Description


[Link] Name of selected project
[Link] Description defined in the Project Properties
[Link] Circuit card name
[Link] Description defined in the Circuit Card Properties
[Link] Subcircuit Name
[Link] Number of components contained by the subcircuit
[Link] Minimum SEV value for all subcircuit components
[Link] Maximum SEV value for all subcircuit components
[Link] Minimum OCC value for all subcircuit components
[Link] Maximum OCC value for all subcircuit components
[Link] Minimum DET value for all subcircuit components
[Link] Maximum DET value for all subcircuit components
[Link] Minimum RPN value for all subcircuit components
[Link] Maximum RPN value for all subcircuit components
[Link] Component reference designator
[Link] Minimum SEV value for all failure modes
[Link] Maximum SEV value for all failure modes
[Link] Minimum OCC value for all failure modes
[Link] Maximum OCC value for all failure modes
[Link] Minimum DET value for all failure modes
[Link] Maximum DET value for all failure modes
[Link] Minimum RPN value for all failure modes
[Link] Maximum RPN value for all failure modes
[Link] Failure Mode
[Link] SEV value
[Link] OCC value
[Link] DET value
[Link] RPN value

In addition to these internally defined variables, Sherlock will also recognize variables based on each
of the custom Subcircuit, Part or Failure Modes properties defined in the [Link]
definition file (as discussed in previous sections).

For example, since Sherlock defines the DFMEA data properties in the default [Link]
file (see columns A and B in table below), the template variables (column C) will also be supported:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 193
Design Failure Mode and Effects Analysis (DFMEA)

Table 12.9: DFMEA Data Properties

A B C

Level Property Template Variables


Subcircuit Description <[Link]>
Part Description <[Link]>
FM Potential Cause <FM. Potential Cause>
FM Potential Effect <FM. Potential Effect>

Note:

Custom property names are always case-sensitive and all blanks must be specified in the
template variable referenced exactly as they are specified in the property definition file.

Template variables may be referenced by themselves or as part of an arbitrary string containing one
or more template variables. For example, the following string expression in the template file:

Cause (<FM. Potential Cause>) & Effect (<FM. Potential Effect>)

would produce the following cell value in the output file:

Cause (Cracked dielectric layers) & Effect ()

using the same inputs as the previous example (substitutions are shown in bold).

Note:

If Sherlock cannot determine a value for a given template variable, then the template
variable itself will be used as the cell value in the output spreadsheet.

Templates Lists
In addition to template variables, templates may reference template lists to include a list of data
entries in the output file. Specifically, the following template lists are supported by Sherlock:

Table 12.10: Template Lists

Template List Alias Description


<Subcircuits> None Lists all subcircuits associated with the
current circuit card
<Components> <Parts> Lists all parts associated with the current
subcircuit
<FailureModes> <Failures> Lists all failure modes associated with the
current part

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
194 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting DFMEA Data

Such list references can be used individually or in a nested manner to generate a wide variety of
output spreadsheets. For example, let's examine how the [Link] template file uses
both template variables and template lists to show all failure modes associated with a selected part.

As in the previous example, the header section contains references to individual template variables
to display various project, circuit card, subcircuit and component property values. Then, the <Failure-
Modes> list is referenced, indicating that the output file should contain data for each failure mode
associated with the current part. All of the lines defined between the opening <FailureModes> tag
and the closing </FailureModes> tag are part of the template used to display each Failure Mode.

Note:

Template list opening and closing tags must always be paired properly in the template
file. If Sherlock cannot find the closing tag for a given opening tag it will generate an error
message.

To see how Template Lists are used, select the U2 part (or any failure mode associated with the U2
part) in the Motor Controller - Right Side subcircuit as shown here.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 195
Design Failure Mode and Effects Analysis (DFMEA)

Then, right-click that entry and select Export DFMEA Data from the pop-up menu. When prompted
for the template file, select the [Link] file and press Export DFMEA Data to generate
the following output file:

As in the previous example, the header section is reproduced exactly as shown in the template file,
with property values substituted for each template variable. The remainder of the file was generated
by repeatedly using the <FailureModes> template list defined in the template file. For each failure
mode associated with the selected part, the template list is used to display the failure mode properties.

Nested Templates Lists


Template lists can be nested in a natural order to export any part of the DFMEA data tree. Specifically,
the <Subcircuits> template list may include references to the <Components> template list and the
<Components> template list may include references to the <FailureModes> template list. For example,
the [Link] template file shown here...

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
196 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting DFMEA Data

...uses the <FailureModes> template list nested inside of the <Components> template list to export
each failure mode for each component associated with the selected sub-circuit, resulting in the fol-
lowing output:

It's important to note that you may define as many rows inside of each template list as needed to
achieve the desired output. In this case, a double-line and some high-lighted cells are output at the
start of each Component to improve readability. Then, a basic header and border format is used to
list each of the failure modes for a given component.

Page Headers
When generating spreadsheets that span multiple printed pages, the <PageHeader> and </PageHead-
er> tags can be used to designate one or more rows to be repeated at the top of each printed page.
As with other template lists, individual template variables may be referenced, but no other template
lists may be nested inside of the PageHeader list. Such repeating rows are typically used to display
project and circuit card properties, and perhaps repeating column headers. For example, the 00-
[Link] template defines a basic page header to display the project and circuit card
name on every printed page, as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 197
Design Failure Mode and Effects Analysis (DFMEA)

In fact, that template shows how each of the template features can be used to export all DFMEA data
to a spreadsheet file that can be easily parsed by another application. Sherlock users need only add
template variables whenever they define a new DFMEA property to maintain a comprehensive template.

Importing DFMEA Data


The same template used to export DFMEA data from Sherlock can be used to import DFMEA data from
a spreadsheet into Sherlock. This allows Sherlock users to both import DFMEA data initially from existing
spreadsheets and to export data from Sherlock, modify it using a spreadsheet application and then use
that spreadsheet to update the Sherlock DFMEA Data Tree.

Re-Importing a DFMEA Spreadsheet


Any spreadsheet that was generated by Sherlock using a given template file can be easily imported
by Sherlock using the same template file. Basically, the same template file defines not only how to
generate the spreadsheet, but also how it can be parsed to import data. As long as the spreadsheet
format remains consistent with the template, you may add, modify or delete DFMEA data in the
spreadsheet and successfully update Sherlock using that spreadsheet. This allows users to seamlessly
switch back-and-forth between Sherlock and their spreadsheet application for viewing and maintaining
DFMEA data.

To see how the basic export-modify-import cycle works, select the C22 part entry in the DFMEA data
tree (assigned to the Motor Controller - Right Side sub-circuit) and generate a spreadsheet using
the [Link] template file:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
198 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing DFMEA Data

In this example, we see that there are no Potential Effect values indicated for any of the failure
modes. We could use Sherlock to modify those values individually or we can update them in the
spreadsheet file just generated and then update Sherlock using that spreadsheet, as we now
demonstrate.

Modify the spreadsheet to define values for the first two failure modes, as highlighted here in yellow:

After saving the spreadsheet changes, right-click the top-level ODB++ Tutorial entry in the DFMEA
Data Tree and select Import DFMEA Data from the pop-up menu to display the Import DFMEA
Data dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 199
Design Failure Mode and Effects Analysis (DFMEA)

As a convenience, Sherlock automatically displays the last template file used, as well as the name of
the last output file to be used as the input file. If different files are desired, simply press the Browse
buttons to locate the proper files.

In this case, we are re-importing the file that we just generated, so the default values are correct.
Press the Load DFMEA Data button to parse the input file and begin the import process.

If the input file is parsed successfully, the DFMEA Import Confirmation dialog will be displayed. The
confirmation dialog displays a tree showing all the DFMEA data entries found in the input file, as well
as a list of processing options.

In this example, we want to update the current DFMEA data maintained by Sherlock using all the
data found in the input file. As such, select Update Current Data Objects as the processing option
and select all entries in the Import Data Tree. Finally, press the Update DFMEA Tree button to
complete the import process. After the import process has completed, a quick review of the C22
failure modes will show that we now have Potential Effect values specified for the first two failure
modes, just like they were specified in the spreadsheet.

The Replace Current Data Objects processing option is similar to the update option, except that it
removes all existing properties and entries associated with a given entry before importing the data
found in the spreadsheet. Similarly, the Clear All Data Before Import removes all DFMEA data from

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
200 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing DFMEA Data

the Sherlock tree before importing data from the input file. These processing options exist to quickly
replace all or part of the DFMEA tree with the data contained in the input file.

Note:

Always use caution when selecting the Replace or Clear processing options. You will not
be able to recover any data lost from Sherlock once you've pressed the Update DFMEA
Tree button.

Importing Custom DFMEA Properties


You can combine custom property definitions and the import process to quickly add data values to
any DFMEA data tree. For example, in our previous examples, we added the Subcircuit / Designer
property to the [Link] file, but we haven't specified any values for that property, and
we haven't referenced that template variable in any template. Let's remedy that situation with a
simple template modification.

First, right-click the Main Board entry in the DFMEA data tree and select Export DFMEA Data from
the pop-up menu. Then, select the [Link] template file and generate a
spreadsheet containing a summary list of all sub-circuits.

Use the Notes cell to enter the designer information for each sub-circuit, such as highlighted here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 201
Design Failure Mode and Effects Analysis (DFMEA)

After saving the data changes in the spreadsheet, we can now modify the template file to import
those values using the customized template variable:

After saving the template change, we're ready to import the missing data by right-clicking the Main
Board DFMEA tree entry, selecting Import DFMEA Data and using the modified template and
spreadsheet files.

As before, we want to update the existing DFMEA data using all the data values imported from the
spreadsheet. After the data has been imported, a quick review of the DFMEA Data Tree will show
that all the designer data has been successfully added.

Note:

When importing data, Sherlock automatically ignores data values associated with the min,
max and count internal properties supported for sub-circuits and parts because those
values are automatically generated by Sherlock. Similarly, all RPN values imported from a
spreadsheet are also ignored.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
202 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing DFMEA Data

Importing Pre-Existing Spreadsheets


Organizations that have existing DFMEA spreadsheets can import the data from those spreadsheets
into Sherlock using the same import approach described above by creating a template file that rep-
resents the structure of the existing spreadsheet. For example, if the spreadsheet contains a fixed
number of rows containing basic project and management information, those rows can simply be
copied to the template file. If the spreadsheet then contains one or more rows for a given failure
mode, a single copy of those rows can be copied to the template and placed inside of nested <Sub-
circuits>, <Components>, and <FailureModes> template lists. Finally, replace the values in that sample
row by the appropriate subcircuit, part, or failure mode template variable. If additional properties are
needed, simply add them to the [Link] definition file to cause them to appear in the
DFMEA data displays in Sherlock and to be imported from the input spreadsheet.

Import Errors
When modifying spreadsheet files, it is easy to add unnecessary rows or improperly modify cell values.
In such cases, the resulting spreadsheet will probably not be consistent with the template used by
Sherlock to process that file. In such cases, Sherlock will display an error dialog like the following:

In this case, Sherlock was not able to match the value found in cell (7,2) with the value expected by
the template file (Subcircuit Name). This problem occurred because someone added an unexpected
row to the spreadsheet file, as highlighted here in orange:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 203
Design Failure Mode and Effects Analysis (DFMEA)

The problem can be corrected by either (a) removing the offending row from the spreadsheet file or
(b) adding a similar row to the template file (if the orange row is really supposed to be there).

DFMEA Results
In addition to the DFMEA data management capabilities described above, Sherlock provides an analysis
module that generates summary results based on the RPN values assigned in the DFMEA data. Although
such results are not used to generate the same types of scores provided by other Sherlock analysis
modules, they can be used to either get an overall view of the DFMEA data associate with a given circuit
card to determine where best to spend additional effort.

Generating DFMEA Results


The DFMEA results are generated by right-clicking the Analysis > DFMEA entry in the Sherlock project
tree for a given circuit card and selecting the Edit Properties item from the pop-up menu to display
the properties dialog:

The properties dialog allows you to select various processing options, with the following options
supported:

Table 12.11: Processing Options

Processing Option Description


Check for Missing Parts Generates an error for any part contained in the Parts List
that is not referenced by at least one subcircuit in the
DFMEA data
Check for Unknown Parts Generates an error for any part referenced in the DFMEA
data that does not exist in the Parts List

The dialog also allows you to specify the cutoff values to be used when color coding results. RPN
values greater than or equal to the Error Cutoff Value are colored as errors (red), while values
greater than or equal to the Warning Cutoff Value are colored as warnings (yellow). All other results
will be colored green. After selecting the desired processing options and specifying the desired cutoff
values, press the Save & Run button to save the properties and run the analysis task (or you can
simply Save the properties to be used for a subsequent analysis run).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
204 of ANSYS, Inc. and its subsidiaries and affiliates.
DFMEA Results

DFMEA Results
After the analysis task has completed successfully, double-click the Analysis > DFMEA entry in the
Sherlock project tree to view the DFMEA results, including:

• Summary Results

• RPN Distribution Chart

• DFMEA Ratings Table

• Worst RPN table

• Processing Issues

The Summary tab shows various counts and statistics gleaned from the DFMEA data. The maximum
values shown are across all subcircuits, parts and failure modes associated with the current circuit
card. The RPN Dist tab shows a graphical distribution of the maximum RPN values assigned to each
part in the DFMEA data.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 205
Design Failure Mode and Effects Analysis (DFMEA)

The All Parts tab shows a list of all parts defined in the DFMEA Tree and the maximum ratings as-
signed to the failure modes associated with those parts. (See table below.)

The rows in the table are color-coded based on the cutoff values defined in the analysis properties
dialog. The table is initially sorted by decreasing RPN values, but you may single-click any column
header to sort by that column. (Repeated clicks toggle between ascending and descending order.)

The Worst N RPN tab displays a list of the worst number of specified RPN values. This number is
specified in the Worst N Results which can be changed in the DFMEA Properties. In this example,
we have specified ten in the Worst N Results, and should therefore expect a table of ten worst RPN
values.

Finally, an Issues tab lists may also appear. This tab lists any issues generated during the analysis
process.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
206 of ANSYS, Inc. and its subsidiaries and affiliates.
Net List

DFMEA Layers
In addition to the tabular and graphical results described above, the DFMEA module also generates
a collection of graphical layers that display color-coded parts based on the maximum RPN value as-
signed in the DFMEA data.

In this example, we can see each of the DFMEA parts color-coded the same as their corresponding
rows in the tabular result. This location-based view of the results clearly shows the critical regions of
the board that need to be examined further to improve their DFMEA ratings.

Net List
A circuit card Net List defines all electrical connections between component pins as a list of pin and
network combinations. Pins that are electrically connected will be matched with the same network
name. Sherlock uses the Net List when generating default Pin Open Failures and Pin Short Failures.

Importing Net List Data


Sherlock automatically imports Net List data when processing ODB++, IPC-2581, or Eagle CAD files, re-
quiring no additional user input. For other projects, however, users must supply a CSV/XLS or a standard
IPC-D-356 formatted file containing the Net List data. Once the file has been added to the Files list for
a given circuit card, select the Net List (CSV/XLS) or Net List (IPC) depending on the imported file type,
and Sherlock will load all the net list data found in the file.

Viewing Net List Data


For review purposes, the Net List data associated with a given circuit card can be viewed by double-
clicking the Inputs >> Net List entry in the project tree. At that point, the Net List tab will be displayed

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 207
Design Failure Mode and Effects Analysis (DFMEA)

in the Content Panel, showing the Net Name, Reference Designator and Pin Name for each network
connection.

You may sort by any column and/or filter by rows containing specific substrings. You may also double-
click any row to see the corresponding part properties. Finally, Net List data can be exported from the
table using the standard Sherlock export capabilities.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
208 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 13: FEA-01 Finite Element Analysis Overview
Finite Element Analysis (FEA) models 3D shapes by a collection of 3D elements (e.g., bricks, pyramids,
etc) that are connected by shared nodes or by surface/node constraints. Each element is assigned
mechanical properties based on material content and external loads and/or constraints (for example,
gravity, point forces, etc) are applied to the model to simulate the intended operational environment.
FEA simulation techniques are then applied to predict the displacements and strains experienced by
each node and element in the model.

Sherlock uses FEA simulations to perform the following types of analysis:

• Natural Frequency (p. 389) (that is, modal response)

• In-Circuit Testing (ICT) (p. 395) (that is, static load)

• Mechanical Shock (p. 409) (that is, transient dynamic)

• Harmonic Vibration (p. 419) (that is, modal dynamic)

• Random Vibration (p. 419) (that is, modal dynamic)

This document describes the overall FEA processing approach used by Sherlock to predict circuit card
and component reliability. All the capabilities described in this document apply to each of the analysis
types listed above, which are discussed in detail in subsequent chapters.

Chapter Sections:
FEA Integration
FEA Engine
FEA Data Sources
FEA Models
FEA Processing
FEA Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 209
FEA-01 Finite Element Analysis Overview

FEA Integration
Sherlock was designed to work closely with an FEA engine as depicted in the following diagram:

In the pre-processing phase, Sherlock can be used to extract 2D data from electronic design files and
combines it with part, package and material data stored in the Sherlock Data Store to create an accurate
3D FEA model of the circuit card and all components selected for modeling. The 3D model is formatted
as an input deck for the FEA engine and commands are generated to perform the specific FEA simulations
required by each of the appropriate FEA events defined in the project Life Cycle.

During the FEA processing phase, Sherlock can be used to automatically control all FEA processing,
monitor the process for errors and store the analysis results in the file system.

In the post-processing phase, Sherlock can be used to import the 3D model used during FEA processing,
as well as all displacement and strain results (which can be voluminous). Sherlock will then analyze all
of the FEA results using a collection of reliability models designed specifically for electronic components
and will generate a complete set of reliability results, including Predicted Life curves for the circuit card
and predicted damage scores for all components, even for those components that were not specifically
defined in the 3D model.

Advanced users can choose to manage all or part of the FEA processing phase themselves, while still
using Sherlock for the pre-processing and/or post-processing phases. For example, you might use
Sherlock to generate a 3D model of a given circuit card, but then define the external loads and constraints
yourself using the capabilities of the FEA engine. After manually executing one or more tests, you might
then employ Sherlock again to post-process the FEA results to generate reliability results.

FEA Engine

Selecting the FEA Engine


Sherlock supports the following FEA engines: ANSYS Mechanical Classic (Mechanical APDL), Abaqus,
and NX Nastran.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
210 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Engine

The ANSYS Mechanical APDL engine is included in the Sherlock installation directory and is the default
engine for FEA simulations. Calculix is used for Thermal Mechanical analysis but cannot be used as
an FEA engine. The other engines are commercially available and can be easily integrated with
Sherlock if installed on the same workstation

Note:

The Abaqus and NX Nastran engines can only be used in Sherlock if they are specifically
authorized by your Sherlock license file. Contact your Sherlock Sales Representative to
obtain such authorization.

Once installed (following the manufacturer's instructions and licensing procedures), it is relatively
easy to configure Sherlock to use a given FEA engine. Simply select Settings > General Settings
from the Main Menu to display the Sherlock Settings dialog. Then click FEA Analysis on the sidebar
to view the FEA Engine Settings. To change your engine, select the analysis engine you wish to use
from the drop down menu as shown below under Engine Properties (p. 212).

The Analysis Engine list shows all FEA engines authorized by your license file. When changing FEA
Engines, you must indicate where the Abaqus executable is located on your workstation.

For the ANSYS engine, the settings will look something like this:

The ANSYS executable is the default FEA Engine for Sherlock, so there is no need to indicate where
the MAPDL executable is located. The Number of CPUs property allows you to specify the maximum
number of CPUs allocated to each instance of the FEA engine when executed by Sherlock. See the
manufacturer's instructions for the suggested number of CPUs for each engine.

The FEA engine specified in the FEA Settings dialog will be used for all subsequent FEA-related analyses
and processing. No other user interaction is required. The engine used during a specific analysis run
will be displayed in the Summary results panel for documentation purposes.

FEA Analysis Settings


To access the FEA Analysis Settings within Sherlock, select Settings > General Settings from the
top of the Sherlock window, and then select the FEA Analysis tab. Here you will find settings for
Engine Properties, Analysis Properites, Displacement Color, and Strain Color.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 211
FEA-01 Finite Element Analysis Overview

Once you have made changes to the FEA Analysis Settings, you must click Apply or Apply and
Close to save your changes. Clicking the Reset button will restore all settings to their last saved value.
Clicking Restore Defaults will revert all settings to their default values. Click Cancel to exit the dialog
without saving changes.

Each panel in the FEA Enging Settings dialog is explained in the sections below:
Engine Properties
Analysis Properites
Analysis Color Settings
Strain Color Settings

Engine Properties

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
212 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Engine

Analysis Engine: Here you specify the FEA engine that will be used for all subsequent FEA-related
analyses and processing. Ansys is the default FEA Engine. Sherlock also supports Abaqus and NX
Nastran. See also the section above, Selecting the FEA Engine (p. 210).

Note:

The Abaqus, ANSYS and NX Nastran engines can only be used in Sherlock if they are
specifically authorized by your Sherlock license file. Contact your ANSYS Sherlock Sales
Representative to obtain such authorization.

Native RST Reader: Choose whether the native RST Reader is used for processing results or if ANSYS
Mechanical APDL commands are used for processing results.

Mechanical Progress Bar: During FEA Export, this option enables/disables the progress bar in
Mechanical during material assignment and named geometry creation.

Number of CPUs: This option sets the maximum number of CPUs allocated to each instance of the
FEA engine executed by Sherlock. For ANSYS, the recommended value is 4, as shown above. For
other engines, see the manufacturer's instructions for recommendations.

Show FEA Logs: Choose whether FEA logs are included in the analysis results viewer.

Analysis Properites
Options in the Analysis Properties panel are explained below:

Vibe Data Points: This value sets the number of modal analysis database points used for vibration
analysis

Vibration Bias: This value sets the number of vibration points around each natural frequency used
for vibration analysis

Random Vibe Scale Factor: This value sets the scaling factor applied to random vibration analysis.
A default value of 1.95 is used, which is taken from Steinberg’s Vibration Theory.

Model Creation: This option controls how an FEA model is re-created between each analysis. FORCE
will force a complete re-creation of the model while AUTO will use the previously generated mesh
if the mesh settings are identical.

Analysis Color Settings


Options in the Analysis Color Settings panel are explained in the sections below. To see how these
settings affect the graphical display of results, refer to the sections Graphical Result Layers (p. 232)
and 3D Results File (p. 234).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 213
FEA-01 Finite Element Analysis Overview

Max Displacement Type: This defines the Max Displacement Value as PERCENT or EXACT.

Max Displacement Value: This value sets the maximum displacement that will be color-coded in
the graphical results display.

Min Displacement Type: This defines the Min Displacement Value as PERCENT or EXACT.

Min Displacement Value: This value sets the minimum displacement that will be color-coded in
the graphical results display.

Strain Color Settings


Options in the Strain Color Settings panel are explained below. To see how these settings affect
the graphical display of results, see the sections below: Graphical Result Layers (p. 232) and 3D
Results File (p. 234).

Max Strain Type: This defines the Max Strain Value as PERCENT or EXACT.

Max Strain Value: This value sets the maximum strain that will be color-coded in the graphical
results display.

Min Strain Type: Options include PERCENT or EXACT.

Min Strain Value: This value sets the minimum strain that will be color-coded in the graphical
results display.

Strain Map Import


Starting with Sherlock 2020 R1, users can import strain maps. While strain maps are not in the default
acceptable file import list, strain maps can be added through the debug code option. To open the
Debug Settings, select Settings > General Settings from the Sherlock home page and then select
Debug from the Sherlock Setting side panel. Enter “UseStrainMaps” into the Debug Settings text
box. If you have previously entered in debug code, make sure to separate each one with a comma.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
214 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Engine

Afterwards, press the Apply, or the Apply & Close button to apply the debug code. Strain Map
should now show up in the Edit File Properties dialog.

To import a strain map, select the CCA > Add File(s) from the main Sherlock menu or right click Files
> Add File(s) from the Project Tree. Afterwards, navigate to the strain map image that you wish to
import and select Add File.

The strain map we will be using in this example looks like this:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 215
FEA-01 Finite Element Analysis Overview

The strain map image should now appear in the Project Tree under Files:

Right-click the imported strain map image and select Edit Properties. Afterwards, change the File
Type to Strain Map (Image) and then designate the Legend Orientation, Min Strain, Max Strain,
and the Cycle Frequency. Cycle Frequency impacts the cycles to failure, so it is needed even when
running an analysis like Mechanical Shock.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
216 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Engine

After entering in the strain map data, hit Save. The image should now be designated as a strain map
image in the Project Tree.

To align the image to the board, right-click the imported Strain Map image from the Project Tree
and select Edit Layer. This will bring up the imported Strain Map as shown below.

Select the second image tab at the bottom of the window and click Align Board to align the strain
map to the board. You may click and drag the four lines to match the board outline. Afterwards, select
Align Legend and repeat the process. The board outline is blue, and the legend outline is red.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 217
FEA-01 Finite Element Analysis Overview

Afterwards, select Save. The Strain Map is now successfully aligned to the board and is ready for
further analysis. To view the Strain Map in the Layer View, go to Inputs > Layers in the Project Tree
and enable the Strain Map image. The Strain Map replaces the results in the analysis. Sherlock will
not run analysis but instead will do post processing with the Strain Map results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
218 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Engine

Mesh Settings
To access the Mesh Settings within Sherlock, select Settings > General Settings from the top of the
Sherlock window, and then select the Meshing tab.

Legacy Meshing: By default, the Legacy Meshing is DISABLED. When ENABLED, the legacy Sherlock
meshing engine will be used to generate the mesh.

Lead Start ID: This value sets the ID of the first lead in the FEA Model. Lead Start ID does not affect
the mesh. It only impacts the numbering of the node. The default value is 1.

Start Node: This value sets the ID of the first node in the FEA Model. Start Node does not affect the
mesh. It only impacts the numbering of the node. The default value is 1.

Bond Tolerance: This value sets the bond tolerance in mm used when generating FEA bonds. The
default value is 0.10 mm.

Display Quality: This option sets the display quality of the 2D Graphical Result Layers. Options include
Coarse and Fine. When Coarse is selected, each triangular or quad face in the mesh will be rendered
using a single color representing the average of the three or four corner values. The Fine setting
results in smoother edges between colored regions by using smaller triangles and quads using the
midpoint method. This setting has no effect on the FEA results. It simply changes the appearance of
the 2D Results Layer. The default is Coarse. See Graphical Result Layers (p. 232) to see how Display
Quality affects the 2D Graphical Result Layers.

Quads Preferred: Here you select whether the meshing engine will generate quad-shaped or hex-
shaped elements. The default is YES (to Quads Preferred).

Max Mesh Size: This value sets the default mesh size, indicating the maximum length and width of
an element. This setting is only used if there are no values in the analysis mesh settings.

Vertical Mesh Size: Sets the default vertical mesh size. This setting is only used if there are no values
in the analysis mesh settings.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 219
FEA-01 Finite Element Analysis Overview

FEA Data Sources


All the analysis modules provided by Sherlock that make use of FEA allow users to specify the Data
Source to be used to acquire the FEA data, supporting by Generated and Imported data sources. The
Generated data source indicates that Sherlock should handle all aspects of FEA processing, whereas
the Imported data source indicates that the user will handle FEA processing tasks and Sherlock will
handle only pre-processing and post-processing tasks.

Generated Data Source


If the Data Source property is set to Generated then Sherlock will:

• Create a new FEA model based on the currently defined PCB, components, drill holes, etc.

• Submit the model with appropriate commands to the FEA engine for analysis

• Import the results from the FEA engine and

• Generate reliability results based on the FEA results

This approach is the most common and easiest method for FEA processing, with Sherlock doing all
the work.

Imported Data Source


If the Data Source property is set to Imported then Sherlock will:

• Import the designated model and results files from the FEA engine and

• Generate reliability results based on the FEA results

This allows advanced users to create their own FEA models and/or modify an FEA model created by
Sherlock to include elements, constraints and external forces that are not directly supported by
Sherlock. After performing the analysis using the FEA engine, users can then import the FEA results
into Sherlock to perform the reliability analysis.

Note:

ANSYS Sherlock will attempt to extract displacement and strain data for each component
defined in the circuit card, even if those components weren't included in the FEA model
itself. In such cases, all result data found near the component will be used to calculate the
reliability results.

FEA Models
ANSYS Sherlock Sherlock only supports a Bonded 3D FEA model which is available when using a Gen-
erated data source.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
220 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Models

Bonded Model
The Bonded model type uses a method in which the PCB and all components are meshed individually.
Such individual meshing typically yields a more uniform 3D elements for both the PCB and all com-
ponents. After all 3D elements are created, Sherlock then automatically “glues” the components to
the PCB by creating surface/node bonds between each component element and the corresponding
PCB element(s). Uniform 3D elements can improve the accuracy of results, but the constraints required
to define the additional bonds typically increase the analysis time. The bonded method also allows
more complicated models to be created.

Note:

When using a Bonded model, you need to specify a Maximum Mesh Size that is small
enough to ensure that all components can be bonded to the PCB. In general, the Maximum
Mesh Size should be no greater than the smallest component being modeled.

FEA Modeling Properties


Sherlock users can indicate how to model the PCB, parts, mount points, leads, drill holes, heat sinks,
traces, wire bonds and potting regions each time any of the following actions are performed:

• Generate 3D model

• Export FEA Model

• Run FEA Analysis

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 221
FEA-01 Finite Element Analysis Overview

This allows users tremendous flexibility in how they develop, test and use FEA models. For example,
you might want to focus exclusively on the model of the PCB itself to ensure that it behaves as ex-
pected before loading it with parts and other components. That is easily supported by disabling all
other modeling components. As your model is refined, you can selectively add other modeling com-
ponents to the model.

Note:

When modeling disc shaped components, the leads are not connected to the body when
the corner face is set to front back in the 3D model. This is a known limitation in Sherlock.
To remedy this, you should define a flat section on the body to ensure the leads are con-
nected.

Descriptions for each of the property tabs included in the FEA modeling dialogs are provided in the
following User Guide sections:

• PCB Modeling (p. 237)

• Trace Modeling (p. 259)

• Part (p. 305) and Lead Modeling (p. 317)

• Mount Points & Fixtures (p. 243)

• Cutouts and Drill Holes (p. 253)

• Heat Sinks (p. 339)

• Potting Regions (p. 359)

• Mechanical Parts (p. 373)

Refer to those User Guide sections for details and examples. The remainder of this section will describe
how the FEA dialogs are used to generate and examine FEA models.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
222 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Models

Generate 3D Model
There are times when you just want to see how the 3D model will look when submitted for analysis.
In those cases, simply right-click any FEA analysis task in the Analysis folder of the Project Tree and
select the Generate 3D Model menu option. At that point, the Generate 3D Model dialog will appear,
allowing you to specify the components to be included in the model.

If the View Generated Model option is enabled, the Sherlock 3D Viewer will be automatically
launched after the model has been generated so that the model can be viewed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 223
FEA-01 Finite Element Analysis Overview

If a layered PCB model is generated (either Layered or Layered Elements), then the Layer Modeling
panel can be used to selectively enable individual layers. This can be useful when testing the model
for an individual layer or developing a model to be used for documentation or presentation purposes.

Note:

For each analysis task, the choices made in the Generate 3D Model dialog will be re-
membered from one invocation to the next.

Export FEA Model


The Generate 3D Model feature generates elemental models that can be used for testing or docu-
mentation purposes. If you want to export a model for analysis purposes, it is usually best to export
a geometric model specifically tailored for the FEA tool being used. The geometric model generated
by Sherlock can be used as a starting point when building custom FEA models or when performing
custom FEA processing. A good deal of time can be saved over a manual model building approach
because Sherlock automatically:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
224 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Models

• Handles all component size and placement issues

• Assigns material properties to all PCB and component elements

• Defines all bonding surfaces/nodes

• And creates bonding constraints for all components and sub-assemblies

A geometric model can be exported for any FEA-based analysis task by right-clicking the analysis task
icon in the Project Tree and selecting Export FEA Model from the pop-up menu. At that point, the
Export Model dialog will be displayed, as shown below.

The Export Model dialog is similar to the Generate 3D Model dialog in that you can specify which
components are to be included in the model, as well as the individual modeling properties for each
type of component. When generating a layered PCB model, you can also select the individual layers
to be exported.

The File Properties panel allows you to specify the location, name and type of the file to be exported.
You can either enter the location and name of the file directly or use the Browse button to search
for the appropriate export location in the file system. Sherlock supports the following types of export
file formats based on the suffix of the export file name specified:

• Abaqus Python Script (*.py)

• ANSYS APDL Script (*.apdl)

• ANSYS CDB Script (*.cdb)

• ANSYS Workbench Journal (*.wbjn)

• NX Nastran Bulk Data File (*.bdf )

• STEP File (*.stp, *.step)

• STL (*.stl)

The STEP file format can be used to export models from Sherlock to a wide range of 3D design and
analysis packages.

If the Display Model After Export option is enabled, then Sherlock will attempt to launch the applic-
ation associated with the selected file format after the file has been exported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 225
FEA-01 Finite Element Analysis Overview

Note:

Sherlock uses the standard Windows file association mechanisms to launch the appropriate
application. As such, you need to define the associations (usually done by the application
installer) before the Display Model ... option is used.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
226 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Models

Run FEA Analysis


When running an FEA analysis task in Sherlock, the same basic approach is taken to define the com-
ponents to be included in the FEA model as is done when generating the 3D model for review or
exporting the 3D model to an FEA tool. The primary differences are:

• All PCB layers are automatically included in the model and

• Mount points are always included.

Other than those differences, all other aspects are the same and any input changes made in the
Analysis Properties dialog will be remembered and used as the default values in all subsequent uses
of the Analysis Properties, Generate 3D Model or Export FEA Model dialogs.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 227
FEA-01 Finite Element Analysis Overview

FEA Processing
By their nature, FEA simulations may take a while to complete depending on the complexity of the
model being analyzed, the type and number of constraints applied, and the analysis being performed.
More importantly, FEA processing time is not a simple linear function, it is a non-linear function of the
model complexity. That is, if you double the model complexity, the processing time could increase by
a factor of four.

Sherlock is designed to help users manage such processing tasks by (a) launching separate FEA processes
for each analysis task and (b) providing feedback for currently running tasks. Separate processes allow
users to launch multiple analysis tasks at the same time, provided that their workstation has sufficient
CPU and memory resources, and that their FEA engine license supports the number of instances required.
The Number of CPUs property in the FEA Settings dialog controls the maximum number of CPUs to
be used by each FEA engine.

To help manage background processing tasks, an hour-glass icon is displayed in the project tree next
to the processing task node. When the FEA process has completed successfully, a GREEN check mark
icon will be displayed next to the processing task node, indicating that the analysis results are ready
for review.

You can also view the Task Monitor (accessed from the Help menu) to monitor all currently active
processing tasks, as shown here:

The Task Monitor shows all background processing tasks and their current status. During FEA processing
the Notes entry will change indicating which part of the analysis is being performed. The Task Monitor
also shows the total amount of memory being consumed by Sherlock to process the results.

Memory Usage Fields in the Sherlock Task Monitor:

Max Memory is the maximum amount of memory available to Sherlock based on the Launcher
Setting (p. 6) Max Memory Size. This number is usually slightly smaller than configured due to
process overhead.
Active Memory is the total amount of memory Sherlock is currently using for processing.
Reserved Memory is the highwater mark of active memory that Sherlock has used for processing.
Any reserved memory not being used is available to Sherlock for re-use before requesting additional
memory from the operating system.
Free Memory is the total amount of unallocated memory and non-active reserved memory available
to Sherlock.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
228 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Results

When analyzing large projects, Sherlock may run slowly even if the computer has ample amounts of
memory. This is likely a Java issue.

Note:

Since the FEA process itself is performed in a separate O/S process, the memory consumed
by that process can only be viewed using O/S performance analysis tools, such as the
standard Windows Task Manager.

FEA Results
The analysis modules that use FEA techniques generate similar results, which usually includes a Summary
Panel, one or more tabular results, one or more graphical results layers and a 3D results file. We now
discuss some of the common features for these results.

Summary Panel
In addition to module-specific summary results, each FEA module displays a summary of Board
Properties, PCB Properties and Analysis Process Times. Such information is most useful when re-
viewing results at a later time to determine which model was being used during the analysis. Shown
below is an example of a Harmonic Vibe result:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 229
FEA-01 Finite Element Analysis Overview

The Board Properties section indicates the complexity of the FEA model used during the analysis.
Processing time is generally related to the number of elements contained in the model. The number
of parts, mount points, and holes are also provided for reference purposes. The number of nodes and
elements here are for the PCB itself and does not include all other objects in the model. The numbers
generated are specifically the number of nodes and elements generated for a single layer of the PCB.
In this case, since the board is three layers, there are three times as many elements for the PCB as
shown here.

The PCB Properties section indicates the settings used when the PCB model was created. In this
case, a Bonded model was generated. The Quads Preferred option toggled to YES indicates that
quad elements were desired in the mesh, as confirmed by the Quad Percentage value of 0.989.

The Part Properties section indicates the setting used when the part models were created. In this
case, the Min Part Size to be included in the analysis is 0 mm, indicating that all parts were included
for analysis. You can also see how the part mesh settings differ from the PCB mesh settings, making
both mesh settings customizable.

The Analysis Process section indicates which FEA engine was used for the analysis, the number of
CPUs used and some of the key processing times. In this case, a majority of the time was spent ana-
lyzing the model, as opposed to processing the FEA results and generating the reliability results. As

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
230 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Results

mentioned earlier, ANSYS is the default analysis engine. If you choose to use NX Nastran or Abaqus,
that engine will be shown in the analysis process panel when you run the analysis.

Tabular Results
If Part Modeling is enabled, you can filter the list to see only the parts that interest you. Tabular
FEA Results are generated to show the maximum displacement and strain values experienced by
each part during the simulation, as well as the score assigned to each part. Additionally, for part
materials which have a fracture strength defined, Sherlock will compare the maximum part strain
against the part material fracture strength and indicate if the component may be at risk for cracking.
For example, here's a tabular result for the Mechanical Analysis module:

In this case, most parts have been colored RED, indicating that they were assigned a score below 3.0.
Such color coding provides a quick and easy way to determine which parts need to be examined in
detail. By default, the following coloring scheme is used for FEA results:

You can customize the score-color mapping by using the Settings > General Settings > Score dialog
to specify different cutoff values for each status color. The score-color settings will be used the next
time that the analysis module is executed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 231
FEA-01 Finite Element Analysis Overview

Graphical Result Layers


All FEA modules generate 2D graphical layers that show the scores assigned to each part, the result
of component cracking analysis, and the maximum displacement and strain values experienced by
the PCB during the simulation. Such 2D displays are useful for quickly determining which regions of
the PCB need improvement.

For example, the following layer shows the score assigned to each part as the result of an ICT analysis.
The score-color mapping is the same as that used for the ICT tabular results.

Displacement and strain results are displayed using a color spectrum to show the range of values
across the entire PCB. The exact mapping of displacement values to the color range depends on the
Displacement Color Settings defined in the Setting > General Settings > FEA Analysis dialog, as
shown below.

Specifically, all values above the Max Displacement Value will be colored RED, while all values below
the Min Displacement Value will be colored BLUE. All values in between those values will be colored

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
232 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Results

using the corresponding spectrum color. In this case, the min and max values are defined as percent-
ages, indicating that color spectrum covers the middle 98% of the result values.

The Display Quality property found in the Settings > Meshing dialog can also be used to alter the
display properties for 2D graphical result layers, supporting both Coarse and Fine display modes.
The Coarse setting indicates that Sherlock should render each triangular or quad face in the mesh
using a single color representing the average of the 3 or 4 corner values. If the Fine setting is selected,
then the layer will appear to have smoother edges between the colored regions. Such an effect is
achieved by rendering each triangle used in the analysis results by four smaller triangles that use the
triangle mid-point nodes. Similarly, each quad used in the model will be rendered by a smaller quad
and four triangles that use the mid-point nodes. Keep in mind, the Display Quality setting has no
effect on the FEA results themselves, it simply changes the appearance of the result layers for display
purposes.

For example, this image shows strain results using the Coarse setting:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 233
FEA-01 Finite Element Analysis Overview

As opposed to this image that is displayed using the Fine setting:

The smaller triangles with interpolated results not only smooth out the colored regions, but they
provide better clarity. The fine layer clearly shows areas of high strain along the edge of each IC,
which are not as apparent in the coarse rendering. All results are the same, just easier to see when
using the fine setting.

3D Results File
In addition to the 2D graphical results layers, FEA modules also generate a 3D results file containing
the complete 3D elemental model, as well as color mappings for each of the analysis results. For ex-
ample, here's a 3D representation of the tutorial board:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
234 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Results

The 3D model and/or results can be viewed by right-clicking any FEA module entry in the Project
Tree and selecting the View 3D Model or View 3D Results options in the pop-up menu. See the
Sherlock User Guide - Results Management (p. 663) chapter for more details.

Log Files
If the Show FEA Logs option is enabled in the Settings > General Settings FEA Settings dialog
under Engine Properties, then a Log Panel will be displayed along with the other analysis results
engine during the analysis process. Advanced users can review such log data to determine if everything
was processed as expected and/or to trouble-shoot FEA processing issues.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 235
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
236 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 14: FEA-02a PCB Modeling
ANSYS Sherlock creates a 3D Finite Element Analysis (FEA) model using the circuit card data extracted
from 2D layer files, Pick & Place files, the Parts List and from the PCB stack up information. The type of
model created depends on the tool that will be used to analyze the model.

If the PCB model is being used by Sherlock to automatically perform an FEA analysis task, an Elemental
Model will be generated. Elemental Models consist of a collection of 3D elements (either wedges or
bricks) that fill the volume contained by the PCB outline, minus any holes or cutouts. The shape of the
elements is determined automatically by Sherlock using an internal meshing algorithm. Sherlock can
generate a Elemental Models that are Bonded to support a range of analysis approaches. In a Bonded
Mesh Model (p. 221), Sherlock meshes the PCB independently of the parts, allowing both the PCB and
part elements to be more uniformly shaped.

If the PCB model is being exported by Sherlock to an FEA tool for analysis outside of Sherlock, a geo-
metric model can be generated. Geometric models consist of a collection of 3D volumes that are defined
using the input commands provided by a given FEA tool. Unlike Elemental Models, that define the ac-
tual elements used for the FEA analysis, the volumes defined by the geometric models only define the
shape of the objects to be modeled. Then, the native meshing algorithms provided by the FEA tool are
used to generate the elements required for analysis.

You can choose to export the Bonded Elemental Models to Abaqus, ANSYS Mechanical and NX Nastran
FEA tools. These tools can then import the orphan mesh created by Sherlock and incorporate the ele-
ments into a larger model or simply perform custom analysis on the mesh model created by Sherlock.
Also, you can choose to export a hybrid model that includes mesh elements (created by Sherlock) for
some regions of the PCB and geometric volumes (meshed by the FEA tool) for other regions of the PCB.
See the section on Modeling Regions (p. 279) for more details.

This section describes how the Bonded Models are generated by Sherlock and how you can control
what is contained in those models.

Chapter Sections:
PCB Models
PCB Modeling Properties
PCB Model Tradeoffs

PCB Models
Regardless of the type of model being generated (Bonded or Geometric), Sherlock automatically assigns
material properties to each of the PCB elements/volumes based on the percentage of metal, resin, and
laminate materials contained in the PCB layers. That is, Sherlock determines the average material
properties for each region of the PCB based on all the known design data, creates virtual materials in
the FEA input deck, and then assigns those materials to the appropriate elements/volumes defined in

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 237
FEA-02a PCB Modeling

the model. This eliminates one of the most time-consuming and error-prone manual tasks required for
FEA analysis of PCBs, making it one of Sherlock's most valuable features.

The exact method used to determine the average material properties for each PCB region depends on
how the PCB regions are defined. Sherlock supports four different approaches for modeling the PCB,
including the following PCB models:

• Uniform

• Layered

• Uniform Elements

• Layered Elements

Each PCB model defines both how the PCB elements are created and how material properties are assigned
to each element. We now discuss the differences between these models.

Uniform Model
The Uniform Model creates a homogeneous set of elements to model the PCB. Each element spans
the vertical space from the bottom face of the PCB to the top face of the PCB and the same material
properties are assigned to each of the PCB elements, as shown in the following example.

The material properties are based on the percentage of metal, resin and laminate materials found
throughout all layers of the PCB. Numeric values for the uniform material properties can be found in
the Stackup panel.

Layered Model
The Layered Model creates individual elements for all PCB layers and assigns the same material
properties to all elements on a given layer. As shown in the following example, which is color coded
by elasticity, the thin signal layers are sandwiched between the relatively thicker laminate layers.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
238 of ANSYS, Inc. and its subsidiaries and affiliates.
PCB Models

The material properties for each layer are based on the percentage of metal, resin and laminate ma-
terials found in each layer. The elements defined for each layer share nodes with the elements in the
layers above and below, eliminating the need for surface ties in the FEA model.

Uniform Elements Model


The Uniform Elements Model creates elements like the Uniform Model that span the entire thickness
of the PCB, but it assigns individual material properties to each element based on the percentage of
materials covered by the element itself.

As shown in the example above, which is color coded by elasticity, the Uniform Elements Model
generates the same number of elements as the Uniform Model but assigns more localized material
properties.

Layered Elements Model


The Layered Elements Model creates elements like the Layered Model that only span a given PCB
layer, but it assigns individual material properties to each element based on the percentage of mater-
ials covered by the element itself.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 239
FEA-02a PCB Modeling

This model is the most detailed PCB model provided by Sherlock, generating the greatest number of
PCB elements and the most localized material properties. The elements defined for each layer share
nodes with the elements in the layers above and below, eliminating the need for surface ties in the
FEA model.

PCB Modeling Properties


All the FEA models generated by Sherlock depend on a collection of PCB Modeling Properties that
define how the elements/volumes are generated. Some of these properties are ignored when exporting
a geometric model, depending on the specific FEA tool being targeted.

• The Mesh Type property specifies the type of model being generated, Bonded or None.

The Bonded choice is available when executing FEA analysis directly from Sherlock or when exporting
a Calculix Input Script using the Export FEA Model dialog.

The None choice is available when exporting Geometric Models for specific FEA tools or when export-
ing for non-vendor specific formats such as STEP. The None choice means that just the Geometric
Model, without meshing commands, will be imported.

• The PCB Model property specifies how the elements and material properties are defined for the PCB,
based on the currently defined layer and stackup properties, as described above.

• The Element Order property indicates the type of FEA element to be used to model the PCB. First
order elements (that is, 8 node bricks and 6 node wedges) result in reduced analysis time, but stiffer
elements. Second order elements (that is, 20 node bricks and 15 node wedges) more accurately
model bending and twisting of the PCB but result in longer analysis times. Shell elements provide
the fastest analysis times, in exchange for a cruder approximation of the mechanical properties of
the PCB.

• The Max Mesh Size property specifies the desired size of the elements to be generated. The smaller
the Max Mesh Size, the more accurate the results, but the greater the amount of memory and CPU
processing required during the processing. In general, you should use a large mesh size initially to
generate approximate results using a relatively small amount of memory and CPU resources. When
you need more accurate results, you can then decrease the mesh size and re-run the analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
240 of ANSYS, Inc. and its subsidiaries and affiliates.
PCB Modeling Properties

• The Vertical Mesh Size property specifies the desired height of the elements used to model the
entire PCB (for Uniform and Uniform Elements models) or for each layer (for Layered and Layered
Elements models).

• The Quads Preferred property specifies whether the meshing engine should attempt to generate
quad-shaped or hex elements when creating the mesh. If quad-shaped elements cannot be generated,
then triangular elements will be used.

PCB Material Management


The Uniform Elements and Layered Elements Models can generate many different PCB materials de-
pending on the metal, resin and laminate materials assigned to each layer, as well as the percentage
of metal contained by each element on each layer. Large numbers of material definitions are generally
not a problem for the FEA engines supported by Sherlock, but they make it more difficult for users
to manually view and/or modify the resulting 3D models. Furthermore, the small differences between
the generated material properties often have little or no impact on the FEA results. Therefore, users
can control the number of PCB materials generated by specifying the # of PCB Materials property
whenever generating a Bonded 3D model.

The # of PCB Materials value is used by Sherlock to quantize the conductor percentage used when
computing the material properties of each element on each layer. For example, if a value of 10 is
specified, then at most 11 unique percentages (0.0, 0.1, 0.2, ... 1.0) will be used to combine the con-
ductor and dielectric material properties for each element on each layer. The actual percentages de-
termined by processing each layer will be rounded to the nearest quantized percentage before
computing the material properties.

The # of PCB Materials property only controls the number of unique conductor percentages used
on each layer, it does NOT set the upper limit for the number of PCB materials generated across all
layers. The actual number of PCB materials required is determined by the value (N) specified by the
user, the specific conductor and dielectric materials assigned to each layer, and the PCB model being
generated, as we now explain.

For the Layered Elements Model, the approach described above ensures that at most N+1 unique
materials will be generated for a given layer. If the same conductor and dielectric materials are used
across a number of layers, then all of the layers will share the same N+1 material definitions. Layers
that use different conductor or dielectric materials will usually generate a different set of at most N+1
material definitions. Therefore, for a PCB with L layers, the maximum number of materials generated
is L * (N+1) in the situation when all layers have different materials assigned.

For the Uniform Elements model, the total number of materials generated depends on the unique
combinations of conductor percentages that are computed for each element and each layer. For ex-
ample, consider a single mesh element for a two-layer board (2 signal layers and 1 laminate layer).
The conductor percentages inside of that element might be 50% on top, 0% in the middle and 20%
on the bottom. Since the Uniform Elements model averages material properties across all layers for
each element, the resulting material can be represented by the tuple (50, 0, 20). Since each entry in
the tuple can take on N+1 values, the total number of combinations can theoretically be (N+1) *
(N+1) * (N+1). The exact number depends on the specific materials assigned to each layer and the
number of unique tuples generated. Sherlock automatically combines resulting materials that are
numerically similar, but you should always expect to see more materials generated for the Uniform
Elements model than for the Layer Elements model because of combinatorial complexity.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 241
FEA-02a PCB Modeling

PCB Model Tradeoffs


The choice of PCB model to be used comes down to a basic tradeoff between accuracy of results and
analysis time. For example, the following table shows some results for running an ICT analysis of the
relatively simple tutorial board with a 10 mm mesh when using all four PCB models.

Table 14.1: 10mm ICT Analysis

Number of Meshing Analysis Maximum Maximum


Elements Time (sec) Time (sec) Displacement Strain
Uniform 1,316 2.4 1.5 3.1 mm 6.6
Layered 10,029 2.4 30.5 3.2 mm 6.5
Uniform 1,319 13.3 1.6 3.1 mm 6.6
Elements
Layered 10,008 13.4 29.4 3.2 mm 8.3
Elements

Of the two tradeoff properties, analysis time is the easiest to predict. In general, the fewer the number
of PCB elements, the faster the FEA analysis time will be. As such, the Uniform and Uniform Elements
Models will almost always result in lower analysis times than the Layered and Layered Elements Models.
In the example above, the Uniform models generate roughly 1,300 elements and take only 1.5 seconds
to analyze, as compared to 10,000 elements and 30 seconds for the Layered models.

Although the analysis time is the most important time for real-world circuit card modeling, the meshing
time is also a direct function of the type of PCB model used. Specifically, the Uniform Models take less
time to mesh because only a few average material properties need to be determined, whereas the
Elements Models need to compute individual material properties for all elements. Individual material
properties are computed by examining all PCB layers and determining the percentage of metal, resin
and laminate materials that fall inside of each element outline.

It is difficult to make a general conclusion about the accuracy of results provided by the various PCB
models. Such a determination depends on the actual distribution of materials throughout a PCB, as
well as the placement of all parts, mount points and loads. In the example above, based on the relatively
simple tutorial board, the first three models yield basically the same maximum displacement and strain
results, while the Layered Elements model yields a higher maximum strain value. Of course, maximum
displacement and strain values don't tell the whole story either, because Sherlock uses localized strain
values to predict component failures. In general, the models that assign localized material properties
(Uniform Elements and Layered Elements) should yield the most realistic FEA results, but it is always
prudent to compare the values from each model to real-world test results to see which correlates the
best.

Such tradeoffs also exist for the Element Order and Element Shape characteristics of the generated
model. It is sometimes wise to use second order elements for parts, while using only first order or shell
elements for the PCB itself to reduce overall analysis type. Similarly, depending on the FEA tool being
used, wedge elements may be accurate enough for preliminary testing purposes, while helping to reduce
overall analysis time.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
242 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 15: FEA-02b Mount Points and Fixtures
For ANSYS Sherlock to analyze a circuit card using FEA simulations, the circuit card must be constrained
in one or more places in order to ensure that the circuit card doesn't oscillate wildly during the simulation.
In the real-world, mount points are represented by a wide variety of components, including mechanical
screws, plastic stanchions, aluminum standoffs, edge-connectors, etc. In Sherlock, such constraints are
defined by one or more Mount Points or Fixtures that are attached to the circuit card. Furthermore,
to reduce data input and FEA processing complexity, Sherlock defines four different types of mount
points, including:

• Mount Hole

• Mount Pad

• Standoff

• Support Pin

In most situations, these four types of mount points are enough to model real-world constraints on the
circuit card. This document discusses how mount points are defined and used in Sherlock for FEA pro-
cessing.

Note:

In Sherlock, the terms Mount Point and Fixture are essentially synonymous, except that
Fixtures are used only by the ICT Analysis module, whereas Mount Points are used by all
other FEA modules.

Chapter Sections:
Mount Point & Fixture Types
Mount Point Management
Fixture Management

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 243
FEA-02b Mount Points and Fixtures

Mount Point & Fixture Types


The following types of mount points and fixtures are supported in Sherlock:

A Mount Hole is modeled as a collection of constrained points on the PCB surface. Mount Holes can
be constrained by either the Center or Outline nodes used to define the hole. A rigid body constraint
connects the Center node to the Outline nodes in the FEA model. As such, both approaches effectively
prevent the PCB from rotating at the hole location.

A Mount Pad is modeled as a 3D solid with a given length, width, height and material. A Mount Pad
is attached at one end to the top or bottom of the PCB and is constrained by all nodes on the face
furthest from the PCB, thereby preventing the PCB from rotating around that face.

A Standoff is modeled the same as a Mount Pad, except that it is constrained by only the center point
of the face furthest from the PCB. The PCB is free to rotate around the constrained center node.

A Support Pin is modeled as a single constrained point on the PCB surface. The PCB is free to rotate
around the constrained node.

By combining one or more of these mount point types, with appropriate constraints, users can model
a large number of circuit card constraint situations.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
244 of ANSYS, Inc. and its subsidiaries and affiliates.
Mount Point Management

Mount Point Management


Mount points are viewed and edited using the circuit card Layer Viewer.

Viewing Mount Points


To display all currently defined mount points:

• Double-click the Layers node in the project tree to display the Layer Viewer.

• Expand the Mechanical folder in the Layers list as necessary.

• Enable the Mount Points layer.

By default, mount points are displayed as solid black elements in the Layer Viewer. As shown in this
example, mount points can be seen in each of the four corners of the circuit card.

The gray circles next to some of the mount points are large diameter drill holes that are not currently
designated as mount points.

Note:

By default, mount points are displayed as black regions in the Layer Viewer. You can cus-
tomize the color using the Settings > Color Settings option in the Main Menu.

Sherlock automatically designates large drill holes as mount points whenever a drill file is processed
AND no mount points are currently defined. If you have to re-parse the drill file to correct a problem,
you should delete all mount holes prior to re-parsing the drill file so that the newly parsed drill holes
will be used.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 245
FEA-02b Mount Points and Fixtures

Adding Mount Points


To add a mount point to the circuit card, select the Edit > Edit Mount Points option in the Layer
Viewer menu. At that point, the Mount Point Editor buttons will appear at the bottom of the Layer
Viewer as shown here:

A mount point can be added either by:

• Left-clicking an existing drill hole while holding down the SHIFT key

• Or right-clicking in the circuit card and selecting Add Mount Point from the pop-up menu.

When adding a drill hole as a mount point, a black circle will be displayed and the mount point will
be automatically selected, allowing you to edit properties.

When using the Add Mount Point menu option, the mount point settings dialog will be displayed
immediately, with the current mouse location automatically entered as the center point for the new
mount point. You are free to alter any of the mount point properties, including the center location,
as discussed in the next section. When the Save button is pressed, the new mount point will be created.

When adding a mount point with shape Polygonal after clicking the Save button in the dialog, use
Shift-Left-click to define each of the nodes that make up the shape of the mount point. When the
mount point is complete, click the Done button in the editor and the mount point will be created.

Modifying Mount Points


When the Mount Point Editor mode is enabled, the following mouse controls can be used to select
or modify mount points and fixtures:

• Shift-Left-click any mount point to select only that mount point

• Shift-Left-click and drag to select one or more mount points within a rectangular region

• Control-Left-click to add/remove a mount point from the selection set

Selected mount points and fixtures will be displayed with a red border and control points. Once se-
lected, mount points and fixtures can be moved to a new location by left-clicking inside any of the
selected mount points or fixtures and dragging them to the desired location. When more than one
mount point or fixture is selected, all objects will be translated by the same amount, thereby staying
in the same relative positions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
246 of ANSYS, Inc. and its subsidiaries and affiliates.
Mount Point Management

The red control points can be used to graphically scale an individual object. The exact transformation
performed depends on the shape of the object being scaled. For example, with a rectangular mount
point, the point opposite that selected will remain fixed, while the selected control point and the two
adjacent control points are scaled to match the current mouse location. On the other hand, with a
circular mount point, when any control point is dragged, the center of the mount point will remain
fixed and the diameter of the mount point will be scaled to match the current mouse location. Such
an approach makes it easier to translate and scale mount points as needed to graphically place them
in a desired location and orientation relative to other PCB features.

In addition to the mouse actions used to select mount points and fixtures, the following mouse actions
can be used to add new mount points or edit properties for existing mount points:

• Right-click anywhere in the PCB to add a new mount point.

• Right-click a mount point to display the pop-up menu.

The mount point pop-up menu provides options for:

• Editing mount point properties

• Moving, scaling and rotating mount points

• Merging mount points

• Adding, copying and deleting mount points

• Suppressing mount points from FEA models

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 247
FEA-02b Mount Points and Fixtures

Mount Point Properties


The Mount Point Properties dialog is displayed whenever the Add Mount Point or Edit Properties
options are selected in the mount point pop-up menu, allowing users to specify exact shape and
location properties, as well as the FEA constraints associated with the mount point.

The exact forms and fields displayed in the property dialog depend on the type of mount point being
viewed.

The Mount Point State property allows a mount point to remain defined on the circuit card, but not
be included in any FEA models.

The Shape Type property defines the geometric shape of the mount point, which controls how it
can be edited. The following shape types are supported:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
248 of ANSYS, Inc. and its subsidiaries and affiliates.
Mount Point Management

Table 15.1: Shape Types

Rectangular Defined by length and width dimensions, a center location


and an angle of rotation.
Circular Defined by a diameter, number of nodes, a center location
and an angle of rotation.
Slot Defined by length and width dimensions, number of nodes,
a center location and an angle of rotation.
Polygonal Defined by a set of node locations and an angle of rotation.
PCB Defined by the outline of the PCB. Only available for mount
pads and standoffs.

The Circular and Slot shapes allow you to specify the number of nodes to use when approximating
arcs used to form those shapes. For circular shapes, the nodes are evenly spaced along the circumfer-
ence of the circle. For slot shapes, 4 nodes are used to define the rectangular part of the slot and the
remaining nodes are evenly spaced along the semi-circles on both ends of the slot.

For all shapes, an angle of rotation can be specified to rotate the shape in the XY plane. When scaling
shapes graphically using the control points, the angle of rotation is preserved, and the shape dimen-
sions are automatically updated to reflect the scale operation.

The FEA Settings form lists the types of constraints that can be applied to the mount point. As dis-
cussed above, the application of the constraints in the FEA model depends on the Type of mount
point specified. Rotational constraints are applied by selecting the appropriate type.

For mount pads and standoffs, the estimated weight is displayed when viewing mount point properties.
This is a read-only property only intended for reference.

Mount Point Multi-Edit


Multiple mount points may be selected, and the properties of those mount points updated at the
same time. When the properties for more than one mount point are edited at the same time, any
mount point property which varies between the selected mount points will display the value <VARI-
OUS>. Any field which is left as the value <VARIOUS> when saving the form will leave the original
mount point value specified for that given field. Any other field values will be assigned to all selected
mount points.

When editing multiple mount points, if the original mount points had different FEA constraints assigned,
then the FEA constraints for all the mount points being modified will not be able to be modified.
This field will be disabled.

Multiple mount points may only be edited at the same time if the mount points are of the same type
and shape type.

Saving Mount Point Changes


After adding, modifying or deleting mount points, you should press the Save or Apply buttons at
the bottom of the Layer Viewer to save your changes. The Apply button will save the changes but
keep the editor open, allowing you to make additional changes. The Save button saves the changes
and automatically closes the editor.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 249
FEA-02b Mount Points and Fixtures

Mount Point Results


When mount pads or standoffs are enabled for FEA analysis, the corresponding analysis results for
mechanical shock, vibration, ICT, and thermal mechanical will each include a results table for each
mount point or fixture.

Fixture Management
ICT Fixtures are viewed and edited using the circuit card Layer Viewer. As noted at the beginning of
the chapter, since ICT Fixtures and Mount Points are essentially synonymous, the Fixture Editor works
the same as the Mount Point Editor as previously described.

Viewing Fixtures
To display all currently defined fixtures:

1. Double-click the Layers node in the project tree to display the Layer Viewer.

2. Expand the Mechanical folder in the Layers list as necessary.

3. Enable the Fixtures layer.

Note:

By default, fixtures are displayed as solid purple elements in the Layer Viewer. When se-
lected, a fixture is highlighted in red. In the example below, one fixture can be seen on
the left side of the circuit card:

By default, fixtures are displayed as purple regions in the Layer Viewer. You can customize the color
using the Settings > Color Settings option in the Main Menu.

Adding Fixtures
To add a fixture to the circuit card, select the Edit > Edit ICT Fixtures option in the Layer Viewer
menu. At that point, the Fixture Editor buttons will appear at the bottom of the Layer Viewer.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
250 of ANSYS, Inc. and its subsidiaries and affiliates.
Fixture Management

To add a fixture, simply right-click the circuit card at the approximate location for the fixture and select
Add Fixture from the pop-up menu. At that point, the Add Fixture dialog will appear, indicating the
default properties to be assigned to the new fixture. You may define a fixture similar to how a mount
point is defined.

Modifying Fixtures
As detailed previously for Modifying Mount Points, the fixture editor behaves the same way with
all the same controls and properties as defined for mount points.

Using Mount Points as Fixtures


Fixtures may also be created by copying data from the existing mount points. You may select one or
more mount points in the fixture editor, use the right-click menu to select Copy as ICT Fixture. It
will use the selected mount points data to create new fixtures. In the fixture editor you may only select
a set of mount points or a set of fixtures, may not have mix selections.

Saving Fixture Changes


After adding, modifying or deleting fixtures, you should press the Save or Apply buttons at the
bottom of the Layer Viewer to save your changes. The Apply button will save the changes but keep

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 251
FEA-02b Mount Points and Fixtures

the editor open, allowing you to make additional changes. The Save button saves the changes and
automatically closes the editor.

Note:

When importing ICT results, at least one fixture must be defined for Sherlock to post-process
these results and provide time-to-failure predictions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
252 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 16: FEA-02c Cutouts and Drill Holes
ANSYS Sherlock models two types of PCB voids: namely cutouts and drill holes. In this section, we describe
how these modeling components are defined and how they can be used when generating 3D FEA
models.

Chapter Sections:
Cutouts
Drill Holes

Cutouts
Cutouts may be circular, rectangular or any polygonal shape. Cutouts may overlap the PCB outline,
thereby modifying the PCB outline itself, and may be edited manually and/or loaded from a cutout
definition file. Cutouts are always included by Sherlock when generating an FEA model.

Cutout Viewing
For this user guide, we will be working on the Auto Relay project. To open the Auto Relay project,
import the Auto Relay [Link] file located in the Sherlock tutorial folder. Cutouts can be viewed
in the Layer Viewer by enabling the Mechanical > Cutouts selection in the Layers control panel.
Shown in this example, cutouts are displayed using the light cyan color and they can take on a variety
of shapes and orientations.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 253
FEA-02c Cutouts and Drill Holes

In this example, there is a rectangular cutout at bottom-center, a circular cutout just above it and a
slot shaped cutout rotated 45 degrees in the lower-right section of the PCB.

Cutout Editing
Cutouts can be added, deleted, and edited using the Edit > Edit Cutouts menu option available in
the Layer Viewer to enter the Cutout Editor mode. As shown in this example, cutouts are displayed
using the light cyan color and they can take on a variety of shapes and orientations.

When the Cutout Editor mode is enabled, the following mouse controls can be used to select or
modify cutouts:

• Shift-Left-click any cutout to select only that cutout.

• Shift-Left-click and drag to select one or more cutouts within a rectangular region.

• Control-Left-click to add/remove a cutout from the selection set.

Selected cutouts will be displayed with a red border and control points. Once selected, cutouts can
be moved to a new location by left-clicking inside any of the selected cutouts and dragging them to
the desired location. When more than one cutout is selected, all cutouts will be translated by the
same amount, thereby staying in the same relative positions.

The red control points can be used to graphically scale an individual cutout. The exact transformation
performed depends on the shape of the cutout being scaled. For example, with a rectangular cutout,
the point opposite that selected will remain fixed, while the selected control point and the two adjacent
control points are scaled to match the current mouse location. On the other hand, with a circular
cutout, when any control point is dragged, the center of the cutout will remain fixed and the diameter
of the cutout will be scaled to match the current mouse location. Such an approach makes it easier
to translate and scale cutouts as needed to graphically place them in a desired location and orientation
relative to other PCB features.

In addition to the mouse actions used to select cutouts, the following mouse actions can be used to
add new cutouts or edit properties for existing cutouts:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
254 of ANSYS, Inc. and its subsidiaries and affiliates.
Cutouts

• Right-click anywhere in the PCB to add a new cutout

• Right-click a cutout to display the pop-up menu

The cutout pop-up menu provides options for:

• Editing cutout properties

• Moving, scaling and rotating cutouts

• Merging cutouts

• Adding, copying and deleting cutouts

• Converting a cutout to a mount point

Cutout Properties
The Cutout Properties dialog is displayed whenever the Add Cutout or Edit Properties options are
selected in the cutout pop-up menu, allowing users to specify exact shape and location properties
as needed.

The Shape Type property defines the geometric shape of the cutout, which controls how it can be
edited. The following shape types are supported:

Table 16.1: Shape Types

Rectangular Defined by length and width dimensions, a center location


and an angle of rotation.
Circular Defined by a diameter, number of nodes, a center location
and an angle of rotation.
Slot Defined by length and width dimensions, number of nodes,
a center location and an angle of rotation.
Polygonal Defined by a set of node locations and an angle of rotation.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 255
FEA-02c Cutouts and Drill Holes

The Circular and Slot shapes allow you to specify the number of nodes to use when approximating
arcs used to form those shapes. For circular shapes, the nodes are evenly spaced along the circumfer-
ence of the circle. For slot shapes, 4 nodes are used to define the rectangular part of the slot and the
remaining nodes are evenly spaced along the semi-circles on both ends of the slot.

For all shapes, an angle of rotation can be specified to rotate the shape in the XY plane. When scaling
shapes graphically using the control points, the angle of rotation is preserved, and the shape dimen-
sions are automatically updated to reflect the scale operation.

Drill Holes
Drill holes are always circular and are defined in one or more drill hole definition files. Drill holes may
not be entered or edited manually, but they may be included or excluded from an FEA model as needed
or filtered based on their size.

Drill Hole Files


Drill holes are defined in Sherlock by adding one or more drill hole definition files to a CCA. When
importing archive files like ODB++ and ODB XML, the drill hole files are automatically pulled from
the archive and added by Sherlock during the import process. Holes that are not through the entire
board are only supported by the Trace Reinforcement Export (p. 266) feature, not for FEA model export
or analysis.

To control how a drill hole file is parsed, right-click the file name, in this case [Link] in the Files
folder found in the Project Tree and select the Edit Properties menu option. At that point, the Edit
File Properties dialog will appear, and you should select the appropriate File Type for the file being
parsed. In the example shown here, an Excellon Drill File is being parsed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
256 of ANSYS, Inc. and its subsidiaries and affiliates.
Drill Holes

The Coordinate Format and Coordinate Units properties specify the format of the units used in the
file. Typically, the file contains commands that are used by Sherlock to automatically override the
values specified in this dialog. In some cases, however, the drill file may not contain any indication
of the coordinate format being used. Typically, the EDA tool that generated the drill file generates a
human-readable text file that includes the required information.

The Coordinate Type property indicates if the movement commands contained within the drill file
use absolute or relative coordinates when moving from one hole to another. In almost all cases, ab-
solute coordinates are used, which is the default property value.

Drill files save disk space by dropping either leading or trailing zeros from coordinates, which is spe-
cified by the Zero Format property. In most cases, trailing zeros are dropped, which is the default
property value.

Start Copper Layer and End Copper Layer are the layers where the copper begins and ends respect-
ively. This information may be contained in the ODB++ archive or manually entered by the user.
Sherlock will automatically detect the start and end layer of each drill hole for ODB ++ and IPC-2581
archives only. For all other supported hole formats, the user must specify this information in the Drill
Hole File Properties dialog.

Plating Material and Plating Thickness specify the material and its thickness used to plate the hole.

The Capped property indicates whether the drill hole is effectively open or closed. If Yes is selected,
a layer of plating material is added on each end.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 257
FEA-02c Cutouts and Drill Holes

Fill Material, which is valid only for buried/core vias, sets the material used to fill the via. Sherlock
does not model this part of the via, but it uses this data to compute the effective material properties
of the beam created to simulate the via.

Drill Hole Modeling


Drill holes can be enabled or disabled in a given PCB model using the Drill Holes properties tab in
any of the FEA dialogs. When enabled, drill holes will be included in all PCB layers, using the specified
properties to form each hole.

The Min Hole Diameter property specifies the smallest hole to be included in the FEA model. This
allows users to ignore small holes that increase the complexity of the PCB model but may have little
or no impact on the FEA results.

The Max Edge Length property specifies the maximum segment length that can be used when
converting the circular drill holes to polygons in the mesh. Smaller segment lengths result in an increase
in the number of elements generated around each hole, which could result in less accurate elements.
For example, the left image below shows drill holes modeled using a value of 0.25 mm for Max Edge
Length, while the right image shows drill holes modeled using a value of 1.0 mm for Max Edge
Length and a Min Hole Diameter of 2.0 mm. The dark star patterns around the holes on the left
consist of a large number of skinny triangles forced by the small circular segment length specified.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
258 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 17: FEA-02d Trace Modeling
ANSYS Sherlock supports the modeling of signal traces defined for one or more signal layers and/or
vias defined for one or more laminate layers. Such modeling provides a more accurate representation
of the material properties across a given layer, usually at the cost of increasing the number and com-
plexity of elements required. Trace models can be generated automatically by Sherlock directly from
either an EDA file or image file used to define a given layer. Once generated, trace models can be
viewed in Sherlock, exported as an image file or exported as a 3D FEA model suitable for analysis and/or
combining with other models.

Chapter Sections:
Tutorial Project
Trace Model Generation
Advanced Trace Modeling Settings
Trace Model Viewing
Trace Model and Sketch Export
Trace Reinforcement Export
Trace Model Resolution
Trace Model Analysis

Tutorial Project
Throughout this section, we will use a relatively simple, but real-world, PCB example to show how trace
modeling is done. All the design files for the PCB can be found in the Auto Relay [Link] file located
in the tutorial folder found in the Sherlock Installation Directory. That ZIP file can be imported as a
Sherlock Project for training purposes. As shown here, the top layer of the PCB consists of a collection
of both narrow and wide traces that connect a number of through hole parts.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 259
FEA-02d Trace Modeling

As is typical, the copper traces are formed by multiple drawing commands (in this case Gerber drawing
commands) that overlap to form the continuous trace.

Trace Model Generation


A trace model consists of one or more closed polygons that represent the signal traces in a signal layer
or the vias in a laminate layer. When generated from an EDA file, Sherlock processes the drawing
commands defined in the EDA file to determine the individual traces in the layer. When generated from
an image file, Sherlock automatically detects all the edges in the raster image and converts them into
polygons to represent the individual traces. The choice of which approach to take depends on the
complexity of the layer being modeled. The drawing commands defined in EDA files usually provide
the most accurate trace representations, but sometimes the feature sizes are too small for practical FEA
modeling. Image files, on the other hand, allow users to (a) filter out or smooth over trace features
and/or (b) edit the image file by hand to correct problems or eliminate features that don't need to be
in the FEA model. Regardless of how the trace model is generated, the resulting collection of traces
can be exported to an FEA tool as a single layer or can be combined with other layers and exported as
a multi-layer PCB model.

The trace model generation process starts by right-clicking the layer name in the Sherlock Project Tree
and selecting the Generate Trace Model menu option. At that point, a dialog will appear allowing you
to specify a number of key processing properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
260 of ANSYS, Inc. and its subsidiaries and affiliates.
Advanced Trace Modeling Settings

The Grid Size property specifies the resolution to be used for all features in the trace model. All coordin-
ates will be automatically rounded to the nearest grid unit. In general, the finest resolution (0.1 micron)
should be used to ensure the most accurate trace model during the generation process.

The Max Arc Segment property specifies the maximum length of a segment to be generated when
Sherlock converts EDA arc drawing commands to line segments. Smaller values for Max Arc Segment
result in smoother arc representations on the FEA model, at the cost of generating a larger number of
shorter segments. Such short segments will then cause the FEA tool to generate a larger number of
smaller elements to represent the curved solid.

The Min Trace Area and Min Hole Area properties are used during the generation process to filter out
traces and/or holes that are too small by area to be included in the trace model. A value of zero for
either property disables filtering of those regions.

The processing options can be enabled to view the trace model immediately after it is generated and/or
create an image file automatically after generating the trace model. The image file can be viewed in
the Trace Model Viewer to more easily see trace features or can be used to manually edit a trace layer
that is subsequently processed by Sherlock as a Copper Layer (Image) or Laminate Layer (Image) file
(as is discussed later in this section).

When the Save button is pressed, Sherlock automatically converts the drawing commands to polygons,
then combines and splits the polygons as needed to determine the outline of each individual trace.
During such processing, a progress dialog will be displayed, showing the tasks being performed.

After all traces are found, Sherlock creates holes in each trace corresponding to any drill holes, cutouts
or gaps that are contained by each trace. The resulting set of non-intersecting polygons is called the
Trace Model for the selected layer.

Advanced Trace Modeling Settings


Aside from the properties detailed above, advanced trace modeling settings can be accessed by selecting
Settings > General Settings from the main Sherlock ribbon and then selecting the Advanced side
tab. At the bottom of the Advanced Settings tab are Trace Modeling settings which can be enabled
or disabled.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 261
FEA-02d Trace Modeling

Fine Trace Arc Definition: When ENABLED, Sherlock generates refined arc definitions when modeling
traces, based on maxArcSegment settings.

Polygon Optimization: When ENABLED, this setting optimizes and cleans up polygons. Each individual
trace is defined by a series of non-intersecting polygons. Polygon Optimization enforces the minimum
edge length regardless of other settings affecting the polygon. This creates a better trace but takes
more time.

Convert Circles: When ENABLED, Sherlock converts circular bodies to an octagonal approximation (an
eight-sided shape).

Trace Model Viewing


Trace models can be viewed by right-clicking the layer name in the Sherlock Project Tree and selecting
the View Trace Model menu option or by enabling the View Trace Model processing option in the
Generate Trace Model dialog. In either case, the Trace Viewer will appear, displaying either the trace
outlines, trace model image or both. For example, the following image shows the trace outlines for the
top copper layer:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
262 of ANSYS, Inc. and its subsidiaries and affiliates.
Trace Model Viewing

Blue lines represent the exterior outline of each trace, while red lines (not shown in this example) rep-
resent the interior outline of a hole in a given trace. Black lines are used to indicate the PCB outline
and the outline of any cutouts in the PCB.

Note:

It is important to note that drill holes are not shown in the Trace Model Viewer for an indi-
vidual layer. Drill holes are merged with the trace model of each layer when exporting to an
FEA tool, allowing users to include/exclude drill holes as needed for analysis purposes.

By selecting Filled or Both in the Controls tab located in the upper left corner of the viewer, you can
view the trace model image file instead of or along with the trace outlines. As can be seen here, the
image file makes it a little easier to see the trace outlines.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 263
FEA-02d Trace Modeling

If you did not select the Create Image File processing option in the Generate Trace Model dialog,
then the image file will be automatically generated the first time it is referenced.

Note:

The image file may take a minute or two to be rendered depending on the complexity of
the trace model. Once rendered, however, the image file will be retained and re-used as
needed until the trace model is re-generated.

Much like the 2D layer viewer, the Trace Viewer provides convenient controls for panning, zooming,
measuring distances, and saving snapshots.

Trace Model and Sketch Export

Trace Model Export


Trace models can be exported as individual layer models or can be exported as part of a multi-layer
PCB model. In this section, we describe how to export an individual layer model. The Trace Model
Analysis (p. 270) section below describes how to export trace models as part of a multi-layer PCB
model.

An individual layer model can be exported by selecting the layer name in the Sherlock Project Tree
and selecting the Export Trace Model menu option.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
264 of ANSYS, Inc. and its subsidiaries and affiliates.
Trace Model and Sketch Export

Alternatively, the File > Export Trace Model menu option can be selected in the Trace Viewer main
menu.

In either case, the Export Trace Model dialog will be displayed, allowing you to specify which features
will be included in the 3D FEA model.

The File Properties section indicates the type and location of the FEA model file to be exported,
with the following export formats supported:

• Abaqus Python Script (*.py)

• ANSYS APDL Script (*.apdl)

• ANSYS CDB Script (*.cdb)

• ANSYS Workbench Journal (*.wbjn)

• NX Nastran Bulk Data File (*.bdf )

• STEP File (*.stp)

The STEP format is suitable for import into as a geometry file. Press the Browse button to select the
file type and file location or simply enter the folder name, file name and appropriate suffix in the File
Path fields.

The Mesh Type property can be used to specify the type of meshing desired, if any, when generating
Abaqus or ANSYS models. For Calculix and STEP models, the choice is always Bonded.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 265
FEA-02d Trace Modeling

The Trace Properties section indicates which trace regions to include in the 3D model. The Conductor
Regions include the traces themselves, while the Dielectric Regions include the regions that surround
the conductor regions (for example, areas filled by resin). By exporting one type of region or both
types of regions, users can build customized models, test the models themselves or generate 3D images
for documentation purposes.

The Element Order and Max Mesh Size properties control the type and size of elements generated
in the 3D model. First order, second order, and shell element types are supported in both Abaqus
and ANSYS. The Max Mesh Size is passed along to the FEA meshing tool to indicate the desired
element sizes. In some cases, that value is simply a target size. The meshing tool may generate
smaller or larger elements as needed to complete the meshing process.

Note:

ANSYS Sherlock generates meshing commands for Abaqus and ANSYS that use the desig-
nated meshing algorithm and element size, with reasonable seed values. However, both
FEA tools have a library of multiple meshing algorithms and approaches that can be used.
User interaction may be required for complex trace models.

The Max Holes Per Trace property is used by Sherlock to automatically partition conductor and/or
dielectric regions as needed to ensure that the number of holes defined in each solid is reasonable.
This is needed because in both Abaqus and ANSYS, the time required by the import process is a non-
linear function (probably N-squared) of the number of holes defined in each solid. For example, if
one region has 2 holes and another region has 4 holes, the time to import the second region will be
more than twice that of the first region. Since the dielectric region has a hole for every conductor
region, it must be partitioned to prevent the import time from jumping from a few minutes to a few
days.

In general, the Max Holes Per Trace value should be less than 50 to keep the import time reasonable.
The lower the number, the more partitions will be generated, but each partition will take less time
on average to be imported. The optimal setting depends on the complexity of the hardware platform
being used and the FEA software version, but values between 10 and 20 are a good starting point.

The Drill Hole Properties section allows users to indicate if drill holes should be included in the
layer model and, if so, the dimensions of the holes to be modeled. The Min Hole Diameter property
is used to exclude holes smaller than the given dimension from the model. Such holes usually don't
affect the overall mechanical properties of the layer, but they may make meshing more complicated.
The Max Edge Length property specifies the size of the segments to be used when representing
round drill holes by a polygon.

Trace Sketch Export


A sketch can also be exported of a given trace model using the same options as the Export Trace
Model option. A sketch may only be exported as a STEP File (*.stp) file.

Trace Reinforcement Export


When importing a Sherlock-generated STEP file into ANSYS Workbench or ANSYS Discovery SpaceClaim,
you must select specific import options so that trace reinforcements appear.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
266 of ANSYS, Inc. and its subsidiaries and affiliates.
Trace Reinforcement Export

• In SpaceClaim, select Free Curves and Object Names in the import options. Stitch nearby surfaces
together must be unselected as shown in the image below.

• In Workbench, select Line Bodies in the Geometry Import Options. Stitch Surfaces On Import
should be set to None as shown in the image below.

Currently, plating material, plating thickness, capped holes, and filled holes are not modeled in Sherlock.
These features are planned for a future release.

Holes that do not go all the way through the board are only supported with Trace Reinforcement
Export, not regular FEA Export (p. 224) and analysis.

Import settings in SpaceClaim:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 267
FEA-02d Trace Modeling

Import settings in Workbench:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
268 of ANSYS, Inc. and its subsidiaries and affiliates.
Trace Model Resolution

Trace Model Resolution


As discussed above, a number of properties are provided to allow users to control the size of features
represented by the trace model. The most important property is the Max Arc Segment property specified
in the Generate Trace Model dialog which controls the length of the segments used to represent arcs
in the trace model. The smaller the segment length, the smoother the arc will be, at the cost of increasing
the complexity of the resulting 3D model.

For example, consider the upper left corner of the top copper layer that we've been using (below, 1)
and the trace model generated using a Max Arc Segment value of 0.1mm (2).

We can see that the small round pads on the left side of the images are modeled by hexagons with
sides that are no more than 0.1 mm in length. Similarly, the large round pads and arcs are modeled as
a larger number of short segments, which result in a large number of wedges generated by the meshing

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 269
FEA-02d Trace Modeling

algorithm. Although some meshing algorithms are better than others for such shapes, the short segments
would always cause a large number of small elements to be generated, be they wedge or brick elements.

If we increase Max Arc Segment to 1mm, then a simpler, but less accurate, model is generated. As
shown above (3), the oblong pads on the left side of the image now have mitered, instead of rounded,
ends. Similarly, the round pad at the top of the image is now modeled by a square, as is the elbow pad
on the left side. The most important difference is the reduced number of segments and mesh elements
needed to model the rounded ends of the large signal traces, thereby reducing import and analysis
times.

Trace Model Analysis


Whenever an FEA analysis task is performed (for example, Natural Freq, ICT, Harmonic Vibe, Random
Vibe, Mechanical Shock) or a 3D model is generated (for example, Generate 3D Model, Export FEA
Model), users can enable or disable the use of trace models in the PCB model using the Trace Modeling
tab.

When Trace Modeling is enabled, all currently defined trace models are used to generate the 3D elements
in the corresponding layer, instead of using elements based on the stackup properties for that layer. If
you don't want a specific layer to be modeled using traces, simply clear the trace model before exporting

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
270 of ANSYS, Inc. and its subsidiaries and affiliates.
Trace Model Analysis

the FEA model or performing the FEA analysis task. The Element Order, Max Mesh Size and Max Holes
per Trace properties control the same modeling aspects as described previously for single layer models.

Note:

Trace Modeling is only supported when PCB Model is set to Layered or Layered Elements
in the PCB Modeling tab.

The resulting multi-layer PCB model is defined so that all the conductor and dielectric regions on a
given layer are bound together. In the Abaqus model, all the conductor and dielectric regions on a
given layer are merged together to form a single part, which is then meshed. In the ANSYS and Calculix
models, all the conductor and dielectric regions on a given layer share the same set of nodes, thereby
binding them together. In the STEP model, conductor and dielectric regions are modeled in separate
parts and the FEA tool (for example, ANSYS Workbench) or user is responsible for bonding surfaces that
touch.

In all FEA models, except the STEP model, adjacent layers are bound together by surface-to-surface
constraints. In the STEP model, the FEA tool (for example, ANSYS Workbench) or user is responsible for
bonding adjacent layers.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 271
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
272 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 18: FEA-02e Image File Layers
In some cases, it is not possible to obtain the EDA files for one or more layers that need to be modeled
in detail. To help solve such problems, ANSYS Sherlock provides the following file types to allow layers
to be defined using image files instead of EDA design files:

• Copper Layer (Image)

• Laminate Layer (Image)

Copper layers define the conductor regions formed by signal traces, surrounded by dielectric regions
usually consisting of a resin material. Laminate layers define the conductor regions formed by vias,
surrounded by dielectric regions usually consisting of fiber and resin materials. In both cases, even when
EDA files are not available, image files showing the conductor regions can be used to:

• Display the layer in the 2D Layer Viewer

• Determine the percent of metal contained by the layer or

• Generate a trace model for the layer.

Note:

Image File Layers allow Sherlock users to perform custom layer edits using any standard
image editor or EDA file viewer before the layer is processed by Sherlock. This can be used
to reduce unwanted details and/or add missing features.

Chapter Sections:
Preparing Image Files
Adding Image File Layers
Image File Alignment
Image Layer Stackup Data
Image Layer Trace Model

Preparing Image Files


When using image files for trace modeling purposes, the following properties are desired:

• The image should be the highest resolution possible.

• The image must have either a single background color or a single foreground color.

• The image should NOT show the board outline or corner reference points.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 273
FEA-02e Image File Layers

• The image should be tightly cropped to fit inside the board outline.

The image resolution determines the accuracy of the trace model generated by Sherlock for the layer.
The higher the resolution, the more likely that the trace model will contain all the detailed features. In
the examples below, we use image files with resolutions that are roughly 3000x2000 pixels, which is
sufficient in most cases.

The image conversion process used by Sherlock is capable of processing (a) image files with a single
background color or (b) image files with a single foreground color. For example, the image might have
a white, black or clear background color, as long the background is not shaded. Alternatively, the image
might have a single foreground color, with lots of different background colors. In either case, the image
is essentially converted to a black-and-white image and then processed to extract the percentage of
metal and, optionally, the trace model.

As will be demonstrated shortly, after adding an image file, users must then align the image to circuit
card outline. You might think that images containing the board outline or corner reference points would
make that process easier, but such features would then be treated as conductor regions, making the
trace model and stackup calculations inaccurate. To prevent such extraneous regions while accommod-
ating the alignment process, the best approach is to use an image editor to crop the image so that it
fits inside of the board outline.

Adding Image File Layers


Image file layers are added to Sherlock just like EDA design files by using the CCA > Add File(s) menu
option from the Sherlock Main Menu or Project Tree. Once added, right-click the file name in the
Project Tree and select the Edit Properties menu option to display the following dialog.

Simply specify the proper file type and indicate the layer that it represents. The Image Type and Image
Color fields indicate whether the image contains a constant background color or a constant foreground
color. In this example, the image has a WHITE background color, with various shades of green as the
foreground colors. By specifying the background color, all the foreground colors will be considered
conductor material.

When the Save button is pressed, Sherlock will prepare the image file layer for display in the Sherlock
2D Layer Viewer, as shown here along with the drill holes:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
274 of ANSYS, Inc. and its subsidiaries and affiliates.
Image File Alignment

It's important to note that the top copper layer does NOT initially line up with the drill holes. This is
because there is no way for Sherlock to automatically determine how many pixels per inch are repres-
ented by the image, nor where the image is located relative to the other circuit card coordinates.
Therefore, Sherlock scales the image to 80% of the original and places it in the center of the circuit
card, leaving it up to the user to make the final placement.

Image File Alignment


Copper and laminate layers defined using image files can be easily aligned to other circuit card features
using the Edit > Align Layers menu option available from the Layer Viewer menu bar. When that tool
is chosen, the Alignment Editor dialog will appear allowing you to select one or more layers to be
aligned. Typically, it is easier to align each image file layer separately, although experienced users may
prefer to align all layers at the same time.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 275
FEA-02e Image File Layers

When the Align button is pressed, Sherlock will display each of the selected layers in the layer viewer,
with a red outline displayed for each layer being aligned. The following user interactions can be used
while in the alignment editor:

• Left-click and drag the mouse while holding the SHIFT key to drag a layer to a different location,

• Left-click and drag the mouse in any red corner icon while holding the SHIFT key to scale the image
with the opposite corner fixed in place,

• Left-click and drag the mouse (without holding the SHIFT key) to pan the entire viewer display,

• Use the mouse wheel or the zoom buttons at the bottom of the viewer panel to zoom in or out.

• Enable/disable any layer in the Layers Panel to help align the image layers.

Using those controls, it is relatively easy to align the image file layer with the other layers. Press the
Save button to save the alignment values.

Image Layer Stackup Data


After an image layer is aligned, Sherlock automatically computes the percentage of conductor material
for the layer, which is displayed in the Stackup data table, as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
276 of ANSYS, Inc. and its subsidiaries and affiliates.
Image Layer Trace Model

At that point, you are free to update the conductor and dielectric materials as needed. If any future
alignment operations are performed, Sherlock will automatically update the conductor percentage
without changing the assigned materials.

Image Layer Trace Model


Just like a copper or laminate layer defined by an EDA file, you can generate a trace model for an image
file layer by right-clicking the layer name in the Project Tree and selecting the Generate Trace Model
menu option. After entering the desired trace model properties, Sherlock will scan-convert the image
file to determine the polygonal trace outlines.

In the example above, the Max Arc Segment property was set to 0.1mm, to show most of the detail
found in the image file.

Unfortunately, unlike EDA drawing commands, that provide precise straight-line and arc definitions,
the scan conversion process can only guess which segments are straight and which are curved. Although
it does a good job, that process can't generate the exact same trace model that would be found using
the EDA drawing commands. For example, image 1 below shows a portion of the trace model generated

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 277
FEA-02e Image File Layers

directly from EDA drawing command, while the image 2 shows the trace model generated from the
image file. Overall, the traces look the same, but there are subtle differences in some areas. Most notably,
the oblong pad that overlaps the trace has perfectly rounded ends in the left model, but not in the
right model.

1 = Trace Model Generated from EDA File. 2 = Trace Model Generated from Image File.

Nonetheless, the trace models generated from image files are usually close enough for FEA modeling
purposes, as long as the image resolution is high enough to find the details. Furthermore, because you
can freely edit the image file to add, remove or clean-up features, you can refine the trace model over
time if necessary.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
278 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 19: FEA-02f PCB Modeling Regions
The inherent accuracy-vs.-performance trade-off associated with the number of elements in a 3D FEA
model leads many FEA modelers to a local/global approach in which a larger collection of smaller ele-
ments are placed near interesting locations on the PCB and a smaller collection of larger elements are
used everywhere else. Basically, the total number of elements is reduced by using smaller elements
only in places where needed. Sherlock supports such an approach using one or more PCB Modeling
Regions, which allow users to control meshing properties (including trace modeling) in a given region
for both analysis and export purposes.

When exporting models, modeling regions can be used to create Hybrid models that contain both mesh
elements generated by Sherlock for certain PCB regions and mesh elements generated by the FEA tool
for other PCB regions. Such an approach is useful when users want to create custom meshes for key
areas of the PCB but want the convenience of using mesh elements generated by Sherlock for everything
else. Modeling regions can also be used to export only a subset of the PCB or to exclude one or more
regions from the PCB model. This allows users to more easily integrate the models generated by Sherlock
into larger custom created models.

Our discussion of modeling regions begins with some simple examples of how they can be used. Fol-
lowing the examples, we show how modeling regions are defined and more complex uses of them.

Chapter Sections:
Modeling Region Example
Modeling Region Editor
Using Modeling Regions
Common Examples
Hybrid Modeling
Hybrid Models with Sub-Assemblies

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 279
FEA-02f PCB Modeling Regions

Modeling Region Example


Consider a simple rectangular PCB with two large components (gray boxes), a single ICT fixture (blue
rectangle on left side) and one test point (purple diamond on right side).

When the 20N load represented by the test point presses down on the right side of the board, the
board will flex to the right and a distribution of strain values will be seen by the PCB, component and
fixture elements. If we hold all other modeling variables constant and change the element sizes, we
should see different displacement and strain values generated by the FEA analysis. The following examples
show how the analysis results vary depending on how many small elements we use.

Model 1 - Large Elements


If we use only large elements for the PCB, the analysis will run faster, but we expect the results to be
less accurate. For example, the following strain map is generated if we use a 5mm mesh size for the
PCB.

As shown in the strain map, the highest strain values are seen by the ICT fixture, with little or no
strain seen across the PCB or components. The specific results for this example are as follows:

Table 19.1: Strain Map Results (5mm Mesh)

Mesh Size 5mm Max Displacement 0.51mm


# of PCB Elements 71 Max Strain 3.90E-004

In this overly simple model, only 71 elements are generated for the PCB. More importantly, the elements
are large enough that a single element can span the space between the ICT fixture and the left-most
component, as well as the space between the two components, thereby creating a relatively stiff
structure across the PCB. This is not a very accurate result, based on what we know about the structure
of this simple example, because the mesh size is too large for the PCB elements.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
280 of ANSYS, Inc. and its subsidiaries and affiliates.
Modeling Region Example

Model 2 - Small Elements


If we decrease the mesh size from 5mm to 1mm, a much larger number of smaller elements will be
created across the entire PCB. The smaller elements will allow the model to generate more accurate
results, but the analysis time will also increase. In this case, the following strain map is generated
using the same test point load:

With a more detailed PCB model, we can now see that the maximum strain occurs between the ICT
fixture and the left-most component, as well as increased strain between the two components. The
specific results for this example are as follows:

Table 19.2: Strain Map Results (1mm Mesh)

Mesh Size 1mm Max Displacement 6.0mm


# of PCB Elements 1520 Max Strain 8.60E-003

The more accurate results come with a price of a significant increase in the number of elements, a
21-fold increase from 71 to 1520 elements (which is consistent with the 5-fold decrease in the mesh
size). Analysis time is determined by the number of elements in the 3D model, so any unnecessary
increase in the number of elements can be very expensive in terms of analysis time. Although in this
simple case the analysis time is still reasonable, if a complex, real-world model is being generated,
the analysis time could easily run into many hours or days depending on the number of elements
used.

Model 3 - Large and Small Elements


Knowing that the PCB will bend the most where the structure is weakest, we can budget the number
of elements needed by using small elements only in the weakest areas. For example, we can target
specific PCB regions for special treatment, as shown here. The orange rectangles mark the PCB areas
where we expect to see the most bending and strain because those areas have the least amount of
structure.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 281
FEA-02f PCB Modeling Regions

To reduce the total number of elements generated in the model, we can use a 1mm mesh in the orange
regions and a 5mm mesh everywhere else in the PCB. The resulting hybrid model generates the fol-
lowing strain results:

The combination of small and large mesh elements yield the following analysis results:

Table 19.3: Strain Map Results (1mm and 5mm Mesh)

Mesh Size 1mm & 5mm Max Displacement 6.1mm


# of PCB Elements 506 Max Strain 8.90E-003

When compared to the previous results, we see that the maximum displacement and strain values
are within 3% of each other, but the total number of elements has been decreased by 66%. That is,
we are generating basically the same results, but the model size is one-third the size, which will speed
up the analysis time.

Modeling Region Editor


Modeling regions are managed in Sherlock using the Edit > Edit Modeling Regions menu option
available in the 2D Layer Viewer. When that menu option is selected, the Modeling Region Editor
buttons will appear at the bottom of the Layer Viewer and all currently defined modeling regions will
be displayed as orange polygons as shown.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
282 of ANSYS, Inc. and its subsidiaries and affiliates.
Modeling Region Editor

Modeling regions can be selectively filtered from the Layer Viewer display by toggling the Modeling
Region filter located in the Other Layers folder in the Layers panel on the left-side of the Layer
Viewer. As a convenience, modeling regions are automatically displayed whenever the Modeling Region
Editor is started.

Modeling Region Properties


A modeling region can be added by right-clicking the mouse in the Layer Viewer outside of all existing
modeling regions and selecting the Add Modeling Region option from the pop-up menu. At that
point, the Add Modeling Region dialog will be displayed, allowing you to edit the properties for the
new modeling region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 283
FEA-02f PCB Modeling Regions

An existing modeling region can be edited by right-clicking the mouse inside of the modeling region
and selecting the Edit Properties option from the pop-up menu. At that point, the Edit Region
Properties dialog will be displayed, allowing you to edit the region properties. The layout and use
of the Add Modeling Region and Edit Region Properties dialogs are the same, as we now describe.

The Region Properties panel defines the unique ID assigned to the modeling region (Region ID) and
the units to be used for all dimensional properties (Region Units). The Modeling Mode property
specifies how the region is used:

• Enabled = Use the modeling region

• Disabled = Ignore the modeling region

• Excluded = Don't generate any elements for the region

The Region Shape panel specifies the shape of the region, with the following types supported:

Table 19.4: Region Shapes

Polygonal Defined by N points that form a convex polygon


Rectangular Defined by 4 points that form a rectangle >
Slot Defined by 8 points that form a rectangle with rounded ends
Circular Defined by N points that form a circle

The shape specified for a region determines how the region can be graphically edited in the Layer
Viewer. For example, the length and width of rectangular, slot and circular shapes are automatically

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
284 of ANSYS, Inc. and its subsidiaries and affiliates.
Modeling Region Editor

updated when any of the corners are moved, regardless of the rotation specified. Polygonal shapes
allow you to move/add/remove nodes as needed to surround a desired region.

PCB Modeling Properties


The primary purpose of modeling regions is to allow different sections of the PCB to be modeled
using different mesh properties. As such, each modeling region allows the specification of the following
PCB mesh properties:

Export Model Type - The type of model generated when exporting to Abaqus or ANSYS Mechanical.
See the Hybrid Modeling (p. 293) section below for more details.

Element Order - The type of 3D elements (First Order, Second Order, Shell) to be created for the PCB
in the region.

Max Mesh Size - The maximum size of the mesh to be used in the region.

Min Mesh Angle - The smallest internal angle allowed for mesh triangles generated in the region.

Min Quad Quality - The minimum quality allowed for mesh quads generated in the region.

All the PCB Modeling Properties defined for a given region will override any similar properties
defined in the FEA analysis and/or export dialogs.

Trace Modeling Properties


Much like the PCB Modeling Properties, each region can be used to override certain trace modeling
properties specified in the FEA analysis and/or export dialogs. The following trace modeling properties
can be defined for each modeling region:

Trace Modeling - Specifies if trace modeling should be performed inside of the region. This can be
used to reduce model complexity in one section of the PCB, while accurately modeling traces in an-
other section of the PCB.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 285
FEA-02f PCB Modeling Regions

Trace Elem Order - The type of 3D elements (First Order, Second Order, Shell) to be created for traces
in the region when trace modeling is enabled.

Trace Mesh Size - The maximum mesh size to be used in the region when trace modeling is enabled.

Note:

Traces must be generated before enabling them in Modeling regions.

Graphical Editing
Modeling regions can be graphically edited in the Modeling Region Editor by right-clicking the
mouse inside of the modeling region.

At that point, the selected region will be high-lighted in red and the pop-up edit menu will be dis-
played, with the following options:

Edit Properties - Display the edit dialog.

Move Modeling Region - Move the modeling region to a new location, preserving the existing size
and shape.

Scale Modeling Region - Scale the modeling region around the current center location, preserving
the existing shape.

Merge Modeling Regions - Merge two or more selected and intersecting regions into a single region.

Rotate 45/90 - Rotate the region by 45/90 degrees.

Copy Modeling Region - Create a copy of the selected region with the same properties

Delete Modeling Region - Remove the modeling region completely.

In addition to the edit options available in the pop-up menu, you can also move any region by left-
clicking in the region to select it and then drag the region to the new location. You may also left-click
any of the highlighted region nodes and drag them to reshape the region based on the current Region
Shape property.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
286 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Modeling Regions

Multiple regions can be selected by left-clicking and dragging a box around the regions to be selected.
You can also left-click individual regions while pressing the CONTROL key to toggle the selection of
individual regions, adding or removing them from the list of selected regions.

After editing one or more regions, the Save, Apply, Reset and Cancel buttons will be enabled in the
Modeling Region Editor panel at the bottom of the Layer Viewer. Press the Save button to make all
changes permanent and exit the editor. Press the Apply button to make all changes permanent, but
remain in the editor. Press the Reset button to cancel all changes, but remain in the editor. Press the
Cancel button to cancel all changes and exit the editor. If no changes are pending, the Close button
can be pressed to exit the editor.

Modeling Region Restrictions


Since modeling regions are used to define PCB areas to be modeled in specific ways, there are several
limitations on how multiple regions can be defined.

1. Modeling regions may not intersect each other. Region intersection will be checked whenever
the Save or Apply buttons are pressed.

2. Modeling regions are allowed to contain one or more sub-regions as needed, but each sub-region
must be fully contained by the region and they may not intersect each other. When graphically
selecting regions with sub-regions, Sherlock automatically selects the smallest region containing
the current mouse location.

Using Modeling Regions


Modeling regions can be used when performing FEA analysis in Sherlock via one of the FEA Analysis
dialogs or when exporting an FEA model to Abaqus or ANSYS Mechanical using the FEA Export dialog.
In both cases, the Modeling Regions PCB modeling property can be selectively ENABLED or DISABLED
to control use of modeling regions. When enabled in the analysis or export dialog, all modeling regions
that are not individually disabled will be used during the PCB modeling process. When disabled, all
modeling regions, regardless of their individual settings will be ignored. This approach allows users to
easily compare models that use modeling regions with those that do not. Users can further determine
how specific modeling regions affect the PCB model by selectively enabling or disabling individual
modeling regions.

When modeling regions are enabled, Sherlock automatically defines a Default region that consists of
all PCB areas, if any, that are not covered by any modeling region. The PCB Modeling and Trace
Modeling properties specified in the FEA Analysis or FEA Export dialogs are used to determine how
the default region is modeled. For both analysis and export purposes, Sherlock automatically defines
the necessary surfaces and tie constraints to bond the sides of adjacent and/or embedded modeling
regions to each other.

It's important to note that individual modeling region properties only control how the PCB is modeled
in each modeling region. The modeling of parts, mount points, test points, heat sinks, etc. is controlled
solely by the modeling properties defined in the FEA Analysis or FEA Export dialogs.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 287
FEA-02f PCB Modeling Regions

Common Examples
Modeling regions can be used in a variety of ways to handle a wide range of modeling needs. The
simplest approach uses one or more regions to mark PCB areas that need different element sizes and/or
types. More complex approaches might use multiple nested regions to disable trace modeling in one
region, while forcing detailed modeling in another. Regions may also be used to create precise holes
in the PCB model that can be manually filled using a 3D model created in another application or even
generate a 3D mesh only for a specific PCB region. In this section, we show by example some of the
ways that modeling regions can be used in Sherlock.

Simple Regions
The simplest way to use modeling regions is to define one or more distinct regions in key PCB areas,
with appropriately defined mesh properties. For example, the following set of 3 modeling regions
can be defined to cover the PCB areas where we expect to see the most flexing. The default mesh
size for the PCB (as defined in the analysis or export dialogs) is 5mm.

In the following model, a 1mm mesh has been defined for the left and center regions, while a 2mm
mesh has been assigned to the right-most region. The model has small sized elements in the left and
center regions, medium sized elements in the right region and large sized elements everywhere else
in the PCB. Sherlock automatically generates TIE constraints to bond elements between different re-
gions.

In addition to the mesh size, we can also specify different element type and shape properties for each
of the modeling regions. For example, assume that First Order elements are used by default across
all PCB regions and that we specify the following PCB Modeling Properties for the right-most region:

Table 19.5: PCB Modeling Properties

Element Order Second Order

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
288 of ANSYS, Inc. and its subsidiaries and affiliates.
Common Examples

Max Mesh Size 2mm


Min Quad Quality 1.0

The resulting 3D model will not only have different size elements in the right-most region, but also
those elements will all be Second Order Elements, as shown here:

Furthermore, all the elements in the right-most region will be wedges, as shown here:

The trade-off between element types and shapes is similar to that of mesh size in that accuracy can
be improved by selecting the appropriate element type/shape, but sometimes the cost is increased
analysis time. Sherlock modeling regions allow users to make those tradeoffs as needed across different
PCB areas.

Nested Regions
Although the previous examples have all shown rectangular regions that overlap the PCB outline,
there are no restrictions on shape and/or location of modeling regions. Furthermore, modeling regions
may be nested inside of each other to handle a variety of modeling needs. For example, consider the
PCB shown here that has a circular cutout in the middle of the PCB and a single modeling region
that surrounds the cutout. If we use a 4mm mesh for the modeling region and a 10mm mesh every-
where else, the following 3D strain map would be generated.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 289
FEA-02f PCB Modeling Regions

The square region around the hole has smaller elements, with a mixture of wedges and bricks, as
specified by the modeling region properties.

We can refine the model even more by creating a circular region inside of the square region, as shown
here. The circular region can be defined to generate only 2mm wedge elements, resulting in the fol-
lowing 3D model.

Regional Trace Modeling


Consider the PCB model shown below with trace modeling enabled using a 5mm mesh size. In gen-
eral, trace modeling results in a significant increase in the number of elements for a given mesh size
because of the relatively small trace features. Furthermore, wedges with high aspect ratios are common
if the mesh size is too large. Modeling regions can be used to help control how trace models are
generated.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
290 of ANSYS, Inc. and its subsidiaries and affiliates.
Common Examples

For example, suppose we want a more detailed model for the left-most large trace. A polygonal
modeling region can be defined that surrounds the trace, as shown below (left). If we define the fol-
lowing Trace Modeling Properties in that region:

Table 19.6: Trace Modeling Properties

Trace Modeling Enabled


Trace Mesh Size 2 mm

Then the resulting 3D model (below, right) will include smaller elements for the copper and resin
areas inside of the modeling region and larger elements everywhere else.

Instead of just changing element properties, we may want to enable or disable trace modeling select-
ively in different PCB areas. For example, if we set the Trace Modeling property in the modeling region
defined above to DISABLED, then the 3D model shown below will be generated.

By default, trace modeling is performed across the entire PCB, but disabled inside of the modeling
region. Since trace modeling is disabled inside of the region, the PCB Mesh Size (4mm) is used to
create the elements in that region and the material properties are determined by averaging the
copper and resin properties in each element. Although the resulting region doesn't look as pretty,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 291
FEA-02f PCB Modeling Regions

the elements in that region fairly accurately represent the trace and the number of elements is signi-
ficantly reduced.

We can achieve the opposite approach (trace modeling only inside a specific region) by disabling
trace modeling in the Default region and enabling trace modeling in the desired region. The 3D
model shown below would then be generated. In this case, trace modeling is only done inside of the
modeling region using a 2mm mesh size, while the rest of the PCB is modeled without traces using
a 5mm mesh size. Multiple regions can be used to create other PCB areas with trace modeling as
needed for analysis purposes.

Excluded Regions
In the previous examples, all the modeling regions have been Enabled, allowing them to override
the default PCB and Trace modeling properties within specified PCB areas. Modeling regions can also
be used to selectively exclude PCB areas from the 3D model that is generated. Such an approach may
be needed, for example, to create a void in the PCB where the user intends to insert a custom-built
mesh that was created using another FEA modeling tool. On the other hand, you may want to exclude
everything except a given region so that the resulting 3D mesh can be inserted into another custom-
built model. Both approaches are supported by defining modeling regions in which the Modeling
Mode property is set to Excluded.

For example, using the same region described in the previous example, if we enable trace modeling
in the default region, but mark the inner region as Excluded, then the 3D model shown below will
be generated.

To achieve the opposite effect, we need to create an outer region that covers the entire PCB, as shown
below (left). We can then mark the outer region as Excluded and the inner region as Enabled to
generate the 3D model shown on the right.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
292 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Modeling

Note, if Modeling Mode is set to Disabled for a given region, then that region will be ignored when
generating the 3D model. This allows users to selectively enabled or disable regions when trying to
construct the perfect model for their purposes. If you don't want a given region included in the
model at all, use the Excluded setting.

Hybrid Modeling
Modeling regions can be used not only to control how specific PCB regions are meshed by Sherlock,
but they can also be used to export Hybrid Models that contain both mesh elements generated by
Sherlock for some regions and mesh elements generated by Abaqus or ANSYS Mechanical for other
regions. This flexibility allows users to customize key PCB areas, while still using Sherlock to automatically
generate models for everything else.

The Export Model Type modeling region property allows users to specify the type of model to be
generated for a given modeling region, with the following options:

• Default - use the model type specified in the Export FEA Dialog

• Sherlock - use mesh elements generated by Sherlock to model the region

• Sweep - use mesh elements generated by the FEA tool to model the region

• None - define only geometric volumes for the region, without generating mesh elements

The Default model type is used to indicate that a given region should be modeled based on the Mesh
Type property defined in the FEA Export Dialog. For example, if a Bonded mesh type is specified in
the FEA Export Dialog, then all Default modeling regions will be modeled by elements generated by
Sherlock. On the other hand, if a Sweep mesh type is specified in the FEA Export Dialog, then all Default
modeling regions will be modeled by elements generated by the FEA tool.

For demonstration purposes, consider the following set of eight modeling regions:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 293
FEA-02f PCB Modeling Regions

The modeling regions encompass different trace and mounting areas of the PCB, including two pairs
of embedded areas. The modeling regions are defined with the following properties:

Table 19.7: Modeling Region Properties

Region Export Model Max Mesh Size Trace Modeling Trace Mesh Size
Type
MR1 Sherlock 2 mm Enabled 1 mm
MR2 Sweep 2 mm Disabled N/A
MR3 Sherlock 2 mm Disabled N/A
MR4 Default 3 mm Enabled 1 mm
MR5 Default 1 mm Default 1 mm
MR6 Default 2 mm Default 2 mm
MR7 Sherlock 5 mm Disabled N/A
MR8 Sherlock 5 mm Disabled N/A

The following sub-sections show the exported models based on these modeling regions for different
settings in the FEA Export dialog.

Bonded Uniform
When the default mesh type is set to Bonded (that is, Sherlock meshing), with a Uniform PCB mater-
ial model, the following Hybrid Model is exported:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
294 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Modeling

In this case, all regions are meshed by Sherlock, except for region MR2 (upper right corner), which is
meshed by the FEA tool using its native sweep meshing algorithm. Note how the mesh size varies
depending on the region, with the default mesh size set to 5 mm. Sherlock automatically defines
constraints to tie the regions together. Since a Uniform PCB material model was specified, a single
uniform PCB layer is generated, without any trace modeling.

Bonded Layered
When the default mesh type is set to Bonded (that is, Sherlock meshing), with a Layered PCB mater-
ial model, the following Hybrid Model is exported:

In this case, the Trace Modeling property is disabled for the default region, resulting in uniform
material properties for most of the PCB layer being shown. However, since Trace Modeling is enabled
for the MR1 and MR4 regions, the traces contained by those regions are modeled using the 1 mm
mesh size specified for both regions. The appropriate conductor and dielectric material properties
are assigned to the elements in those regions, while the average layer material properties are assigned
to all other layer elements.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 295
FEA-02f PCB Modeling Regions

Bonded Trace Layered


The following model differs from the previous one by enabling trace modeling in the FEA Export
dialog, with a trace mesh size of 2 mm, for the default region:

In this case, most of the PCB traces are modeled with different trace mesh sizes in each of the mod-
eling regions. However, since Trace Modeling is specifically disabled in the MR2, MR3, MR7 and MR8
regions, no trace modeling is visible in those regions and the resulting elements are assigned the
average layer material properties.

Bonded Layered Elements


Unlike the Layered PCB material model which computes a single average material across the entire
layer, the Layered Elements PCB material model computes a range of materials based on the ratio
of conductor and dielectric materials WITHIN EACH ELEMENT. By combining the Layered Elements
material model with trace modeling in selected regions, users can fine-tune models to suit their
specific needs. For example, the following model enables trace modeling in two regions (MR1 and
MR4), while using the Layered Elements material model for all other regions.

The conductor and dielectric materials in the trace regions are clearly evident. We can also see a
range of materials across the other regions, with the exception of region MR2, that show the ratio of
conductor and dielectric materials in each element. The small mesh sizes defined for regions MR5

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
296 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Modeling

and MR6 (lower right corner) creates a rough, but effective, approximation of the trace running
through those regions.

It is important to note that all the elements in the MR2 region (upper right corner) are assigned the
same material properties. This occurs because the MR2 region is defined as a single volume that is
meshed by the FEA sweep algorithm. As such, Sherlock can only assign a single average material to
that volume when it is defined. The average material properties are based on the ratio of conductor
and dielectric materials CONTAINED INSIDE THE MR2 REGION ITSELF.

Bonded Trace Elements


This model differs from the previous one by enabling trace modeling in the FEA Export dialog:

Since Trace Modeling is disabled in the MR3 (upper left corner) and MR7/MR8 regions (lower center),
but those regions are meshed by Sherlock, the elements in those regions are assigned material
properties based on the ratio of conductor and dielectric materials contained by each element. In
region MR2 (upper right corner), trace modeling is disabled, the region is meshed by the FEA tool,
and all elements are assigned the same material properties based on the ratio of conductor and
dielectric materials contained by that region.

It is also interesting to note how the elements in the MR5/MR6 regions (lower right corner) differ
from the previous example. Since Trace Modeling is set to Default in regions MR5 and MR6, the
Trace Modeling setting from the FEA Export dialog is used to determine if traces should be generated
in those regions. In this case, Trace Modeling was enabled in the FEA Export dialog, so it is also
automatically enabled in those regions, but each region has a different trace mesh size than the default
region.

Sweep Uniform
The previous examples used a Mesh Type of Bonded to generate models in which Sherlock meshed
the default PCB region and all regions where Export Model Type was set to Default. In this example,
the default mesh type is set to Sweep to generate a model in which the FEA tool meshes the default
PCB region, using a Uniform material model.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 297
FEA-02f PCB Modeling Regions

In this case, most of the PCB is meshed by the FEA tool, except for the MR1, MR3, MR7 and MR8 regions,
which specifically set the Export Model Type to Sherlock. In those regions, Sherlock generates the
mesh elements and exports them to the FEA as an “orphan mesh”. Sherlock also automatically generates
the tie constraints required to bond adjacent modeling regions to each other.

It is important to note the mount pads located in the lower left and lower right corners. Since the
Sweep mesh type is specified in the FEA Export dialog, all PCB components, including mount points
are meshed by the FEA tool. In the previous Bonded examples, the mount pads were meshed by
Sherlock.

Sweep Layered
The following example differs from the previous Bonded Layered example by setting the default
Mesh Type to Sweep in the FEA Export dialog.

In this case, most of the PCB is meshed by the FEA tool and assigned an average material based on
the composition of the entire layer. The MR1 region (upper center) is meshed by Sherlock, with trace
modeling enabled. The MR4 region (left center) is meshed by the FEA tool because the Export
Model Type is set to Default for that region and traces are modeled in the MR4 region because
Trace Modeling is specifically enabled for that region. The elements generated for the MR1 and MR4
regions are assigned the appropriate conductor and dielectric material properties because trace
modeling is enabled.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
298 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Modeling

Sweep Trace Layered


The following example differs from the previous Bonded Trace Layered example by setting the default
Mesh Type to Sweep.

In this case, most of the PCB traces are modeled, with different trace mesh sizes in each of the mod-
eling regions. However, since Trace Modeling is specifically disabled in the MR2, MR3, MR7 and MR8
regions, no trace modeling is performed in those regions and the resulting elements are assigned
the average layer material properties.

By comparing this model to the previous Bonded Trace Layered model, it is interesting to note that
the Sherlock meshing algorithm is best in some areas, while the FEA tool meshing algorithm is best
in others. In general, the FEA tool sweep algorithm works best for mostly rectangular areas. For round
areas, like circular pads, the sweep algorithm tends to generate a larger number of smaller elements
around the area than the Sherlock meshing algorithm.

Sweep Layered Elements


The following model was generated by setting Mesh Type to Sweep and PCB Model to Layered
Elements in the FEA Export dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 299
FEA-02f PCB Modeling Regions

This is a good example of how Sherlock automatically computes and assigns material properties to
elements.

In the MR1 region (upper center), Sherlock meshing is used with trace modeling enabled. In the adja-
cent MR4 region (left center), FEA sweep meshing is used with trace modeling enabled. In both cases,
the resulting elements are assigned the appropriate conductor and dielectric properties.

In the MR2 region (upper right corner) and the MR5/MR6 regions (lower right corner), FEA sweep
meshing is used with trace modeling disabled, resulting in single volume definitions for each region.
Since the Layered Elements material model is specified in the FEA Export dialog, the elements created
by the FEA tool are assigned the same material properties, based on the ratio of conductor and
dielectric materials contained in each individual region.

In the MR3 region (upper left corner) and the MR7/MR8 regions (lower center), Sherlock meshing is
performed with trace modeling disabled. In such cases, Sherlock can automatically compute the av-
erage material properties for each individual element, resulting in crude approximations of the traces
that are contained by those regions.

Sweep Trace Elements


This model differs from the previous one by enabling trace modeling for the default region:

With trace modeling enabled in the default region, trace modeling is automatically enabled in the
MR5/MR6 regions (lower right corner) as well because Trace Modeling is set to Default in those re-
gions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
300 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Models with Sub-Assemblies

Hybrid Models with Sub-Assemblies


When exporting hybrid models with sub-assemblies, the modeling of each sub-assembly depends on
the FEA settings that were last saved for the individual sub-assembly, either for analysis or export pur-
poses. That allows users to selectively enable/disable modeling regions and/or use different meshing
algorithms for individual sub-assemblies. For example, consider the following PCB (tan elements) that
has a mezzanine card (gray elements) attached by mount points and an edge-connected card (blue
elements) attached along the bottom edge.

In this case, all boards use the same modeling properties, except for the Max Mesh Size, as shown in
the following table:

Table 19.8: Board Modeling Properties

Board Mesh Type Modeling PCB Model Max Mesh Part


Regions Size Modeling
PCB Bonded Disabled Uniform 3 Disabled
Mezzanine Bonded Disabled Uniform 4 Disabled
Edge-Connected Bonded Disabled Uniform 10 Disabled

Since the Bonded mesh type is specified for all boards, Sherlock generates the mesh elements for the
entire model, using the given mesh size for each board.

Note:

ANSYS Sherlock saves different sets of modeling properties for each FEA analysis task. As
such, be sure to modify properties for sub-assemblies under the same FEA analysis task. For
example, when exporting a model from the Natural Freq analysis task, you should modify
the Natural Freq modeling properties of each sub-assembly as needed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 301
FEA-02f PCB Modeling Regions

We can generate detailed models of the sub-assemblies using the following modeling properties (changes
from previous example are CAPITALIZED):

Table 19.9: Sub-Assembly Modeling Properties

Board Mesh Type Modeling PCB Model Max Mesh Part


Regions Size Modeling
PCB Bonded Disabled Uniform 3 Disabled
Mezzanine Bonded ENABLED LAYERED 4 Disabled
ELEMENTS
Edge-Connected SWEEP Disabled Uniform 10 ENABLED

In this case, we are enabling modeling regions and using a Layered Elements material model for the
mezzanine card, while enabling part modeling and using the FEA tool sweep meshing algorithm for
the edge-connected card, resulting in the following model:

There are four modeling regions defined for the mezzanine card as shown in the diagram to below.
The MR1 and MR2 regions are meshed using the FEA tool sweep algorithm, while the MR3, MR4 and
default regions are meshed by Sherlock. Since the Layered Elements material model is specified for
the mezzanine card each of the regions meshed by the FEA tool are assigned different material properties
based on the region and all of the regions meshed by Sherlock are assigned the same material properties
based on the layer.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
302 of ANSYS, Inc. and its subsidiaries and affiliates.
Hybrid Models with Sub-Assemblies

The edge-connected card is meshed by the FEA tool and includes part models that are meshed by
Sherlock. The part models are meshed by Sherlock because the Mesh Type property in the FEA Export
dialog FOR THE MAIN BOARD was set to Bonded.

Note:

All sub-assembly components (for example, parts, leads, mount points, wire bonds, etc.) are
meshed using the same method as that used for the PCB components, which is determined
by the Mesh Type property in the FEA Export dialog.

The following example differs from the previous example by changing various properties in the FEA
Export dialog, without changing any sub-assembly properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 303
FEA-02f PCB Modeling Regions

Specifically, the following modeling properties were used (changes are CAPITALIZED):

Table 19.10: Modeling Properties

Board Mesh Type Modeling PCB Model Max Mesh Part


Regions Size Modeling
PCB SWEEP ENABLED UNIFORM 3 ENABLED
Mezzanine Bonded Enabled Layered 4 Disabled
Elements
Edge-Connected Sweep Disabled Uniform 10 Enabled

This example shows how users can effectively use a wide range of different modeling capabilities in a
multi-card assembly to increase modeling accuracy while maintaining a reasonable model size.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
304 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 20: FEA-03a Part Modeling
For Finite Element Analysis (FEA) purposes, ANSYS Sherlock can create two different 3D models to
represent a given component on the PCB. A simple block model represents the component as a
monolithic block of one or more elements that sit directly on the PCB. A more complex leaded model
extends the block model, which represents the body of the component, by creating elements that
represent each of the leads associated with the component. When the leaded model is used, the com-
ponent body is *not* attached to the PCB. Rather, the body is attached to the leads, which are then
attached to the PCB.

In this section, we discuss how the body of a component is edited and modeled in Sherlock. The Lead
Modeling user guide (p. 317) section discusses how to model leads in Sherlock.

Chapter Sections:
Layer Viewer Component Selection
Component Size, Location, and Orientation
Editing Part Properties
2D Component Outline
3D Block Model
Corner Orientation
Corner Face Restrictions
3D Part Model Viewer
FEA Model Properties

Layer Viewer Component Selection


As discussed in the Sherlock Tutorial (p. 49), part properties can be edited by selecting one or more
parts in the Parts List and using the Part Editor to edit the various properties associated with those
parts. In addition to those capabilities, users can also edit components directly from the Layer Viewer,
providing a visual, point-and-click alternative that is useful for many types of editing chores.

To make changes to one or more components, select Edit > Edit Components from the main menu
in the Layer Viewer. At that point, the Component Editor mode will be indicated along the bottom
of the Layer Viewer and five buttons will be displayed. As long as the Component Editor is active,
you can select one or more components, edit them graphically or edit their part properties, and then
update the Parts List.

In order to make changes in the Component Editor you must first select one or more parts to be
changed. Part selection is done graphically using the following set of mouse/key operations:

• Shift-Left-click any part to select only that part

• Shift-Left-click and drag the mouse to select all parts within a rectangular region

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 305
FEA-03a Part Modeling

• Control-Left-click any part to toggle selection of that part

• Control-Left-click and drag the mouse to toggle selection of all parts within a region

• Shift-Double-Left-click any part to select only that part and display part properties

• Right-click outside all selected parts to clear the current selections

Part selection takes a little practice, but you'll soon become comfortable with the selection process.

Component Size, Location, and Orientation


One of the most common part editing chores is that of adjusting the size, location and/or orientation
of one or more parts. This is often necessary for small surface mount parts, because there is no standard
regarding the orientation of certain packages, like an 0804. Some EDA tools assume the standard ori-
entation is horizontal, while others assume it is vertical. You might also want to reduce or increase the
size of a given part, move it slightly to eliminate overlaps with other parts, or visually align parts with
underlying PCB features.

The location of one or more selected parts can be visually adjusted simply by left-clicking inside of any
selected part and dragging the selected parts to the new location. The coordinates of all selected parts
will be adjusted by the same amount. After moving one or more parts, you can press the Apply button
to save the changes or the Reset button to return the parts to their previous locations.

The size of one or more selected parts can be visually adjusted by left-clicking inside of any red control
points displayed at the corners of each selected part and dragging the mouse to change the size of
the component. All selected components will be scaled by the same amount, with their center locations
remaining fixed in place.

To rotate a single part, right-click anywhere inside of the part outline (which will automatically select
that part) and select Rotate 90 from the pop-up menu.

To change the orientation of multiple parts, left-click and drag the mouse over the part outlines, while
holding down the SHIFT key. After all desired parts are selected, right-click in any of the selected parts
to display the Edit Menu and select Rotate 90 to rotate all selected parts.

When you're done editing the parts, right-click anywhere in the layer viewer to clear the selections and
then press the Apply button at the bottom of the Layer Viewer to update the Parts List and continue
editing parts.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
306 of ANSYS, Inc. and its subsidiaries and affiliates.
2D Component Outline

Editing Part Properties


Part properties can be edited directly from the Layer Viewer by right-clicking any component and se-
lecting the Edit Properties option from the pop-up menu to display the Part Editor. Unlike the Parts
List, however, you can only edit a single part at a time in the Layer Viewer. Nonetheless, it is a useful
feature to have when visually inspecting all the parts on a PCB. See the Sherlock Tutorial (p. 49) for a
detailed discussion of how part properties can be modified using the Part Editor.

2D Component Outline
Components are displayed in the Layer Viewer using a simple 2D outline to show their size, location
and orientation, while still allowing users to see underlying PCB details, such as pads, traces, drill holes,
etc. The location and orientation of the component is specified by the following properties found in
the Location tab of the Part Editor:

• Board Side

• Location Units

• X Coordinate

• Y Coordinate

• Rotation

• Mirrored

The X,Y coordinates denote the center of the component and the center of rotation. The Mirrored
property indicates if the component shape is to be mirrored across the Y-Axis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 307
FEA-03a Part Modeling

The shape of the 2D outline is specified by the following part properties found in the Package tab of
the Part Editor:

• Package Units

• Package Length

• Package Width

• Corner Shape

• Corner Radius

In canonical orientation (Rotation = 0), the Package Length is the dimension along the X-axis and the
Package Width is the dimension along the Y-axis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
308 of ANSYS, Inc. and its subsidiaries and affiliates.
2D Component Outline

The Corner Shape and Corner Radius properties define how the component corners should be repres-
ented, with the following corner shapes supported:

Table 20.1: Corner Shapes

Square Corner displayed as a 90 degree angle.


Corner Radius is ignored.

Miter Corner represented by a single diagonal


segment. Corner Radius defines the distance
from each end of the diagonal segment to
the location where the Square corner would
have been located.
Round Corner represented by multiple arc
segments. Corner Radius defines the arc
radius.

For the Miter and Round corner shapes, if the Corner Radius is greater than 1/2 the Package Length
or Package Width (whichever is shortest) Sherlock will automatically set it to the maximum value
suitable for the package. A circular component outline (for example, can capacitor) can be defined by
setting the following properties, where D is the diameter of the component:

Table 20.2: Circular Component Properties

Property Value
Package Length D
Package Width D
Corner Shape Round
Corner Radius D

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 309
FEA-03a Part Modeling

3D Block Model
For FEA purposes, a 3D block model is created for a component by generating a mesh for the 2D
component outline as described above and then extruding the 2D mesh elements in the Z-dimension
based on the Package Thickness property defined in the Package tab of the Part Editor. This process
yields one or more wedge and/or quad elements that are bound together by shared nodes. The exact
number and shape of the elements depends on the shape of the 2D outline, as well as the Max Mesh
Size and Vertical Mesh Size properties used when generating the 3D model. For example, the following
images show the 3D models generated for a component that is 10mm long, 6 mm wide and 4 mm tall,
using a 4 mm Max Mesh Size and 4 mm Vertical Mesh Size.

In this case, all the elements are 4mm tall. For the miter corner, a 1mm wedge is created to fill the
corner, while a non-regular brick is created to fill the round corner.

Note:

The simple block shape and corner types supported by Sherlock allow it to generate 3D
component models that are formed from mostly regular bricks, with a minimal number of
wedges.

The Max Mesh Size and Vertical Mesh Size properties specified when generating the model (described
below) also affect the number of elements created. For example, the following images show the same
part with mitered corners using different mesh size properties as indicated.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
310 of ANSYS, Inc. and its subsidiaries and affiliates.
Corner Orientation

Corner Orientation
The package corners shown in the previous section were all defined in the XY plane and then extruded
into 3D shapes along the Z dimension. Such an approach supports a large percentage of SMT and
Through Hole parts used today. However, certain package types, such as resistors with axial leads or
disc capacitors, are best modeled by a rounded or mitered outline in the XZ or YZ planes that is then
extruded across the remaining dimension. Starting in Version 5.1, Sherlock supports such package
modeling with the Corner Face part/package property. The Corner Face property supports the following
orientations:

In all the examples above, the Package Length, Package Width and Package Thickness values are
the same, as well as the Corner Shape and Corner Radius values. The only difference between the
examples is the Corner Face property. When combined with Lead Modeling, the Corner Face property
allows for a wide range of package types to be modeled, such as the following examples:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 311
FEA-03a Part Modeling

Corner Face Restrictions


There are a couple restrictions regarding how the Corner Face property is used when modeling parts
in a Merged PCB model or when modeling parts within a potting region. In both cases, if the Corner
Face property is NOT TOP_BOTTOM and leads are not being modeled, then the Corner Face and
Corner Shape properties will be ignored, and the part will be modeled as a SQUARE shape. This is ne-
cessary when generating a Merged PCB model because the PCB and parts are meshed at the same
time in the XY plane and extruded in the Z dimension. Similarly, when parts are contained by a potting
region, the potting region and parts are meshed at the same time in the XY plane and extruded in the
Z dimension.

For example, the image below (1) shows a group of parts with different Corner Face values modeled
on a Bonded PCB model. Image 2 shows the same parts modeled inside of a potting region. Note how
the LEFT_RIGHT part (left-most) and FRONT_BACK part (center) are modeled using SQUARE sides because
of the potting region.

See the PCB Modeling (p. 237) and Potting & Staking (p. 359) user guide sections for more details con-
cerning those modeling features.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
312 of ANSYS, Inc. and its subsidiaries and affiliates.
3D Part Model Viewer

3D Part Model Viewer


The 3D block model generated by Sherlock for a given component can be previewed by pressing the
View the 3D Model of the Part button provided in the Part Editor ribbon. On the right of the part
properties, a 3D model of the part will appear.

View the 3D Model of the part

The Part Viewer provides the same 3D viewing features as the Sherlock 3D Viewer, allowing you to
pan, zoom and rotate the model. You can also define a custom viewing angle that is used by default
whenever the viewer is launched and adjust the shading and outline properties of the 3D Model.

3D Viewer Controls

(1) Export an image or a 3D PDF of the model


(2) Zoom in 3D model
(3) Zoom out 3D model
(4) Zoom fit 3D model
(5) Orientation of the model. Includes: Default (isometric), Top, Bottom, Front, Back, Left, Right,
Custom
(6) View model outline
(7) View model with mesh outline
(8) View model with solid body and outline
(9) View model with solid body and mesh outline
(10) View model as solid body and no outline
(11) Close the 3D model

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 313
FEA-03a Part Modeling

FEA Model Properties


Component models can be included in any FEA model generated by using any of the following analysis
menu options:

• Generate 3D Model

• Export FEA Model

• Edit Analysis Properties

In each of these cases, the Part Modeling tab defines the properties used to generate 3D component
models.

If the Part Modeling property is DISABLED, then no component models will be included in the FEA
model. This provides a convenient way to test a PCB by itself, without modifying the Parts List.

The Element Order property specifies the type of FEA element to be used when modeling each com-
ponent. First order elements are 3D elements based on a reduced set of nodes. They speed up analysis
times at the cost of providing less accurate results for certain types of analysis. Second order elements
are 3D elements that use mid-point nodes to improve result accuracy at the cost of additional analysis
time. Shell elements are best used for relatively flat elements, like those found in a PCB layer, but may
also be used in components to reduce analysis times.

The Min Part Size property is used to filter out small components. When that property is non-zero, any
component which has a length and width less than that value will be ignored when creating part
models.

The Max Mesh Size property specifies the approximate size of the mesh elements generated by Sherlock
or the FEA tool (when using the Export FEA Model option). Mesh elements will usually have dimensions
that are no greater than the value specified.

The Vertical Mesh Size property specifies the maximum height of the mesh elements generated by
Sherlock or the FEA tool (when using the Export FEA Model option). If a value of 0 is specified, no
limitation is used, and each element will be as tall as the part itself.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
314 of ANSYS, Inc. and its subsidiaries and affiliates.
FEA Model Properties

When ENABLED, the Filtered Part Results property will include predictions for parts that are not
modeled. The predictions are based on data related to the part's location.

Note:

Part Modeling property values are automatically saved by Sherlock each time an FEA model
is generated for a given analysis module and used as the default property values the next
time the Part Modeling tab is displayed for that analysis module.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 315
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
316 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 21: FEA-03b Lead Modeling
As explained in Part Modeling, (p. 305) you can choose to include 3D component models when gener-
ating an FEA model. By default, ANSYS Sherlock creates a simple block model of each component, based
on the package length, width, and thickness. For surface mount packages, such block models are usually
enough for reliability analysis because the analysis models used by Sherlock already take the package
type into account. For example, Sherlock considers the differences between a BGA and a QFN package
when predicting failure rates based on the maximum strain on the PCB surface experienced by such
parts. There are situations, however, when you might want to also model the leads of a surface mount
device to better understand the stresses on those leads or how they affect the overall mechanical
properties of the PCB. Similarly, for through-hole parts, analysis results can be improved in some situations
by modeling the individual leads. For that reason, Sherlock allows you to selectively enable/disable lead
modeling for individual parts as needed. This section describes how lead models are defined using
various lead properties and the modeling properties that can be used to control the modeling process.

Note:

Lead modeling may significantly increase the amount of time required to perform analysis.

Chapter Sections:
Lead Properties
BGA Solder Ball Properties
Surface Mount Lead Modeling
Through-Hole Lead Modeling
Solder Ball Modeling
2D Lead Viewing

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 317
FEA-03b Lead Modeling

Lead Properties
Sherlock uses a collection of properties specified in the Lead tab of the Part / Package Editors to
construct the lead models for a given part or package. The most important of these are the Lead Count
and Lead Geometry properties, that specify the total number of leads attached to the part (not
counting any sink) and the shape of those leads. All other lead properties are used to determine the
exact shape and placement of the leads, depending on the Lead Count and Lead Geometry property
values.

Lead modeling can be enabled/disabled for an individual part using the Lead Modeling property. This
allows users to construct detailed models for only specific parts to reduce analysis time.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
318 of ANSYS, Inc. and its subsidiaries and affiliates.
BGA Solder Ball Properties

BGA Solder Ball Properties


Sherlock uses a collection of properties specified in the Ball tab of the Part / Package Editors to con-
struct the ball models for a given BGA part or package. The most important of these is the Ball Modeling
property that allows users to enable/disable solder ball modeling for a specific part. When enabled, the
exact size, composition, and layout of the solder balls in the 3D model is determined by the other solder
ball properties as defined in the Solder Ball Modeling (p. 330) section.

Note:

The Lead Modeling property found in the Lead Modeling panel in the analysis input dialog
is used to enable/disable lead and solder ball modeling for the entire circuit card during an
analysis run.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 319
FEA-03b Lead Modeling

Surface Mount Lead Modeling


Sherlock can generate models for the following types of SMT leads:

Table 21.1: SMT Lead Types

C_Lead J_Lead Gullwing Stub L_Lead

For each model, the exact shape and placement of each lead depends on various lead properties, as
we now explain.

C_Lead / J_Lead Model

Sherlock models C and J leads using the same basic elements (for example, shoulder, leg, foot, etc)
in the same relative arrangement, with the foot tucked back under the part. In practice, C leads usually
have equal Shoulder and Foot lengths, whereas the Foot is usually longer than the Shoulder in J
leads. In the real world, J leads also have a toe that curls toward the bottom of the part, but for sim-
plicity and ease of modeling, Sherlock ignores the toe when modeling the J lead. The following diagram
depicts how each of the lead properties are used by Sherlock to construct a C_Lead or J_Lead model.

When incorporated into the FEA model, each C or J lead is bonded to the part using the side shoulder
face and bonded to the PCB using the bottom foot face.

Gullwing Model
The Gullwing model generated by Sherlock is similar to the C_Lead and J_Lead model, except that
the foot points away from the part body. The following diagram depicts how each of the lead prop-
erties are used by Sherlock to construct a Gullwing lead model.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
320 of ANSYS, Inc. and its subsidiaries and affiliates.
Surface Mount Lead Modeling

When incorporated into the FEA model, each Gullwing lead is bonded to the part using the side
shoulder face and bonded to the PCB using the bottom foot face.

Stub Model
Stub leads in Sherlock can be used to represent a variety of different types of simple leads or pads
in real-world packages, based on the following block model properties.

When incorporated into the FEA model, each Stub lead is bonded to the part using the top foot face
(if any) and the side shoulder face (if any) and is bonded to the PCB using the bottom foot faces. By
setting these properties in various ways, multiple configurations can be created. Specifically, the fol-
lowing stub lead configurations can be modeled by Sherlock. NOTE: In all configurations Lead Foot
Length and Lead Thickness are always greater than 0.

Table 21.2: Stub Model Lead Configurations

Stub Foot Only

Shoulder = 0

Standoff = Thickness
Stub Extended Foot

Shoulder < Foot Length

Standoff = Thickness
Stub Shoulder Only

Shoulder = Foot Length

Standoff = 0
Stub Foot & Shoulder

Shoulder > 0

Shoulder < Foot Length

Standoff > 0

Standoff < Thickness

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 321
FEA-03b Lead Modeling

L_Lead Model
The L_Lead model consists of three brick elements, called the foot, elbow and leg. The top of the
vertical leg element is always bonded to the bottom of the part body. When using the Bonded
model, the bottom of the horizontal foot and elbow elements are bonded to the PCB. The following
lead properties are used to define L_Leads.

L_Leads can be arranged using the SIP, DIP and CIRCULAR layouts.

SIP

When the SIP layout (A, below) is specified, the Lead Count must be exactly 2. The leads will be located
lengthwise along the part body centerline and the lead feet will point to the left and right sides of
the part body. The Lead Pitch property is used to determine the location of each lead along the part
centerline.

DIP

When the DIP layout (B) is specified, the Lead Count must be at least 2 and the lead feet will point
to the front and back sides of the part body. The Lead Pitch property determines the spacing of
leads in each row. The Lead Shoulder property determines the set-back of the vertical leg from the
part body side.

Circular

When the CIRCULAR layout (C) is specified, the Lead Count must be at least 2 and the lead feet will
point outwards from the center point. The Lead Shoulder property determines the distance from
the edge of the part body to the circle of lead centers.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
322 of ANSYS, Inc. and its subsidiaries and affiliates.
Surface Mount Lead Modeling

Lead Placement
In addition to the properties used to define the individual lead models, the Lead Layout property is
provided to allow users to easily modify the placement of leads around a part. Although some real-
world packages have some unique lead placements, the generalized layouts provided by Sherlock
cover most lead patterns and are usually sufficient for FEA purposes. The following Lead Layout
choices are supported, where N is the number of leads specified in the Lead Count property:

Table 21.3: Lead Layouts

Single Single_Sink

N leads are placed along the length of N leads are placed on the same side of
the part on the same side. the part and a sink is placed on the
opposite side of the part. The
dimensions of the sink are specified by
the Sink Length, Sink Width and Sink
Thickness properties.

Lead Count = 4 Lead Count = 4

Single_1 Single_2

N-1 leads are placed along the length N-2 leads are placed along the length
of the part and a single lead is of the part and 2 leads are placed on
centered on the opposite side of the the opposite side such that the outer
part. each of the leads are aligned with the
outer edges of the leads on the other
side.

Lead Count = 4 Lead Count = 5

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 323
FEA-03b Lead Modeling

Table 21.4: Lead Layouts (continued)

Dual_Long Dual_Short

N/2 leads are placed along the longest N/2 leads are placed along the shortest
side of the part on opposite sides. If an side of the part on opposite sides. If an
odd number of leads is specified, one odd number of leads is specified, one
side will have an extra lead. side will have an extra lead.

Lead Count = 4 Lead Count = 4

Quad Rectangular

N/4 leads are placed along each side The number of leads placed along the
of the part. If N is not divisible by 4, long side of the part determined by
the extra leads will be ignored. Lead Long Count and the number
placed along the short side determined
by Lead Short Count.

Lead Count = 4

In all cases, leads are centered along each part side, spaced by the Lead Pitch property.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
324 of ANSYS, Inc. and its subsidiaries and affiliates.
Through-Hole Lead Modeling

Through-Hole Lead Modeling


Through-hole leads can be modeled for a given part (or package) by setting Lead Geometry to
THRUHOLE in the Part Editor (or Package Editor). At that point, the following Lead Layout property
values are available to arrange the through-hole leads:

Table 21.5: Lead Layout Properties

SIP Layout - Single rows of


leads attached to the
bottom of the component,
running along the length
of the component.

SIP_SINK Layout - Same as SIP


layout, with the addition of a
heat sink on the top of the part.

DIP Layout - Two rows of


leads attached to the
bottom or side of the
component, running along
the length of the
component.
AXIAL Layout - Two leads
that are attached to
opposite ends of the
component.

CIRCULAR Layout - Two or


more leads arranged in a
circle and attached to the
bottom of the component.

GRID Layout - Similar to


the SIP layout, with the
exception that the leads
are arranged in a
rectangular grid pattern on
the bottom of the part
body.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 325
FEA-03b Lead Modeling

We now discuss how the lead properties are used by each through-hole layout type.

SIP Layout
The SIP layout consists of a single row of leads attached to the bottom of the component, running
along the length of the part on the longitudinal centerline of the part, as shown in the following
diagrams:

The Lead Count property specifies the number of leads in the row and the Lead Pitch property de-
termines the center-to-center spacing of the leads along the row. The Lead Width and Lead Thickness
properties specify the cross-section dimensions of the lead. The Lead Width is measured along the
length of the part, while the Lead Thickness is measured along the width of the part.

SIP leads can be straight or bent, depending on the value of the Lead Bend property.

For straight leads (that is, Lead Bend = 0), the Lead Height property specifies the distance from the
PCB to the bottom of the part. The Lead Shoulder property is ignored for straight leads.

For bent leads (that is, 0 < Lead Bend <= 90), the Lead Height property specifies the distance from
the PCB to the mid-point of the bend and the Lead Shoulder property determines the distance from
the inside corner of the bend to the part.

SIP_SINK Layout
The SIP_SINK layout consists of a single row of leads attached to the bottom of the component,
running along the length of the component on the longitudinal centerline of the part and a single
sink attached to the top of the part, as shown in the following diagrams:

The Lead Count property specifies the number of leads in the row and the Lead Pitch property de-
termines the center-to-center spacing of the leads along the row. The Lead Width and Lead Thickness

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
326 of ANSYS, Inc. and its subsidiaries and affiliates.
Through-Hole Lead Modeling

properties specify the cross-section dimensions of the lead. The Lead Width is measured along the
length of the part, while the Lead Thickness is measured along the width of the part.

SIP_SINK leads can be straight or bent, depending on the value of the Lead Bend property.

For straight leads (that is, Lead Bend = 0), the Lead Height property specifies the distance from the
PCB to the bottom of the part. The Lead Shoulder property is ignored for straight leads.

For bent leads (that is, 0 < Lead Bend <= 90), the Lead Height property specifies the distance from
the PCB to the mid-point of the bend and the Lead Shoulder property determines the distance from
the inside corner of the bend to the part.

The dimensions of the sink on top of the part are specified by the Sink Length, Sink Width and Sink
Thickness properties, as depicted in the diagrams above. The sink is always centered along the length
of the part and aligned with the back face of the part.

DIP Layout
The DIP layout consists of two rows of leads attached either to the bottom or side of the component,
running along the length of the component. The Lead Count property specifies the total number of
leads, which should be an even number. The Lead Pitch property determines the center-to-center
spacing of the leads along each row. The Lead Width and Lead Thickness properties determine the
cross-section dimensions of the lead. DIP leads can be straight or bent by 90 degrees as specified by
the Lead Bend property.

Straight leads (that is, Lead Bend = 0) are attached to the bottom of the part, as shown in the following
diagrams:

For straight leads, the Lead Height property specifies the distance from the PCB to the bottom of
the part and the Lead Shoulder property specifies the distance from the length-wise sides of the
part to the center of the lead.

Bent leads (that is, Lead Bend = 90) are attached to the length-wise sides of the part, as shown in
the following diagrams:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 327
FEA-03b Lead Modeling

For bent leads, the Lead Height property specifies the distance from the PCB to the mid-point of the
bend and the Lead Shoulder property specifies the distance from the inside corner of the bend to
the side of the part. The Lead Standoff property specifies the distance from the PCB to the bottom
of the part, which also determines the vertical position where the leads attach to the side of the part.
The Lead Height should be greater than Lead Standoff + Lead Thickness / 2 and should be less than
Lead Standoff + Part Thickness - Lead Thickness / 2.

AXIAL Layout
The AXIAL layout consists of two leads that are attached to opposite ends of the component. The
Lead Width and Lead Thickness properties determine the cross-section dimensions of the leads.
AXIAL leads can be bent either 90° or 180° as specified by the Lead Bend property.

AXIAL 90 leads (that is, Lead Bend = 90) are attached to the left and right sides of the component,
as shown in the following diagrams:

For AXIAL 90 leads, the Lead Height property specifies the distance from the PCB to the mid-point
of the bend and the Lead Shoulder property specifies the distance from the inside corner of the
bend to the side of the part. The Lead Standoff property specifies the distance from the PCB to the
bottom of the part, which also determines the vertical position where the leads attach to the side of
the part.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
328 of ANSYS, Inc. and its subsidiaries and affiliates.
Through-Hole Lead Modeling

AXIAL 180 leads (that is, Lead Bend = 180) are attached to the top and bottom of the component,
as shown in the following diagrams:

For AXIAL 180 leads, the Lead Height property specifies the distance from the PCB to the mid-point
of the bend and the Lead Shoulder property specifies the distance between the two vertical leads.
The Lead Standoff property specifies the distance from the PCB to the bottom of the part, which
also determines the distance between the top of the part and the bottom of top horizontal lead
segment.

The Lead Height should be greater than Lead Standoff + Lead Thickness / 2 and should be less than
Lead Standoff + Part Thickness - Lead Thickness / 2.

CIRCULAR Layout
The CIRCULAR layout consists of two or more straight leads arranged in a circle and attached to the
bottom of the part, as shown in the following diagrams:

The Lead Count property specifies the total number of leads. The Lead Width and Lead Thickness
properties determine the cross-section dimensions of the leads. The Lead Height property specifies
the distance between the PCB and the bottom of the part.

The Lead Shoulder property specifies the distance from the edge of the part to the circle along which
the leads are placed. If the part length and part width are different, the Lead Shoulder distance will
be measured along the shorter dimension to determine the layout circle, as shown in the following
diagram:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 329
FEA-03b Lead Modeling

GRID Layout
The GRID layout is similar to the SIP layout, with the exception that the leads are arranged in a rect-
angular grid pattern on the bottom of the part body, as shown in the following diagrams:

The Lead Long Count and Lead Short Count properties specify the number of leads along the long
and short sides of the part, respectively. In the examples shown above, Lead Long Count is 3 and
Lead Short Count is 2. The Lead Count property specifies the total number of leads and should always
be equal to Lead Long Count multiplied by Lead Short Count.

The Lead Pitch property determines the center-to-center spacing of the leads along each row and
column. The Lead Width and Lead Thickness properties determine the cross-section dimensions of
the leads.

GRID leads can be straight or bent, depending on the value of the Lead Bend property.

For straight leads (that is, Lead Bend = 0), the Lead Height property specifies the distance from the
PCB to the bottom of the part. The Lead Shoulder property is ignored for straight leads.

For bent leads (that is, 0 < Lead Bend <= 90), the Lead Height property specifies the distance from
the PCB to the mid-point of the bend and the Lead Shoulder property specifies the distance from
the inside corner of the bend to the part.

Solder Ball Modeling


BGA solder balls can be modeled for a given part (or package) by setting the Ball Modeling property
to either ONE ELEMENT or TWO ELEMENTS, which determines the number of elements used to model
each solder ball, as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
330 of ANSYS, Inc. and its subsidiaries and affiliates.
Solder Ball Modeling

One element solder balls are modeled by a single brick element that can be a first order, second order
or shell element, depending on the Element Order property defined in the Lead tab of the analysis /
export input dialog. One element solder balls reduce the number of elements generated for BGA parts,
thereby decreasing analysis time.

Two element solder balls are modeled by a pair of brick elements that share common nodes. As with
one element solder balls, the elements can be first order, second order or shell elements based on the
analysis input properties. Two element solder ball models more closely represent the actual shape of
a solder ball, at the cost of increased model complexity and analysis times.

The Ball Material property is used to specify the material properties assigned to each solder ball. The
Ball Material must reference one of the solder materials specified in the [Link] file. See the section
on User Data Files and Documents (p. 733) for more details.

Note:

Solder balls are always modeled as square vertical leads when exporting an FEA model to
Abaqus and ANSYS to reduce the possibility of the FEA engines generating extremely small
or irregular elements when meshing the solder ball shapes.

Solder Ball Shape Properties


The properties used to specify the shape of a solder ball are listed and illustrated below.

Table 21.6: Ball Shape Properties

• Ball Diameter

• Ball Height

• Ball Package Diameter

• Ball Units

• Ball Pad Diameter

The Ball Diameter property (ballDiam) specifies the size of the square faces at the top and bottom
of a one element solder ball and the size of the square middle face of a two-element solder ball.

The Ball Package Diameter property (ballPkgDiam) specifies the size of the square face at the top
of a two-element solder ball. The property is ignored for one element solder balls.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 331
FEA-03b Lead Modeling

The Ball Pad Diameter property (ballPadDiam) specifies the size of the square face at the bottom of
a two-element solder ball. The property is ignored for one element solder balls.

The Ball Height property (ballHeight) specifies the overall height of the solder ball.

The Ball Units property specifies the type of units entered for all shape properties.

Solder Ball Layout Properties


The following properties are used to specify the layout of all solder balls for a given part:

Table 21.7: Solder Ball Layout Properties

Ball Pattern Ball Count Ball Units


Ball Pitch Ball Chan Width Ball Perimeter Rows
Ball Perimeter Cols Ball Island Rows Ball Island Cols

By defining these properties in various ways, a large variety of common and non-common BGA solder
ball patterns can be modeled in Sherlock.

The Ball Pattern property specifies the overall layout pattern for the BGA solder balls, with the fol-
lowing patterns supported:

Additionally, a pattern named NETLIST exists which will use the ball locations defined in netlist for
the part instead of the parameterized values here. The NETLIST pattern only makes use of the Solder
ball shape properties.

For each supported pattern, one or more of the layout properties are used to specify the exact layout
of solder balls, as we now discuss.

Full Ball Pattern


The table below lists the properties used to specify the Full solder pattern. The Full pattern consists
of a solder ball grid that contains a given number of rows and columns specified by the Ball Peri-

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
332 of ANSYS, Inc. and its subsidiaries and affiliates.
Solder Ball Modeling

meter Rows and Ball Perimeter Cols properties, respectively. The balls are spaced, both horizontally
and vertically, based on the Ball Pitch property.

Table 21.8: Full Ball Pattern Properties

• Ball Count

• Ball Perimeter Rows

• Ball Pitch

• Ball Perimeter Cols

Perimeter Ball Pattern


The following properties are used to specify the Perimeter solder pattern:

Table 21.9: Perimeter Solder Pattern Properties

• Ball Count

• Ball Perimeter Rows

• Ball Chan Width

• Ball Pitch

• Ball Perimeter Cols

The Perimeter pattern consists of one or more rows/cols of solder balls that run along the perimeter
of the part. The outer pattern of solder balls is specified by the Ball Perimeter Rows and Ball
Perimeter Cols properties. The space between solder balls, both horizontally and vertically, is
specified by the Ball Pitch property.

The Ball Chan Width, Ball Pitch and Ball Diameter property values determine the number of rows
and columns generated in the Perimeter layout. Specifically, the number of perimeter rows and
columns is equal to:

(Ball Chan Width - Ball Diameter) / Ball Pitch

For example, if the Ball Chan Width is 10 mm, Ball Diameter is 1 mm and Ball Pitch is 3 mm, then
the number of rows and columns generated is (10 - 1) / 3 = 3.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 333
FEA-03b Lead Modeling

Channel Ball Pattern


The following properties are used to specify the Channel solder pattern:

Table 21.10: Channel Ball Pattern Properties

• Ball Count

• Ball Perimeter Rows

• Ball Chan Width

• Ball Pitch

• Ball Perimeter Cols

The Channel pattern is similar to the Perimeter pattern, except that the channels are generated
only on two sides of the part. The number of rows in each channel is determined by the Ball Chan
Width, Ball Pitch and Ball Diameter property values just like the Perimeter pattern.

Island Ball Pattern


The table below shows the properties used to specify the Island solder pattern. The Island pattern
is similar to the Perimeter pattern, except that there is a grid of solder balls located in the center
of the part. As with the Perimeter layout, the number of solder ball rows and columns on the peri-
meter of the part are determined by the Ball Chan Width, Ball Pitch and Ball Diameter property
values.

The grid of solder balls located in the center of the part is determined by the Ball Island Rows and
Ball Island Cols properties.

Table 21.11: Island Solder Pattern Properties

• Ball Count

• Ball Perimeter Rows

• Ball Island Rows

• Ball Chan Width

• Ball Pitch

• Ball Perimeter Cols

• Ball Island Cols

Corner Solder Balls


In some BGA solder patterns, one or more corner balls may be missing, resulting in some unique
patterns. Although Sherlock is not capable of modeling such arbitrary solder ball patterns, users

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
334 of ANSYS, Inc. and its subsidiaries and affiliates.
Solder Ball Modeling

may use the Ball Count property to have Sherlock automatically remove one or more corner balls.
For example, consider the pattern specified by the following properties:

• Ball Pattern = Full

• Ball Perimeter Rows = 12

• Ball Perimeter Cols = 12

Depending on how the Ball Count property is defined, Sherlock will generate the following patterns:

Table 21.12: Corner Ball Count Patterns

Ball Count = 144

No corners missing

Ball Count = 142

2 corners missing

Ball Count = 140

4 corners missing

Ball Count = 128

16 corners missing

Automatic corner ball removal is performed for Full, Perimeter and Island patterns whenever the
Ball Count is less than the number of balls specified by the layout row and column properties.
Corner balls are removed equally from all four corners of the pattern until the required number of
removals is attained. Outer most solder balls are always removed first in each corner.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 335
FEA-03b Lead Modeling

Automatic Consistency Checks


Sherlock performs a set of consistency checks whenever a BGA part or package model is created
for visualization or analysis purposes. If any inconsistencies are found, a warning is printed to the
Sherlock console and default values are used to eliminate the inconsistency. As such, it is important
for all Sherlock users to use the View 3D Model button available in the Part Editor and Package
Editor to ensure that the properties specified for a given part or package actually generate the
desired BGA solder ball pattern.

2D Lead Viewing
Starting in Version 5.0, the Layer Viewer optionally allows users to display a 2D representation of com-
ponent leads using the Leads filter. For example, the following image shows a region of the tutorial
board with the Leads filter disabled.

In this case, the Q1 and Q2 parts are displayed using simple rectangular outlines because the Leads
filter is disabled. If the Leads filter is enabled, the following rendering would be generated:

In this case, the Q1 is displayed by a set of rectangular outlines showing the location of each gullwing
lead and the heatsink tab as viewed from above. The Q1 component is defined as a SOT-223 package
and has the Lead Modeling part property set to Enabled. The Q2 part is still rendered by a simple
rectangle because the Lead Modeling part property is Disabled for Q2.

All types of leads (for example, J-lead, Gullwing, Balls, etc) are supported, including through-hole leads.
In most cases, the main body of the part will be seen in the same size and orientation regardless of the

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
336 of ANSYS, Inc. and its subsidiaries and affiliates.
2D Lead Viewing

Leads filter setting because SMT leads and non-bent through-hole leads have no effect on the location
of the part body in the XY plane. However, when displaying through-hole parts with bent leads, the
exact size and orientation of the part and lead profile will vary depending on the height, bend and
shoulder length of the lead.

For example, consider the through-hole part shown above with leads that have a 45 degree bend in
them. When viewed from above in the Layer Viewer, the main body of the part will appear to one side
of the center location, instead of directly above it, as can be seen in the image from the Layer Viewer
shown here.

This image shows how most SMT and through-hole parts are still centered over the part label (which
denotes the center location assigned to the part) when leads are rendered, but not the VR3 part which
has 45-degree bent leads. In such cases, the 3D representation of the part and leads is projected onto
the XY plane to be displayed in the Layer Viewer.

It is important to remember that the label associated with each part is always displayed at the location
assigned to the part in the Parts List, regardless of the part/lead outline. Furthermore, when selecting
a part for editing in the Component Editor, the simplified top-view outline of the part will be high-
lighted, not the part/lead outline, as can be seen here:

Highlighted regions always show the size and orientation of the part when viewed from above without
any consideration for lead orientation. This approach is taken so that users can easily resize, rotate,
and move the part using the selected region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 337
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
338 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 22: FEA-03c Heat Sink Modeling
ANSYS Sherlock has the capability to model various types of heat sinks in addition to the PCB, compon-
ents, and mount points for Finite Element Analysis (FEA) purposes. Heat sinks are modeled with a set
of properties defined in the layer viewer. Once added to a circuit card assembly (CCA), these heat sinks
are used during analysis. Heat sinks may optionally be attached to mount pads which are attached to
the PCB.

Chapter Sections:
Heat Sink Modeling
Heat Sink Modeling Properties
Creating Heat Sinks
Heat Sink Analysis

Heat Sink Modeling


The Sherlock analysis modules make use of the following properties for heat sink modeling.

Table 22.1: Heat Sink Modeling Properties

Heat Sink Layout Heat Sink Material Heat Sink Units


Heat Sink Length Heat Sink Width Heat Seat Thickness
Heat Sink Fin Height Heat Sink Fin Width Heat Seat Fin Thickness
Heat Sink Length Fin Pitch Heat Sink Width Fin Pitch Heat Sink Fin Bend
Heat Sink Fin Shoulder

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 339
FEA-03c Heat Sink Modeling

Heat Sink Layouts


The Heat Sink Layout property defines the basic shape of a heat sink. Supported values are:

Single Fin – heat sink with a single row of fins along the length of one edge of the heat sink base.
Fins may be vertical or have a bend up to 90 degrees. The number of fins is governed by the length
of the heat sink base, the fin length pitch, and the fin width.

Dual Fin – heat sink with two rows of fins, each along the length of one edge of the heat sink base.
Fins may be vertical or have a bend up to 90 degrees. The number of fins is governed by the length
of the heat sink base, the fin length pitch, and the fin width.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
340 of ANSYS, Inc. and its subsidiaries and affiliates.
Heat Sink Modeling

Pin Fin – heat sink with one or more rows and columns of fins. The number of fins along the length
of the heat sink is governed by the length of the heat sink, the fin length pitch, and the fin width.
The number of fins along the width of the heat sink is governed by the width of the heat sink, the
fin width pitch, and the fin thickness.

Straight Fin – heat sink with one or more rows of fin blades. The length of the fin blades is governed
by the fin width. The number of fins is governed by the width of the heat sink, the fin width pitch,
and the fin thickness.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 341
FEA-03c Heat Sink Modeling

No Fin – heat sink with no fins or fin blades.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
342 of ANSYS, Inc. and its subsidiaries and affiliates.
Heat Sink Modeling Properties

Heat Sink Modeling Properties


Heat sinks are modeled based on a set of properties. The following properties define how a given heat
sink layout is modeled.

• Heat Sink Length: Length of the heat sink (usually maximum dimension).

• Heat Sink Width: Width of the heat sink (usually minimum dimension).

• Heat Sink Thickness: Thickness (height) of the heat sink base.

• Heat Sink Fin Bend: Indicates how far the heat sink fin is bent from vertical in degrees. When set to
zero (0), the fin will be straight and vertical. When greater than zero, the fin will be modeled by a
lower vertical segment and an upper shoulder segment that is bent from vertical by the specified
amount. The length of the vertical segment is specified by the Heat Sink Fin Height property, while
the length of the shoulder segment is specified by the Heat Sink Fin Shoulder property.

For Single-Fin and Dual-Fin layouts, the angle may be between 0 and 90 degrees (inclusive). For all
other layouts, the angle must be 0 degrees.

• Heat Sink Fin Height: Height of the heat sink fin for straight fins and the length of the vertical segment
of bent fins. For bent fins, the height specifies the location where the center of the shoulder segment
intersects the vertical segment.

• Heat Sink Fin Width: Width of the heat sink fin (usually the maximum dimension).

• Heat Sink Fin Thickness: Thickness of the heat sink fin (usually the minimum dimension).

• Heat Sink Length Fin Pitch: The center-to-center distance between adjacent fins along the length
of the heat sink.

• Heat Sink Width Fin Pitch: The center-to-center distance between adjacent fins along the width of
the heat sink.

• Heat Sink Fin Shoulder: The length of the non-vertical fin segment for bent fins.

• Heat Sink Material: Primary material of which the heat sink is made. Material names are defined in
the material data file provided by Sherlock and/or a user-defined data file.

• Heat Sink Units: Unit of length for all sink measurement properties.

• Weight: The estimated heat sink weight is displayed when viewing heat sink properties. This is a
read-only field only intended for reference.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 343
FEA-03c Heat Sink Modeling

Creating Heat Sinks


Heat sinks are added in the Layer Viewer. Using the ODB++ Tutorial (p. 27)example, select Edit Heat
Sinks from the Edit menu of the Layer Viewer. The Heat Sink Editor will now be indicated along the
bottom of the Layer Viewer.

To add a heat sink, right-click one an area on one of the components displayed and select Add Heat
Sink. This will display the Add Heat Sink dialog.

This dialog allows for the definition of all the properties that define the location of the heat sink and
the properties of the heat sink. When adding a heat sink to a component, the default length and width
values of the heat sink will be the same as the part.

Heat sinks may be placed on top of or underneath of parts. When placing underneath of parts, typically
select either the single-fin or dual-fin heat sink layout as these two layouts line the fins along the outside
of the edge of the heat sink.

To view a definition of each of the heat sink properties along with a diagram of how each is defined
for every heat sink layout, click the question mark next to the desired property.

To add this heat sink, click the Save the changes and exit the editor button in the dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
344 of ANSYS, Inc. and its subsidiaries and affiliates.
Creating Heat Sinks

Save the changes and exit the editor

Reset the form to the currently saved values

View the 3D model of the heat sink

Refresh the 3D model

Close the dialog

Updating Heat Sinks


In the layer viewer, verify the Heat Sinks folder is opened in the Layers menu and the desired side
of the PCB is selected to see all heat defined heat sinks. Similar to other layer viewer editors, right-
click the heat sink to be modified, then select Edit Properties from the pop-up menu. The same
dialog is presented for updated properties as is created for adding heat sinks.

From the pop-up menu, you may also select to move the heat sink which will allow you to reposition
the heat sink by using the mouse to move the heat sink to the desired location. You may rotate the
heat sink one of the predefined offsets. Adjustments to the rotation other than 45 and 90 degree in-
crements may be made from the heat sink properties dialog. You may copy the heat sink, which will
result in an identical heat sink created and located next to the existing heat sink. You may delete the
heat sink. When you are complete with the Heat Sink editor you must Save or Apply any changes
for them to take affect.

Multiple heat sinks may also be selected and the properties of those heat sinks updated at the same
time. When the properties for more than one heat sink are edited at the same time, any heat sink
property which varies between the selected heat sinks will display the value <VARIOUS>. Any field
which is left as the value <VARIOUS> when saving the form will leave the original heat sink value
specified for that given field. Any other field values will be assigned to all selected heat sinks.

Heat Sink Attachment Points


Heat sinks may be located over top of mount points defined as mount pads or standoffs. When a
heat sink is located over top of these mount points heat sink attachment points may be created
between the heat sink and the mount point. To add an attachment point to a heat sink, place the
heat sink over top of a mount point using the Heat Sink Editor in the Layer Viewer. Now make sure
no heat sinks are selected, then right-click a mount point that should become an attachment point
for the heat sink. If the mount point meets all the properties to become an attachment point, then
a pop-up menu should appear to add the selected mount point as a heat sink point. Repeat this
process for each of the desired mount points. To remove a mount point as a heat sink attachment
point, right-click the mount point and select Remove Heat Sink Point.

Attachment points for heat sinks must adhere to the following conditions:

• Attachment points attach the heat sink to the PCB

• Attachment points must be fully contained by the heat sink outline

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 345
FEA-03c Heat Sink Modeling

• Attachment points may not intersect or be contained by any part outline

• Attachment points may not be defined when a heat sink is under a part

• All attachment points assigned to a heat sink must have the same height

• Attachment points on heat sinks covering a part must be at least as tall as the height of the part

Viewing Heat Sink 3D Model


From the heat sink editor dialog, click the View the 3D Model of the Heatsink icon to launch a 3D
representation of the heat sink as defined in the dialog. You may also right-click the heatsink in the
Layer Viewer and select View 3D Model. To quickly see how changes to the heat sink properties in
the Heat Sink Editor affect the the model, click the Refresh 3D Model icon. Be aware, however, that
you cannot view the 3D model when editing multiple heat sinks simultaneously, as their properties
will vary.

Heat Sink Analysis


Heat sinks can be selectively enabled/disabled in any FEA generated using any of the following menu
options:

• Generate 3D Model

• Export FEA Model

• Edit Analysis Properties

In all cases, the Heat Sinks property tab is used to specify the following heat sink analysis properties:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
346 of ANSYS, Inc. and its subsidiaries and affiliates.
Heat Sink Analysis

The Element Order property specifies the type of FEA elements to use when modeling the heat sink.
First order elements reduce analysis complexity and run time, but may not result in the most accurate
results, depending on the type of material and structure of the heat sink. Second order elements use
more nodes to define the heat sink, allowing it to model additional mechanical behaviors, like twisting,
but also requires additional analysis time. Shell elements reduce analysis time even further by approx-
imating the heat sink elements with special 2D elements.

The Max Mesh Size property specifies the desired size of each element generated by either the Sherlock
meshing algorithm (for Merged or Bonded PCB models) or by a native FEA meshing algorithm (for
Geometric models).

The Vertical Mesh Size property specifies the maximum vertical distance that can be spanned by a
given element used to model the heat sink. If a 0 value is specified, then no limit is imposed and each
element used in the heat sink model will be as tall as necessary.

Note:

The Heat Sinks Modeling tab is only enabled when Part Modeling is enabled.

Heat Sink Results


There are no specific analysis results generated by Sherlock for heat sinks. Much like mount points
and mechanical parts, they are used to make the FEA model itself more accurate, thereby affecting
all PCB and component results. Nonetheless, heat sink can be selectively viewed in the Sherlock 3D
Viewer as part of the FEA model and/or analysis results. For example, the following image shows a
heat sink mounted on top of a large component:

Heat sinks may be selectively hidden and displayed in the 3D Viewer by enabling or disabling Heat
Sinks in the Features panel.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 347
FEA-03c Heat Sink Modeling

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
348 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 23: FEA-04 Wire Bonds
Wire bonding is a common method used to connect an integrated circuit to the pins or pads of the
package in which it is contained. It is also used in some situations to make connections between a pair
of ICs or between an IC and the PCB. In either case, the wires used are usually made of aluminum,
copper, silver or gold. Wire diameters can be as small as 15 microns or as large as several hundred microns
for high-powered applications.

ANSYS Sherlock allows users to interactively define one or more wire bonds that attach to either a
component or the PCB at designated locations. Users can also import/export batches of wire bond
definitions via various file formats.

Note:

When wire bonds are enabled for FEA analysis, the corresponding analysis results for mech-
anical shock, vibration, and ICT will each include a results table for each wire bond.

Adding Wire Bonds


3D Model Viewer
Editing Wire Bonds
Wire Bond Export
Wire Bond Import
3D FEA Modeling
Wire Bond Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 349
FEA-04 Wire Bonds

Adding Wire Bonds


Wire bonds are added using the Edit > Edit Wire Bonds menu option found in the 2D Layer Viewer
main menu, accessible by double clicking Layers under Inputs in the Project Tree. When selected, the
Wire Bond Editor control buttons will be displayed at the bottom of the 2D Layer Viewer panel and the
Mechanical > Wire Bonds layer category will be enabled so that all existing wire bonds will be displayed.
Wire bonds are displayed as thin dark yellow lines by default. You can change the display color assigned
to wire bonds using the Settings > General Settings > Color menu option available in the Sherlock
main menu.

To add a wire bond, right-click anywhere on the circuit card and select the Add Wire Bond option from
the pop-up menu. At that point, the Add Wire Bond dialog will be displayed, allowing you to specify
the desired properties for the new wire bond. Sherlock automatically assigns a unique ID to each wire
bond, but you are free to change the ID to whatever is required, provided it is still unique.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
350 of ANSYS, Inc. and its subsidiaries and affiliates.
Adding Wire Bonds

The Board Side property specifies the side of the board on which the wire bond is located. Sherlock
will automatically determine which component(s), if any, are located under the wire bond whenever a
3D model is generated. This allows users to freely position wire bonds and components without having
to maintain correlations between them.

The Material property specifies the type of material used for the wire bond, which is passed directly
into the resulting 3D FEA model.

The Location panel defines the start and end points of the wire bond. Such locations are typically edited
graphically in the layer viewer (more on this shortly), but you are free to enter exact locations in the
dialog as well.

The Dimensions panel defines the relevant dimensions (illustrated below) of the wire bond. The Wire
Thickness property defines the square cross section of the wire.

The Weld Length properties define the length of the foot on each end of the wire where it is connected
to the underlying component or PCB.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 351
FEA-04 Wire Bonds

The Arc Height property defines the height of the arc, measured from the HIGHEST foot position. For
example, if the start point of the wire bond is sitting on top of a component and the end point is sitting
on the PCB, then the Arc Height will be measured from the top of the component, not the PCB surface.

The Arc Shape property controls the shape of the Bezier curve generated by Sherlock to represent the
wire as it bends from the start point to the end point (which may have different vertical coordinates),
through the specified height. Bezier curves are well-suited for 3D modeling, because they are smooth
enough to prevent any distortions, yet they can be controlled by a single property.

The Arc Shape property is specified as a numeric value between 0 and 1 that defines how pointy the
arc will be, as depicted in the following images.

Table 23.1: Arc Shapes

Arc Shape = 0.0 Arc Shape = 0.5 Arc Shape = 1.0

An Arc Shape value of 0.0 results in a very full arc, that comes up almost vertically from each foot and
has a wide, rounded form. An Arc Shape of 1.0 results in a narrow, almost triangular arc.

3D Model Viewer
The View 3D Model button at the bottom of the wire bond property dialog can be used to visualize
the impact of the various dimensional properties on the wire bond arc. Once pressed, the Wire Bond
Viewer will be displayed, showing the 3D model for the current set of properties, assuming that each
foot of the wire bond is sitting at the same vertical level.

As with other 3D viewers in Sherlock, you can pan, zoom and rotate the model as needed to examine
the shape. You can also generate a snapshot image for documentation or reporting purposes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
352 of ANSYS, Inc. and its subsidiaries and affiliates.
Editing Wire Bonds

If you change any of the property values in the property dialog, simply press the View 3D Model button
again to update the 3D display using the new properties.

Editing Wire Bonds


Existing wire bonds can be edited graphically in the 2D Layer Viewer or using the Edit Wire Bond
dialog. In both cases, the editing process begins by left-clicking a wire bond in the 2D Layer Viewer
while holding down the SHIFT key to select the wire bond. Once selected, the wire bond will be high-
lighted by a red polygon with 6 control nodes, as shown in this image.

To change the location of either end point, simply left-click any of the control nodes and drag them to
the desired location. The normal pan and zoom features provided by the 2D Layer Viewer can be used
at any time to more precisely position the wire bond end points as needed. To change the location of
the wire bond without changing its overall length, left-click anywhere inside of the highlighted region
and drag the entire wire bond to the desired location.

You can right-click anywhere in the selected wire bond region to display the following additional editing
options:

• Edit Properties

• Copy Wire Bond

• Delete Wire Bond

The Edit Properties menu option displays the Edit Wire Bond dialog that is identical to the Add Wire
Bond dialog previously discussed. The Edit Wire Bond dialog allows you to modify any of the properties
associated with the wire bond.

The Copy Wire Bond menu option immediately copies the selected wire bond to a nearby location
and selects the new wire bond for editing. Typically, the wire bond is then dragged to the proper location
and the process is repeated for all the wire bonds needed by a given component. In this way, users can
quickly define a set of identical wire bonds that vary only in their location.

The Delete Wire Bond menu option is used to delete an existing wire bond.

As with most other Sherlock 2D Layer editors, multiple wire bonds can be selected by SHIFT-left-clicking
on the circuit card and dragging a rectangle around the desired wire bonds. Individual wire bonds can
then be added to or removed from the selected set using SHIFT-left-click. With multiple wire bonds
selected, the Copy Wire Bonds and Delete Wire Bonds pop-up menu options can be used to copy or
delete all of the wire bonds in the selected set.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 353
FEA-04 Wire Bonds

Wire Bond Export


In addition to the manual / graphical process discussed above, a batch of wire bond definitions can be
imported from or exported to a spreadsheet or CSV file. This can significantly reduce the time required
for data input in situations where the wire bond locations are known. The combination of the export
and import capabilities can also be used to facilitate bulk editing needs, such as changing the material
property for all wire bonds or just a subset.

All of the currently defined wire bonds can be exported to a spreadsheet or CSV file by selecting the
CCA > Export Wire Bonds option from the Sherlock main menu. At that point, the Export Wire Bonds
dialog (belowf ) will be displayed, allowing you to specify the name, type and location of the file to be
exported.

The following file formats are supported:

• Excel Spreadsheet (*.xls)

• Excel Spreadsheet XML (*.xlsx)

• Comma Separated Value (*.csv)

The Length Units property allows you to specify the units to be used for all wire bond properties, re-
gardless of the units used in Sherlock to define those properties.

The Overwrite Existing File option indicates that any existing file with the same name should be
overridden without further prompting.

The Display File After Export option specifies that the Windows application associated with the selected
file format should be launched right after the file has been exported.

Wire bond definitions are imported by adding a spreadsheet or CSV data file to the CCA and assigning
one of the following file types to that file:

• Wire Bond (Excel)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
354 of ANSYS, Inc. and its subsidiaries and affiliates.
Wire Bond Import

• Wire Bond (CSV)

Wire Bond Import


To add a file to the CCA, either select CCA > Add Files from the main Sherlock menu, or right click
Files and select Add File(s) from the Project Tree. To assign a file type, open the File Properties editor
(below) by right clicking the file, selecting Edit Properties, and then toggling the File Type drop down.
With either file type assigned, a set of file parsing properties can then be used to designate the columns
containing the desired data. Each column must begin with a text value containing the column name.
Based on the column names, Sherlock will automatically attempt to match the appropriate column in
the spreadsheet or CSV file with each wire bond property. Nonetheless, you are free to enter or select
the proper column name for each wire bond property.

Once all of the required column names have been specified, press the Save button to parse the wire
bond definitions and import them into Sherlock.

Note:

All wire bond definitions found in the file will be added to any existing set of wire bonds. If
you want to overwrite the existing wire bonds, you should delete all the existing wire bonds
in the 2D Layer Viewer before importing from the file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 355
FEA-04 Wire Bonds

3D FEA Modeling
Wire bonds can be selectively enabled or disabled in the 3D FEA models created by each of the following
operations:

• Generate 3D Model

• FEA Analysis

• Export FEA Model

In each case, the Wire Bonds tab (below) is used to specify the desired wire bond modeling properties.

When enabled, 3D models are created for each wire bond. Each wire bond foot is bonded to the under-
lying component or PCB elements, depending on the location of the wire bond and Part Modeling
properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
356 of ANSYS, Inc. and its subsidiaries and affiliates.
3D FEA Modeling

The Element Order property specifies the type of element to be used in the FEA tool for the wire bond.
First Order elements are bricks specified by 8 nodes, while Second Order elements are bricks specified
by 20 nodes.

The Max Segment Length property specifies the maximum linear distance covered by each arc segment.
A shorter length results in a smoother arc, but also increases the number of elements created for each
arc, which increases analysis time.

Sherlock automatically determines the proper Bezier arc for each wire bond based on the wire bond
properties and the underlying component or PCB surfaces. As shown below, the arc will smoothly
transition from one end point, through the maximum height, to the other end point. Proper specification
of the foot length, thickness, arc height and arc shape properties allow for a wide range of different
wire bonds to be effectively modeled.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 357
FEA-04 Wire Bonds

Wire Bond Results


When wire bonds are enabled for FEA analysis, the corresponding analysis results for mechanical shock,
vibration, ICT, and thermal mechanical will each include a results table for each wire bond. For vibration
analysis, users may select one or more wire bonds and right-click to view the life prediction chart for
the selected wire bonds.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
358 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 24: FEA-05 Potting & Staking
Potting and staking is added to a circuit card to protect and/or support the circuit card and/or compon-
ents. The resins used for such purposes can change the mechanical properties of the circuit card signi-
ficantly and, as such, should be considered when running any FEA analysis. To that end, ANSYS Sherlock
allows users to define one or more Potting Regions that represent a 3D volume on the board that is
filled with a specified material. Sherlock will automatically fill the volume around all components that
are either contained by or intersected by the potting region. Once defined, potting regions can be se-
lectively included in any 3D model or FEA test generated by Sherlock to determine their effect on the
mechanical properties of the board.

Chapter Sections:
Tutorial Project
2D Modeling
PCB Shape
Rectangular Shape
Circular Shape
Slot Shape
Polygonal Shape
3D Modeling
Potting and Part Elements
Potting and Lead Elements
Potting & Staking Examples

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 359
FEA-05 Potting & Staking

Tutorial Project
Throughout this section, we will use a relatively simple, but real-world, PCB example to show how
potting regions and staking are used. All the design files for the PCB can be found in the Auto Relay
[Link] file located in the tutorial folder found in the Sherlock Installation Directory. That ZIP
file can be imported as a Sherlock Project for training purposes. As shown here, the simple circuit card
consists of two layers with a handful of through-hole parts, including some large relays, a couple LEDs
(represented by the circular drums), some resistors and diodes mounted horizontally and 3 pin headers
(represented by the tall rectangular shapes).

2D Modeling
Potting regions are defined in the 2D Layer Viewer by selecting the Edit > Edit Potting Regions option
from the main menu. At that point the Potting Editor control buttons will be displayed at the bottom
of the Layer Viewer and you can add, modify or delete potting region definitions. When the Potting
Editor is activated, it automatically enables the display of all top and bottom potting regions, as indicated
in the Potting Regions section of the Layers panel. You can selectively enable/disable the top and
bottom potting groups as needed while editing.

To add a potting region, right-click anywhere on the circuit card and select Add Potting Region from
the pop-up menu. At that point, the Add Potting Region dialog will be displayed, allowing you to
specify the desired properties for the potting region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
360 of ANSYS, Inc. and its subsidiaries and affiliates.
2D Modeling

Potting regions are assigned unique IDs to help identify them when exporting the 3D model to FEA
tools for custom analysis. Sherlock will automatically assign a unique identifier, but you are free to use
whatever ID you like.

The Potting Side property specifies the circuit card side on which the potting region is located.

The Potting Material property specifies the type of material used to fill the potting region. Only mater-
ials marked POTTING in the Material Manager are available for selection. See the Material Management
(p. 535)User Guide section for more details.

The Potting Standoff and Potting Thickness properties define the vertical base and top of the potting
region, measured from the circuit card surface. If Potting Standoff is non-zero, the potting region
would normally be called staking between two or more parts.

The Potting Region Shape panel allows you to specify the shape of the potting region outline, which
includes the following choices:

• Polygonal

• Rectangular

• Slot

• Circular

• PCB

These shape selections allow you to easily define a wide variety of potting region outlines. You can
freely switch between the shape types, although some details will naturally be lost when converting
from certain shape types to other shape types.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 361
FEA-05 Potting & Staking

PCB Shape
In the example shown previously, (p. 360) the PCB shape has been chosen, which requires no other
shape properties to be defined. The PCB shape always matches the exact shape of the currently defined
PCB outline, as can be seen here:

Potting regions are displayed as semi-transparent yellow areas in the Sherlock 2D Layer Viewer. In
this case, the potting region extends across the entire PCB, covering or enveloping all parts on the top
of the circuit card.

We can change the shape and/or size of the potting region at any time in the Potting Editor by right-
clicking the mouse inside of the potting region and selecting the Edit Properties menu item. At that
point, the potting region will be highlighted as a semi-transparent red area, with red squares displayed
at each node along the outline.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
362 of ANSYS, Inc. and its subsidiaries and affiliates.
Rectangular Shape

Notice in this case that the menu options used to change the size, location or orientation of the potting
region are disabled. Similarly, the square control nodes displayed along the outline, which are normally
used to drag or scale the outline nodes are also disabled. This is because the PCB shape always takes
on the shape of the PCB outline itself and therefore cannot be altered.

Rectangular Shape
To change the shape of the potting region, we can choose Rectangular in the Edit Potting Region
dialog and then define the appropriate shape properties. When converting from one shape to another,
Sherlock automatically determines the most appropriate dimensions for the new shape based on the
dimensions of the old shape.

When the changes are saved, the outline of the potting region can now be changed inside of the Potting
Editor by dragging the square red nodes using the mouse because the shape is not PCB anymore.
Since a Rectangular shape was selected, dragging any of the four corner nodes will result in the rect-
angular being stretched or contracted in the given direction, keeping the opposite corner fixed in place.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 363
FEA-05 Potting & Staking

Through a combination of dragging and scaling operations using the mouse, we can easily re-define
the potting region to cover only a portion of the circuit card.

Note:

Rectangular shapes can be rotated by an arbitrary angle to model a desired orientation.


When the square red outline nodes are dragged with the mouse, the rectangle will retain
the proper orientation.

Circular Shape
The Circular shape can be used to easily model circular potting regions, where you control the number
of segments used to represent the circle. The Circle Diameter defines the diameter using the units
specified by the Potting Units property in the top dialog panel.

The Number of Nodes specifies the desired number of line segments and nodes to be used to represent
the circle, allowing you to define any regular N-gon.

The Center X and Center Y properties define the location of the circular region, while the Rotation
property defines the orientation of the circular region in degrees.

The Rotation property allows you to precisely position the nodes used to define the polygon. For ex-
ample, the octagon shown below has been rotated by 22.5 degrees so that the sides of the octagon
are parallel to the X and Y axes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
364 of ANSYS, Inc. and its subsidiaries and affiliates.
Slot Shape

Slot Shape
The Slot shape is a combination of the rectangular and circular shapes. The shape is formed by two
parallel lines along it's length, with rounded end caps.

The Length and Width properties define the overall size of the shape. The Number of Nodes defines
the total number of nodes used to draw both end caps and must be an even number. The Center X,
Center Y and Rotation properties define the location and orientation of the shape.

When editing a slot shape, left-click in the center of the shape to drag the shape to a new location,
maintaining the current rotation. You can also left-click and drag any of the red squares to change the
size of the slot shape. If you drag any of the four nodes closest to the center of the slot, the shape will
be modified like a rectangle with the opposite corner fixed in place and the adjacent sides scaled ac-
cordingly. If you drag any of the other nodes, the slot shape will be modified like a circle, with the
center fixed in place and all sides scaled to match the mouse motion. With a little practice you'll be
able to quickly scale slot shapes to model many different potting situations.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 365
FEA-05 Potting & Staking

Polygonal Shape
The Polygonal shape allows you to specify arbitrary potting regions defined by a set of 3 or more
nodes. The only property used to modify a polygonal shape is the Rotation property, which allows you
to easily change the orientation.

The graphical editing of polygonal shapes differs from the other geometric shapes discussed above in
that when you drag a selected node, only that node location is modified, all other nodes in the polygon
remain fixed in place.

Nodes can be added or removed from the polygon using the following interactions:

• Left-click any node in the polygon while holding the SHIFT key to insert a new node halfway between
the selected node and the next node in the polygon. The newly inserted node can then be dragged
to wherever it is needed to define the proper shape.

• Left-click any node in the polygon while hold the CONTROL key to delete the selected node. Any
attempt to delete the last 3 nodes in the polygon will be silently ignored.

Note:

ANSYS Sherlock automatically detects if you attempt to drag a node to a location that would
create a self-intersecting polygon. In such cases, the drag operation is silently ignored.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
366 of ANSYS, Inc. and its subsidiaries and affiliates.
3D Modeling

3D Modeling
With one or more potting regions defined in the 2D Layer Viewer you can selectively enable or disable
the inclusion of all potting regions when performing any of the following operations:

• Generating a 3D model (by right-clicking any FEA Analysis in the Project Tree)

• Running any FEA analysis task

• Exporting an FEA model

In all such cases, the Potting Regions tab is used to enable/disable potting region modeling and to
specify the type and size of elements to be generated (when appropriate).

Note:

The Potting Regions tab is only enabled if the Mesh Type property in the PCB Modeling
tab is set to Bonded.

The Element Order property specifies the type of element to be used by the FEA tool when modeling
the potting region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 367
FEA-05 Potting & Staking

The Max Mesh Size and Vertical Mesh Size properties specify the desired horizontal and vertical mesh
dimensions for all elements used to model the potting region. The exact interpretation of these prop-
erties depends on the FEA tool being used.

Potting and Part Elements


When generating 3D elements for potting regions, Sherlock automatically determines all components
overlapped by any potting region and tailors the potting region elements accordingly. Specifically,
Sherlock automatically deals with all of the following situations:

• If a component is completely contained by or overlaps the potting region, then potting elements
will be created around all appropriate sides of the component.

• If the top of a component is below the top of the potting region, then potting elements will be created
above the component up to the top of the potting region.

• If the bottom of a component is above the bottom of the potting region, then potting elements will
be created below the bottom of the component down to the bottom of the potting region.

To reduce the number of TIE constraints required to bond potting region elements and potted part
elements, Sherlock generates a single horizontal mesh for all potting regions and potted parts that
touch each other, allowing potting and part elements to share nodes in the horizontal plane. The mesh
is then stratified in the vertical dimension, based on the vertical base and top of each potting region
and part. This vertical stratification allows the potting and part elements to share nodes in the vertical
direction as well, bonding all potting regions and parts to each other without any TIE constraints. This
usually reduces the time needed for analysis. The only TIE constraints generated for the potting or part
elements are those needed to bond them to the PCB.

Potting and Lead Elements


If lead modeling is enabled for one or more potted parts, the lead elements will be included in the 3D
model, but they may coexist with potting elements in the same 3D space. This approach is taken because:

a. Lead elements tend to be relatively small, which increases the complexity of the mesh generated
for potting regions and potted parts,

b. The rounded corners of various leads, like DIP and Gullwing, would cause very small slabs to be
created in the vertical direction across the entire potting region, and

c. The bonds between the potting, part and PCB elements are far more significant in determining the
overall mechanical properties of the circuit card than any bonds between the potting region and
lead elements.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
368 of ANSYS, Inc. and its subsidiaries and affiliates.
Potting & Staking Examples

Potting & Staking Examples


Despite their name, potting regions in Sherlock can be used to model several different potting and
staking situations commonly found on circuit cards. In this section, we present just a few of the most
common situations and how they are modeled in Sherlock.

One of the most common examples is when a resin is poured over the entire board to a given thickness.
In Sherlock, that is easily modeled as a single potting region with a PCB shape, a desired thickness and
a standoff value of 0. As shown here (1), Sherlock creates potting elements that flow around, under and
over all parts.

When viewed using the Sherlock 3D Viewer, potting elements are displayed using a semi-transparent
color so that other features are still visible. In this specific example, the colors used are based on the
plasticity of the various elements.

Note:

You can selectively enable/disable the display of potting and/or part elements in the Sherlock
3D Viewer to better view them.

Another common form of potting adds resin to only a portion of the PCB surface, which may completely
or partially contain one or more parts. In this example, a rectangular potting region partially covers a
couple surface mounted parts, completely contains a few leaded parts and flows under a larger leaded
part.

The image above (2) shows the vertical stratification used for the potting region and all potted parts.
The vertical stratification is created using the bottom and top of all the potted parts, taking lead standoff
into account.

The use of one or more potting regions to secure a large part to the PCB is typically called staking. Such
situations are modeled in Sherlock by defining one or more potting regions, using whatever properties
are appropriate for each staking area.

In the example below, the large leaded part is secured to the PCB using two rectangular and two
hexagonal potting regions in each of the IC corners. The potting elements flow under the IC and coexist
with nearby lead elements.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 369
FEA-05 Potting & Staking

The image was generated directly by the Sherlock 3D Viewer, using a random color scheme for all
features.

All the examples shown so far used potting regions with a standoff value of zero. In other words, the
potting region sits directly on the PCB and flows under any leaded part. If the standoff value is greater
than zero, the potting region will float above the PCB, bonded only to adjacent parts. For example,
consider the following potting region defined across two large relays. In this case, the relays are 20 mm
tall and with a lead standoff of 1 mm. The potting region has a standoff value of 14 mm and a thickness
of 8 mm. In other words, the staking material sits 1 mm above the top of the relays and extends down
between the relays another 7 mm.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
370 of ANSYS, Inc. and its subsidiaries and affiliates.
Potting & Staking Examples

The following images show ICT results for a static load, with and without potting modeling enabled.
Without staking, the static force on the right side of the board causes the gap to widen between the
two relays.

With staking between the relays, the gap between the relays stays basically the same (depends on the
mechanical properties of the potting region material). Note how the staking elements sit above and
between the parts. With a smaller standoff value for the potting region, the staking elements would
only be between the two relays.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 371
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
372 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 25: FEA-06 Mechanical Parts
ANSYS Sherlock provides the ability to create mechanical parts that are placed on a circuit card and
used during FEA analysis. Mechanical parts are defined by a 2D shape definition and extruded to 3D
with the definition of a given height for a part. Mechanical parts may be circular, rectangular, or any
polygonal shape. Mechanical part definitions also include a material definition and may be used when
generating the FEA model.

Chapter Sections:
Mechanical Part Viewing
Mechanical Part Editing
Mechanical Part Properties
Mechanical Part Multi-Edit
Mechanical Part Attachment Points
FEA Model

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 373
FEA-06 Mechanical Parts

Mechanical Part Viewing


Mechanical parts can be viewed in the Layer Viewer by opening the Mechanical Parts folder in the
Layers control panel and selecting the desired mechanical part layer (top or bottom) to show. As shown
in the example below, mechanical parts are displayed using the medium cyan color and they can take
on a variety of shapes and orientations.

In this example, there is a rectangular part at bottom-center, and a slot shape part rotated 45 degrees
just in the lower-right section of the PCB.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
374 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Part Editing

Mechanical Part Editing


Mechanical parts can be added, deleted and edited using the Edit > Edit Mechanical Parts menu option
available in the Layer Viewer to enter the Mechanical Part Editor mode.

When the Mechanical Part Editor mode is enabled, the following mouse controls can be used to select
or modify mechanical parts:

• Shift-Left-click any mechanical part to select only that mechanical part

• Shift-Left-click and drag to select one or more mechanical parts within a rectangular region

• Control-Left-click to add/remove a mechanical part from the selection set

Selected parts will be displayed with a red border and control points. Once selected, mechanical parts
can be moved to a new location by left-clicking inside any of the selected parts and dragging them to
the desired location. When more than one mechanical part is selected, all parts will be translated by
the same amount, thereby staying in the same relative positions.

The red control points can be used to graphically scale an individual part. The exact transformation
performed depends on the shape of the part being scaled. For example, with a rectangular part, the
point opposite that selected will remain fixed, while the selected control point and the two adjacent
control points are scaled to match the current mouse location. On the other hand, with a circular part,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 375
FEA-06 Mechanical Parts

when any control point is dragged, the center of the part will remain fixed and the diameter of the part
will be scaled to match the current mouse location. Such an approach makes it easier to translate and
scale mechanical parts as needed to graphically place them in a desired location and orientation relative
to other PCB features.

In addition to the mouse actions used to select mechanical parts, the following mouse actions can be
used to add new mechanical parts or edit properties for existing mechanical parts:

• Right-click anywhere in the PCB to add a new mechanical part

• Right-click a mechanical part to display the pop-up menu

The mechanical part pop-up menu provides options for:

• Editing mechanical part properties

• Moving, scaling and rotating parts

• Merging mechanical parts

• Adding, copying and deleting parts

Mechanical Part Properties


The Mechanical Part Properties dialog is displayed whenever the Add Mechanical Part or Edit Properties
options are selected in the mechanical pop-up menu, allowing users to specify exact shape and location
properties as needed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
376 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Part Properties

The Shape Type property defines the geometric shape of the part, which controls how it can be edited.
The following shape types are supported:

Table 25.1: Mechanical Part Shape Types

Rectangular Defined by length and width dimensions, a center location


and an angle of rotation.
Circular Defined by a diameter, number of nodes, a center location
and an angle of rotation.
Slot Defined by length and width dimensions, number of nodes,
a center location and an angle of rotation.
Polygonal Defined by a set of node locations and an angle of rotation.
PCB Defined by the board outline of the PCB.

The Circular and Slot shapes allow you to specify the number of nodes to use when approximating arcs
used to form those shapes. For circular shapes, the nodes are evenly spaced along the circumference
of the circle. For slot shapes, 4 nodes are used to define the rectangular part of the slot and the remaining
nodes are evenly spaced along the semi-circles on both ends of the slot.

For all shapes, an angle of rotation can be specified to rotate the shape in the XY plane. When scaling
shapes graphically using the control points, the angle of rotation is preserved, and the shape dimensions
are automatically updated to reflect the scale operation.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 377
FEA-06 Mechanical Parts

In addition to the shape properties, properties to select the side of the PCB to contain the part, the
height of the mechanical part, and the material the part consists of are all defined for each mechanical
part.

The estimated mechanical part weight is displayed when viewing mechanical part properties. This is a
read-only property only intended for reference.

Since mechanical parts are three-dimensional objects, the View 3D Model button may be used to see
how changing various mechanical part properties affect the shape of the part while editing the part.

Multiple mechanical parts may be merged into a single part if the defined parts overlap and have sim-
ilar height and material properties. By selecting all the parts to merge into a single part, right-click to
display the pop-up menu and select Merge Mechanical Parts. Following this operation, any overlapping
parts which can be merged will be merged into a single part.

Mechanical Part Multi-Edit


Multiple mechanical parts may also be selected, and the properties of those mechanical parts updated
at the same time. When the properties for more than one mechanical part are edited at the same time,
any mechanical part property which varies between the selected mechanical parts will display the value
<VARIOUS>. Any field which is left as the value <VARIOUS> when saving the form will leave the original
mechanical part value specified for that given field. Any other field values will be assigned to all selected
mechanical parts.

Multiple mechanical parts may only be edited at the same time if the mechanical parts are of the same
shape type.

Mechanical Part Attachment Points


Mechanical parts may be located over top of mount points defined as mount pads or standoffs. When
a mechanical part is located over top of these mount points mechanical part attachment points may

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
378 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Part Attachment Points

be created between the mechanical part and the mount point. To add an attachment point to a
mechanical part, place the mechanical part over top of a mount point using the Mechanical Part Editor
in the Layer Viewer. Now make sure no mechanical parts are selected, then right-click a mount point
that should become an attachment point for the mechanical part. If the mount point meets all the
properties to become an attachment point, then a pop-up menu should appear to add the selected
mount point as a mechanical part point. Repeat this process for each of the desired mount points. To
remove a mount point as a mechanical part attachment point, right-click the mount point and select
Remove Mechanical Part Point.

Attachment points for mechanical parts must adhere to the following conditions:

• Attachment points attach the mechanical part to the PCB

• Attachment points must be fully contained by the mechanical part outline

• All attachment points assigned to a mechanical part must have the same height

• Attachment points on mechanical parts covering a component must be at least as tall as the height
of the component

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 379
FEA-06 Mechanical Parts

FEA Model
Mechanical parts may also be included when generating a 3D FEA model for export or analysis. The
analysis settings and export model dialogs all include an option for Mechanical Parts. Select this tab
to enable or disable mechanical parts in the FEA model.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
380 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 26: FEA-07 Virtual Accelerometer
Much like real accelerometers are attached to circuit cards to measure loads in real-world and lab testing,
ANSYS Sherlock allows you to add one or more virtual accelerometers to a circuit card to measure loads
during simulated testing. Response curves for each accelerometer shown the displacement and/or ac-
celeration at the accelerometer location at a given time or frequency during the analysis. This document
describes how to add virtual accelerometers to a circuit card and the types of results provided by various
analysis tasks.

Chapter Sections:
Accelerometer Editor
Accelerometer Results

Accelerometer Editor
Virtual accelerometers are added, modified, and removed by selecting the Edit > Edit Accelerometers
menu option in the Layer Viewer for a selected circuit card. After that menu option is selected, a set
of Accelerometer Editor buttons will be displayed at the bottom of the Layer Viewer and you will
remain in the editor until either the Save or Cancel buttons are pressed.

Adding an Accelerometer
To add an accelerometer to a circuit card, right-click anywhere in the circuit card display and select
the Add Accelerometer option from the pop-up menu.

In the example shown below (1), we're adding an accelerometer to a simple 51 x 51 mm circuit card,
that has a single component (the gray square) in the middle and mount points in each of the four
corners (the black squares). Such a simple board will allow us to easily see how the board responds
to various loads and how the accelerometer measures the response of the board at a given location.

When the Add Accelerometer menu option is selected, an edit dialog (2, below) will be displayed
allowing us to specify the accelerometer location and properties.

The Accelerometer ID is automatically assigned a unique value, which is sufficient for most purposes.
You may override that assignment if necessary, provided a unique ID is assigned.

The Board Side, Center X and Center Y properties indicate the board location where the center of
the accelerometer will be located, while the Radius property indicates the size of the accelerometer.

The accelerometer size determines how many data values will be examined to compute the acceler-
ometer response. Specifically, the maximum value for all simulated FEA nodes lying inside of the
boundary of the accelerometer will be used as the value of the accelerometer at a given time or fre-
quency.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 381
FEA-07 Virtual Accelerometer

Press the Save button in the Add Accelerometer dialog to add the virtual accelerometer to the circuit
card at the given location.

A green octagon will be displayed in the Layer Viewer (below) with a crosshair over the center location.
In the example below, we've placed the accelerometer in the exact center of the board so that we
can see the maximum deflection of the board during a mechanical shock test.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
382 of ANSYS, Inc. and its subsidiaries and affiliates.
Accelerometer Editor

Modifying An Accelerometer
Accelerometer properties can be modified by right-clicking inside of the green marker and selecting
the Edit Properties option from the pop-up menu (1). You may also use the Copy Accelerometer
menu option to copy an existing accelerometer to create a new accelerometer at another location.
In either case, the edit dialog will be displayed allowing you to edit any of the properties assigned
to the accelerometer, just like in the previous example.

For convenience, accelerometers can be moved either by selecting the Move Accelerometer option
in the pop-up menu or by SHIFT-left-clicking the green marker to select it and the dragging it with
the left mouse button pressed.

Multiple accelerometers can be selected by holding down the SHIFT key and dragging the mouse
with the left button pressed to draw a box around all the desired markers (2). Then, right-click in any
of the selected markers to display the pop-up menu with edit options for multiple selections. This
provides a way to modify multiple accelerometers quickly.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 383
FEA-07 Virtual Accelerometer

Removing an Accelerometer
Virtual accelerometers are removed simply by selecting them and choosing the Delete Accelerometer
option from the pop-up menu. Any results previously generated for the accelerometer will be deleted
when the corresponding analysis results are cleared, or the analysis task is re-executed.

Accelerometer Changes
The Save button at the bottom of the Layer Viewer is used to save all accelerometer changes and
close the Accelerometer Editor. Alternatively, the Apply button can be used to save the current
changes, but keep the Accelerometer Editor active.

The Cancel button can be used to discard all changes made during the most recent edit session and
close the Accelerometer Editor. Alternatively, the Reset button can be used to discard all changes,
but keep the Accelerometer Editor active.

Note:

The Save, Apply and Reset buttons are only enabled after at least one change has been
made in the Accelerometer Editor.

Accelerometer Results
Virtual accelerometer results are automatically generated for all Mechanical Shock, Harmonic Vibe and
Random Vibe tests executed after an accelerometer has been created. That allows users to compare
the board response at a given point over the time period or frequencies covered by the test or to
compare the board response from one test to another.

Accelerometer results are displayed using the following chart types:

• Displacement vs. Time/Freq

• Acceleration vs. Time/Freq

Displacement charts show the maximum displacement of all FEA nodes covered by the accelerometer
over the time period or frequency range covered by the test. Where appropriate, acceleration charts
show the maximum acceleration of all FEA nodes covered by the accelerometer over the time period
or frequency range covered by the test.

Note:

Acceleration charts are not currently provided for Random Vibration results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
384 of ANSYS, Inc. and its subsidiaries and affiliates.
Accelerometer Results

Displacement Results
Virtual accelerometer displacement charts, such as the one shown here, plot the maximum displace-
ment of the circuit card at the accelerometer location over the time period or frequency range covered
by the test.

In this example, a Mechanical Shock analysis was performed, so the X-axis shows the time period
over which the dynamic load occurred. The Y-Axis shows the maximum displacement, with positive
and negative values indicating the direction of the displacement. In this case, the mechanical shock
load was exerted in the default downward Z direction. Three curves show the displacement in the X,
Y and Z directions. The green curve clearly confirms that the circuit card deflects the most in the Z
direction, with minimal deflection in the X and Y directions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 385
FEA-07 Virtual Accelerometer

Acceleration Results
Virtual accelerometer acceleration charts, such as the one shown here, plot the maximum acceleration
of the circuit card at the accelerometer location over the time period or frequency range covered by
the test.

Here again, we see that the primary acceleration is in the Z direction, with a decaying oscillation over
time as the circuit card rings from the initial shock load. Accelerations in the X and Y directions were
minimal because the shock load was exerted in the downward Z direction.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
386 of ANSYS, Inc. and its subsidiaries and affiliates.
Accelerometer Results

Number of Data Points


The number of data points displayed along the curve depends on the number of time steps used by
the FEA engine to perform the simulation. For Mechanical Shock events, as in the above examples,
the number of steps is typically determined automatically by the FEA Engine. For Harmonic and
Random vibration events, however, the number of data points depends on the natural frequencies
contained in the frequency range of the test and the Vibe Data Points and Vibration Bias properties
defined in the Settings > FEA Settings dialog.

As evident below in a separate example, the data points generated during a harmonic vibration
analysis may be biased around the natural frequencies of the circuit card.

In this case, the first three natural frequencies of the circuit card are 1.8kHz, 3.2kHz and 4.4kHz, all of
which lie within the 0 Hz to 5kHz frequency sweep specified for the test. With Vibration Bias set to
5 and Vibe Data Points set to 7 the FEA engine automatically generated 5 data points closely straddling
each natural frequency and 2 additional data points between each pair of natural frequencies. By in-
creasing the number of bias points, we can see more detail around each natural frequency, but it
also increases the overall test time because of the extra simulation steps required.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 387
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
388 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 27: FEA-10 Natural Frequency Analysis
Natural frequency analysis (or Modal Response analysis) is the basis for most FEA processing procedures.
The purpose of the analysis is to determine the resonant frequencies of the circuit card and component
assembly, based on the structure defined and material properties assigned to each 3D element. The
natural frequency predictions can then be used to determine how the board will respond to different
types of shock and vibration loads.

Chapter Sections:
Natural Frequency Input Data
Natural Frequency Analysis Properties
Natural Frequency Analysis Results

Natural Frequency Input Data


The Natural Frequency analysis module makes use of the following input data for its calculations:

• Parts List

• Size and location of all parts, plated through-holes, and cutouts

• Size and location of all mount points

• Circuit card mechanical properties (stackup data)

• Circuit card outline

• Mesh properties

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Natural Frequency Analysis Properties


To specify all input properties and perform natural frequency analysis, right-click the Natural Freq node
in the project tree and select the Edit Properties option from the pop-up menu. As a convenience,
you can also run the analysis immediately, using the last properties entered, by selecting the Run
Analysis Task option from the pop-up menu.

Generated Data Source


When using the Generated data source, users may specify the type of model to be generated (Merged
or Bonded) and other mesh properties using the Mesh Properties forms. Each mesh property form

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 389
FEA-10 Natural Frequency Analysis

is selectable by the indicated tabs. See the Sherlock User Guide - FEA Overview (p. 209) chapter for
more details.

The Analysis Properties form allows users to indicate the frequency range to be covered by the
analysis and number of graphical result layers to be generated.

Use the Temperature field for properties that are temperature-dependent. If you leave the field blank,
20° C is assumed.

Imported Data Source


Natural frequency results can be imported into Sherlock by selecting the Imported data source as
shown below. When selected, simply enter the name and location of the Model File and Result File.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
390 of ANSYS, Inc. and its subsidiaries and affiliates.
Natural Frequency Analysis Results

The supported file types are *.db, *.dat, and *.rst.

When the Detect Transform is ENABLED, Sherlock will attempt to detect any transforms applied to
the imported model and make adustments if required. This ensures the imported model matches
Sherlock's original model. Select MANUAL to enter transform properties manually. If a transform exists
and is not detected, Sherlock will not be able to provide component results.

Natural Frequency Analysis Results


The results generated by the Natural Frequency analysis module include a Summary Panel showing
all the input settings used for the analysis, as well as the predicted natural frequencies. The Natural
Frequency analysis module also generates one or more 2D layers showing the predicted deflection of
the PCB for each modal frequency.

Summary Panel
The NF Table tab at the bottom of the Natural Frequency results show the modes and frequencies,
in Hz.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 391
FEA-10 Natural Frequency Analysis

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
392 of ANSYS, Inc. and its subsidiaries and affiliates.
Natural Frequency Analysis Results

Graphical Results Layers


The Natural Frequency Analysis Module generates one or more 2D result layers depending on the
value specified in the NF Result Count input property. Each result layer shows the maximum displace-
ment of each PCB element at a given natural frequency, as shown here:

In this example, the first natural frequency, at 200.13 Hz, is depicted. The displacement values are
colored based on their magnitude, with the minimum displacement values colored blue and the
maximum values colored red. Since the displacement results are abstract values, no exact values are
displayed on the color legend.

3D Model / Results Viewing


You can view the 3D FEA model and/or results by right-clicking the Natural Freq node in the project
tree and selecting either the View 3D Model or View 3D Results option from the pop-up menu. In
both cases, the Sherlock 3D Viewer will be launched allowing you to interactively view the 3D data.
See the Sherlock User Guide - Results Management (p. 663) chapter for more details.

Log Files
If the Show FEA Logs option is enabled in the Settings > FEA Settings dialog, then a Log Panel
will be displayed along with the other analysis results containing the log generated by the FEA engine
during the analysis process. Advanced users can review such log data to determine if everything was
processed as expected and/or to trouble-shoot FEA processing issues.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 393
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
394 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 28: FEA-11 In-Circuit Testing (ICT) Analysis
In-Circuit Testing (ICT) uses a collection of test probes and test fixtures on one or both sides of a circuit
card to test electrical connections during the manufacturing process. Each test probe exerts a mechan-
ical force on a specific circuit card location, called the test point, as determined by the design. The
combined effect of all these test point forces displaces the circuit card during the test, causing mech-
anical stresses to be experienced by each solder joint. If the stress values are high enough one or more
solder joints could fail. The ICT Analysis module provided by ANSYS Sherlock models the mechanical
stresses exerted by the test points and fixtures and scores each circuit card part based on the predicted
stresses for that part.

Chapter Sections:
ICT Input Data
ICT Analysis Properties
ICT Analysis Results

ICT Input Data


The ICT Analysis Module makes use of the following input data for the analysis calculations:

• Parts List

• Size and location of all parts, plated through-holes, and cutouts

• Size and location of all test points and test fixtures

• Circuit card mechanical properties (stackup data)

• Circuit card outline

• Mesh Properties.

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

ICT Test Fixtures


ICT analysis depends on the current placement and type of ICT Fixtures associated with the circuit
card being analyzed. See the Sherlock User Guide - FEA Mount Points & Fixtures (p. 243) chapter for
details concerning the creation and management of ICT Fixtures.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 395
FEA-11 In-Circuit Testing (ICT) Analysis

ICT Test Points


Much like ICT Test Fixtures, the test points used by the ICT Analysis Module can be added, modified
and deleted using the Test Point Editor provided by the CCA Layer Viewer. To access the Test Point
Editor:

• Double-click the Inputs > Layers entry for the circuit card being analyzed to display the Layer
Viewer

• Select Edit > Edit Test Points from the main menu of the CCA Layer Viewer

At that point, the Test Point Editor buttons will be displayed at the bottom of the Layer Viewer, as
shown in the following screen shot:

In this case, four test points are shown as purple diamonds located near the corners of part U8. Two
of the test points have been selected for editing, as denoted by the red outlines and corner nodes.
Single or multiple test points can be selected using the same keyboard and mouse iterations described
for test fixtures.

Note:

By default, test points are displayed as purple diamonds in the Layer Viewer. You can
customize the color using the Settings > Color Settings option in the Main Menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
396 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Input Data

Adding a Test Point


To add a test point, simply right-click on the circuit card at the approximate location for the test
point and select Add Test Point from the pop-up menu. At that point, the Add Test Point dialog
will appear, indicating the default properties to be assigned to the new test point, as shown below.

You may specify the exact location using the Center X and Center Y fields or you may simply move
the fixture to the proper location after it has been created. Other than the Board Side and Force
values, all other test point properties can be edited using either the dialog form or graphical controls
(discussed in the next sub-section).

Note:

The Test Point ID must be a unique value for each test point. Sherlock automatically
selects an available ID, but you are free to use whatever ID you want.

Modifying Test Point Properties


To move one or more selected test points, left-click inside of any selected test point and drag the
test point(s) to the new location. To resize one or more test points, left-click any of the highlighted
corners and drag that corner to change the size of all selected test points. Finally, to access the
pop-up menu for one or more selected fixtures, right-click inside of any selected fixture to display
the following menu items:

• Edit Properties

• Move Test Point(s)

• Scale Test Point(s)

• Delete Test Point(s)

Other than Edit Properties, the menu items are self-explanatory. When the Edit Properties menu
item is selected for a single test point, the Edit Test Point Properties dialog will be displayed (see
below) and will be identical to the Add Test Point dialog shown above. Simply modify the desired
test point properties and press Save to update the test point.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 397
FEA-11 In-Circuit Testing (ICT) Analysis

When multiple test points are selected, only a subset of the test point properties will be editable,
as shown here. For each property shown, if the value is the same for each selected test point, then
that value will be displayed. Otherwise, <VARIOUS> will be shown in the property field to indicate
that the selected test points have different values for that property.

To modify one or more property values for all selected test points, simply update the property
field(s) and press the Save button. At that point, all selected test points will be updated. If <VARI-
OUS> is specified for a given property value, then no changes will be made to that property in any
of the selected test points.

Saving Test Point Changes


After adding, modifying or deleting test points, you should press the Save or Apply buttons at the
bottom of the Layer Viewer to save your changes. The Apply button will save the changes but
keep the Test Point Editor open, allowing you to make additional changes. The Save button saves
the changes and automatically closes the Test Point Editor.

Importing Test Point Locations


ICT Test Points can be imported from the following types of design files:

• Test Point (CSV) - comma separated file containing test point data

• Pick & Place (CSV) - comma separated file containing pick & place data

• Pick & Place (DELIMITED) - delimited file containing pick & place data

• Pick & Place (FIXED) - Fixed column file containing pick & place data

• Pick & Place (ODB++) - ODB++ file containing pick & place data

In the first (most common) case, a spreadsheet file is used to provide the test point data, while in
all other cases the test point data is extracted from the Pick & Place data by looking for reference
designators starting with a specific Test Point Prefix.

For example, consider the following CSV file:

"Test Point Example"


"X","Y","Board Side","Force"
1,1,"TOP",5.2

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
398 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Input Data

-1,-1,"BOTTOM",0.36

The two test points are defined, providing their X, Y coordinates (required), board side (optional)
and force (required). The test point data from this file can be imported into Sherlock by selecting
the Test Point (CSV) file type in the Edit File Properties dialog shown below. At that point, the
list of properties will be displayed, allowing you to specify the columns to be used for specific data.
In many cases, Sherlock will automatically guess the appropriate columns, but you may have to
specify one or more columns depending on the column headers defined in the file.

When the Save button is pressed, Sherlock will parse the file and add all the test points found. For
identification purposes, Sherlock assigns a string ID starting with TP to all test points defined in the
file.

Importing Test Points From Pick & Place Files


In some cases, the Pick & Place design files associated with a given circuit card will contain entries
for some or all of the test points defined for that circuit card. In such cases, Sherlock can be used
to automatically import test point definitions from the Pick & Place data and create corresponding
test points with default properties. For example, consider the following Pick & Place spreadsheet
file:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 399
FEA-11 In-Circuit Testing (ICT) Analysis

In this case, two test points are defined using the TESTPT prefix in their reference designators,
providing their X,Y coordinates and the side of the board on which they are located.

After examining the file contents, you need only specify the prefix used by the test point definitions
as one of the file properties in the Pick & Place (CSV) edit dialog, as shown below.

When Sherlock imports the Pick & Place data it will automatically treat all reference designators
starting with that prefix as a test point and will create a default test point accordingly. Then, you
need only select groups of test points and set their forces to complete the input process.

ICT Mesh
The ICT Analysis Module creates a finite element model by creating a mesh that includes all selected
parts, holes, cutouts, test fixtures and test points. You can display the current ICT mesh by selecting
the ICT Mesh layer (if available) in the Other Layers folder of the CCA Layer Viewer. You may also

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
400 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Analysis Properties

re-create the ICT mesh at any time by selecting Edit > Update ICT Mesh from the Edit menu in the
CCA Layer Viewer.

Note:

When examining the ICT mesh, you might notice that fixtures are always modeled by a
collection of triangles just like parts, but no such triangles exist for test points. Test points
are modeled by a single mesh node located approximately at the specified test point co-
ordinates. A single node is used because the ICT Analysis Module assumes the force is
applied at a single point.

ICT Analysis Properties


The ICT Analysis task can be executed whenever the following requirements are met:

• At least one test fixture is defined

• At least one test point is defined

To edit the analysis properties, right-click the ICT Analysis entry in the Project Tree and select the Edit
Properties menu item to display the ICT Analysis Properties dialog. As a convenience, you can also run
the analysis immediately, using the last properties entered, by selecting the Run Analysis Task option
from the pop-up menu.

Generated Data Source


When using the Generated data source, users may specify the type of model to be generated (Merged
or Bonded) and other mesh properties using the various Mesh Properties form. See the Sherlock
User Guide - FEA Overview (p. 209) chapter for more details.

Unlike other FEA analysis tasks, ICT analysis does not use any life cycle events. To provide time-to-
failure calculations, the Application Time property combined with the maximum component strain
are used.

Application Time is the amount of time to complete one ICT event.

Number of Events specifies the number of events to apply the application time when computing
the time to failure for a component.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 401
FEA-11 In-Circuit Testing (ICT) Analysis

Imported Data Source


ICT analysis results can be imported into Sherlock by selecting the Imported data source as shown
below. When selected, you simply enter the locations and names of the FEA model and results files.

The Detect Transform property is located under the ICT Analysis Properties. When the Detect
Transform is ENABLED, Sherlock will attempt to detect any transforms applied to the imported
model and make adustments if required. This ensures the imported model matches Sherlock's original
model. Select MANUAL to enter transform properties manually. If a transform exists and is not detected,
Sherlock will not be able to provide component results.

When the Save & Run button is pressed, Sherlock will import both the model and the results to de-
termine the reliability results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
402 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Analysis Results

ICT Analysis Results


The results generated by the ICT Analysis Module show the maximum displacement and strain exper-
ienced by each component during the analysis, as well as the location and force or displacement of
each test point. The analysis results are used to assign a score to each part and a combined score for
the circuit card itself. Sherlock displays a summary panel showing the overall scores and range of
bending forces experienced by the board, as well as a table showing individual results for all parts as-
sociated with the circuit card. We now describe each analysis result in more detail.

Summary Panel
When the ICT Analysis process is finished, a GREEN check mark will appear next to the ICT Analysis
entry in the Project Tree. Double-click that entry to display the ICT Analysis Results panel and select
the Summary sub-tab.

The Summary Panel (shown below (p. 405)) shows the overall distribution of scores assigned to each
part analyzed, along with the overall score assigned to the circuit card itself.

The ICT Bending panel shows the minimum and maximum test point forces and test point displace-
ment applied to the board, and the maximum displacement and strain predicted by the ICT analysis
model. It also includes the Application Time and Strain per Event used as analysis inputs.

The PCB Properties, Analysis Process, and various Mesh Properties panels show the statistics for
the number of inputs and properties used for the analysis.

ICT Table
Select the ICT Table sub-tab to examine the detailed results generated for each part analyzed. See
the graphic below. (p. 406)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 403
FEA-11 In-Circuit Testing (ICT) Analysis

The table rows are color-coded based on the score assigned to each part, which is based primarily
on the maximum strain experienced by that part according to the ICT model. For part materials which
have a fracture strength defined, Sherlock will compare the maximum part strain against the part
material fracture strength and indicate if the component may be at risk for cracking. As with all other
Sherlock tabular results, you can double-click any row to view the properties associated with a given
part and/or select one or more rows to be exported to a CSV file. See the Sherlock User Guide - Data
Export (p. 655) chapter for more details.

Graphical Results Layers


The analytic results and scores generated by the ICT Analysis Module can be viewed graphically
using the CCA Layer Viewer. See the image below. (p. 406) The layer shows the combined strain (in
both the X and Y directions) predicted over the board surface for the given test point forces:

In addition to the strain results, we've selected the ICT Fixture, Test Point and Component layers
so that we can fully understand the results. With a single test fixture located along the left side of
the board and four test points located near the right side of the board, the maximum strain values
are seen near the text fixture, as expected. The red areas also show relatively high strain values in
between the large components.

The raw results shown by the displacement and strain layers is useful for validating the analysis
model, but they don't clearly show how each component is affected by the predicted strains. To see
clearly how each part is affected, we can examine the score layers generated by the ICT Analysis
Module. In this case, the score assigned to each top component is shown in a color-coded region.

3D Model / Results Viewing


You can view the 3D FEA model and/or results by right-clicking the ICT Analysis node in the Project
Tree and selecting either the View 3D Model or View 3D Results option from the pop-up menu. In
both cases, the Sherlock 3D Viewer will be launched, as shown below (p. 407), allowing you to inter-
actively view the 3D data. See the Sherlock User Guide - Results Management (p. 663) chapter for
more details.

Log Files
If the Show FEA Logs option is enabled in the Settings > FEA Settings dialog, then a Log Panel
will be displayed along with the other analysis results containing the log generated by the FEA engine
during the analysis process. Advanced users can review such log data to determine if everything was
processed as expected and/or to trouble-shoot FEA processing issues.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
404 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Analysis Results

Example Displays: ICT Analysis Results


Summary Panel (Example):

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 405
FEA-11 In-Circuit Testing (ICT) Analysis

ICT Table (Example):

Graphical Results Layers (Example):

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
406 of ANSYS, Inc. and its subsidiaries and affiliates.
ICT Analysis Results

3D Model / Results Viewing (Example):

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 407
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
408 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 29: FEA-12 Mechanical Shock Analysis
Mechanical shock is the sudden application of single or multiple, but non-periodic, physical loads due
to acceleration or deceleration that results in significant displacement or deformation. Common events
that induce mechanical shock include drops, crashes, firing, impact, or explosions. The performance of
a solder joint when subjected to mechanical shock is primarily dictated by the ductility of the solder
and the fragility of the interconnect structure (intermetallic region, interface between the bond bad
and the printed board, etc.). The strengths of these regions and the amount of stress transmitted to
them during the shock event will determine whether failure occurs. This assessment is based on calcu-
lating the board strain (or curvature) for the shock pulse using a transient dynamic finite element ana-
lysis (FEA) and equations developed by Steinberg. This strain is compared to the maximum allowable
strain, and the probability of failure of the component is predicted.

Chapter Sections:
Input Data
Mechanical Shock Analysis Properties
Mechanical Shock Analysis Results

Input Data
The Mechanical Shock Analysis Module makes use of the following input data for the analysis calcu-
lations:

• Life Cycle Reliability Goals and Mechanical Shock Events

• Parts List

• Size and location of all parts, through-holes, mount points, and cutouts

• Circuit card mechanical properties (stackup data)

• Circuit card outline

• Mesh properties

• Solder properties

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Mechanical Shock Events


The external loads used during Mechanical Shock analysis are based by one or more Mechanical
Shock Events defined in the project Life Cycle. See the Sherlock User Guide - Life Cycle Manage-
ment (p. 511) chapter for details.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 409
FEA-12 Mechanical Shock Analysis

Mount Points
Mechanical Shock analysis depends on the current placement and type of mount points associated
with the circuit card being analyzed. See the Sherlock User Guide - FEA Mount Points & Fixtures (p. 243)
chapter for details concerning the creation and management of mount points.

Mechanical Shock Analysis Properties


To specify all input properties and perform mechanical shock analysis, right-click the Mechanical Shock
node in the project tree and select the Edit Properties option from the pop-up menu. As a convenience,
you can also run the analysis immediately, using the last properties entered, by selecting the Run
Analysis Task option from the pop-up menu.

Generated Data Source


When using the Generated data source, users may specify the type of model to be generated (Merged
or Bonded) and other mesh properties using the Mesh Properties form. Each mesh property form is
selectable by the indicated tabs. See Sherlock User Guide - FEA Overview (p. 209) the chapter for more
details.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
410 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Shock Analysis Properties

The Analysis Properties form allows users to specify the range of frequencies used for a natural
frequency scan, which is required for all FEA processing and is automatically performed by Sherlock.

The SH Result Count property specifies the number of graphical result layers to be generated.

The Damping Modifier specifies the damping of the circuit card assembly. It is a numerical damping
to prevent ringing during the simulation. It should not be modified from the default value of -0.05.

The Mechanical Shock Events form provides a list of all Mechanical Shock Events currently defined
in the project Life Cycle. Sherlock will automatically perform a separate shock analysis for each
mechanical event selected in the list. Reliability results will then be based on those results. This allows
users to ignore specific events during an analysis run or determine the effects of just one or two
events on the reliability results.

Imported Data Source


Mechanical Shock analysis results can be imported into Sherlock by selecting the Imported data
source. When selected, as shown here, users need to enter the locations and names of the model
and results files used for both the Natural Frequency analysis and all the mechanical shock event
analysis runs.

When the Detect Transform is ENABLED, Sherlock will attempt to detect any transforms applied to
the imported model and make adustments if required. This ensures the imported model matches
Sherlock's original model. Select MANUAL to enter transform properties manually. If a transform exists
and is not detected, Sherlock will not be able to provide component results.

If any of the event result file entries are blank, then Sherlock will assume that no analysis was performed
for those events.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 411
FEA-12 Mechanical Shock Analysis

When the Save & Run button is pressed, Sherlock will import both the model and the results to de-
termine the reliability results.

Note:

When importing data, it is the user's responsibility to assign the proper results file to each
event. Sherlock has no other way of determining the association.

Mechanical Shock Analysis Results


The Mechanical Shock Analysis Module generates the following types of results:

• Overall summary of the scores assigned to each part analyzed,

• Maximum displacement and strain values across all parts and shock events analyzed,

• Table of maximum displacement and strain values for each part analyzed, and

• Graphical layers showing color-coded part scores (top and bottom sides), and

• Graphical layers showing maximum displacement and strain during shock events.

We'll now look at each of these types of results.

Summary Panel
The Summary Panels, shown below, for the Mechanical Shock Analysis Module provide an easy-
to-read overview of the results for all parts analyzed. A break-down of the scores assigned to each
part analyzed is provided, clearly showing the relative number of problems found.

The second summary panel also shows the Life Cycle Phase and Life Cycle Shock Event that caused
the maximum displacement of the circuit card. The time of maximum displacement (relative to the
start of the shock pulse defined for that event), as well as the predicted displacement and resulting
strain, is listed. Although each of the shock events contributes to the predicted lifetime for the parts,
you can use these maximum values as a sanity check of the results based on the Life Cycle definitions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
412 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Shock Analysis Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 413
FEA-12 Mechanical Shock Analysis

Tabular Mechanical Shock Results


Select the Shock sub-tab at the bottom of the results panel to view the detailed results for each part
analyzed. The color-coded tabular results produced by the Mechanical Shock Analysis Module
provide a convenient way to focus on the specific parts that may fail prematurely because of mech-
anical shock events.

For part materials which have a fracture strength defined, Sherlock will compare the maximum part
strain against the part material fracture strength and indicate if the component may be at risk for
cracking.

As with other color-coded displays in Sherlock, RED means that the predicted score is less than 3 (less
than a 3X safety factor), YELLOW means the score is between 3 and 7, and GREEN means that the
score is 7 or more, indicating there is a very small probability that the part will fail. In this case, we
see that two parts are predicted to have significant problems, falling well short of the desired Life
Cycle Reliability Goals, with many others in the Warning range.

Note:

The Settings > Score Settings editor can be used to change the score-color mapping to
suit your specific needs.

You can double-click any row in the table to view all the properties associated with a selected part.
When viewing current results, the properties will be from the current Parts List. When viewing
archived results, the properties will be from a snapshot of the Parts List taken at the time the archive
was made.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
414 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Shock Analysis Results

You can export one or more rows from the results table by right-clicking a row and selecting the Export
Table option from the pop-up menu. See the Sherlock User Guide - Reporting and Data Export
(p. 655)chapter for more details. You may also view the life prediction chart for any selected part by
selecting the View Life Prediction option from the pop-up menu on the table.

Life Prediction Curve


A Life Prediction curve can be generated for the circuit card itself, based on the Life Prediction curves
for each of the parts analyzed, as shown here:

The Life Prediction chart shows all the critical information about circuit card reliability over a long
period of time. The rectangular region in the lower left-hand corner of the chart graphically shows
the desired Reliability Goals for this project, bounded on top by the desired Probability of Failure
and bounded on the right by the desired Service Life. If the curve stays below the top line up to the
Service Life, then the circuit card is predicted to meet its goals. In this case, the circuit card fails to
meet its reliability goals when subjected to the mechanical shock events defined in the Life Cycle.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 415
FEA-12 Mechanical Shock Analysis

Graphical FEA Scores


The Mechanical Shock Analysis Module generates graphical layers depicting component scores for
the top and bottom sides of the PCB. Such displays can be used to quickly correlate potential problems
with geographic and/or dimensional properties, as shown here:

In this case, the color-coded FEA Scores – SH Top layer clearly shows the problem parts. It also shows
the relative scores of all parts analyzed. Notice, the colored-region for each part analyzed are always
displayed in the score layer, even though we are filtering parts smaller than 5mm in the Components
– comp-top layer. We see that the troubled parts are located symmetrically around the center of
board, almost exactly half-way between the center of the board and the 4 corner mount points. The
regions in which the parts are located must be experiencing the highest strain during the shock pulse.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
416 of ANSYS, Inc. and its subsidiaries and affiliates.
Mechanical Shock Analysis Results

Graphical FEA Results


The Mechanical Shock Analysis Module also generates graphical result layers showing the maximum
displacement and strain values experienced during the worst shock event analyzed. For example, the
following image shows the maximum displacement values, which occurred 6 ms after the start of the
shock event (the Summary Panel indicates which shock event caused by maximum displacement):

The color legend indicates the range of displacement values being displayed, from 2.26e-3 mm to
2.07 mm. You can customize the color range using the Settings > FEA Settings dialog. See the
Sherlock User Guide - FEA Overview (p. 209) chapter for more details.

3D Model / Results Viewing


You can view the 3D FEA model and/or results by right-clicking the Mechanical Shock node in the
project tree and selecting either the View 3D Model or View 3D Results option from the pop-up
menu. In both cases, the Sherlock 3D Viewer will be launched allowing you to interactively view the
3D data. See the Sherlock User Guide - Results Management (p. 663) chapter for more details.

Log Files
If the Show FEA Logs option is enabled in the Settings > FEA Settings dialog, then a Log Panel
will be displayed along with the other analysis results containing the log generated by the FEA engine
during the analysis process. Advanced users can review such log data to determine if everything was
processed as expected and/or to trouble-shoot FEA processing issues.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 417
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
418 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 30: FEA-13 Vibration Analysis
Solder joints provide electrical, thermal, and mechanical connections between electronic components
and a printed board. When the printed board is subjected to vibration, it will experience global and
local changes to the board shape and curvature. The degree of bending will be different for specific
components and the area of the printed board to which they are attached. This behavior will introduce
strain into the second-level solder joint. With repeated exposure, damage will accumulate, leading to
crack propagation and eventual failure of the solder joint. Vibration-induced solder joint fatigue is influ-
enced by the type of vibration, the shape of the vibration spectrum, the size and shape of the printed
board, printed board in-plane material properties, support conditions, component design, component
material properties, location of the component, solder joint geometry, and solder joint material. ANSYS
Sherlock calculates time to failure using a modified Steinberg that takes board-level strain into account.

Note:

The Harmonic Vibration and Random Vibration Analysis Modules use basically the same
input data and analysis properties, so this document covers both, noting any specific differ-
ences between them.

Chapter Sections:
Input Data
Vibration Analysis Properties
Vibration Analysis Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 419
FEA-13 Vibration Analysis

Input Data
The Harmonic/Random Vibration Analysis Modules make use of the following input data for the
analysis calculations:

• Life Cycle Reliability Goals and Harmonic/Random Vibration Events

• Parts List

• Size and location of all parts, plated through-holes, mount points and cutouts

• Circuit card mechanical properties (stackup data)

• Circuit card outline

• Mesh properties

• Solder properties

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for the analysis module.

With ANSYS used as the analysis engine, Sherlock will perform a random vibration analysis. When Abaqus
and NxNastran are chosen, Sherlock performs a 1G harmonic sweep and post processes those results
to provide life predictions.

Vibration Events
The external loads used during Vibration analysis are based by one or more Random Vibration or
Harmonic Vibration Events defined in the project Life Cycle. See the Sherlock User Guide - Life
Cycle Management (p. 511) chapter for details.

Mount Points
Mechanical Shock Analysis depends on the current placement and type of mount points associated
with the circuit card being analyzed. See the Sherlock User Guide - FEA Mount Points & Fixtures (p. 243)
chapter for details concerning the creation and management of mount points.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
420 of ANSYS, Inc. and its subsidiaries and affiliates.
Vibration Analysis Properties

Vibration Analysis Properties


Vibration analysis properties can be specified by right-clicking the Harmonic Vibe or Random Vibe
nodes in the Project Tree and selecting the Edit Properties option from the pop-up menu. You may
also run the analysis immediately, using the last properties entered, by selecting the Run Analysis Task
option from the pop-up menu.

Generated Data Source


When using the Generated data source, users may specify the type of model to be generated (Merged
or Bonded) and other mesh properties using the Mesh Properties forms. Each mesh property form
is selectable by the indicated tabs. The PCB Modeling mesh properties can be seen in the image below.
See the Sherlock User Guide - FEA Overview (p. 209) chapter for more details.

The Analysis Properties form allows users to specify the range of frequencies to be scanned to de-
termine the natural frequency of the circuit card. A natural frequency scan is required for both Har-
monic and Random vibration analysis and is automatically performed by Sherlock. The range defined
must be larger than the range for any harmonic events being used for the analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 421
FEA-13 Vibration Analysis

The HV Result Count property (Harmonic Vibration only) indicates the number of 2D graphical results
layers to be generated from the analysis results.

The Damping Modifier specifies the damping of the circuit card assembly. A damping modifier of
0.1 represents very little damping and is akin to rigid mounting. A damping modifier of 1.0 is more
representative of chassis mounted circuit card assemblies and will lower the transmissibility.

The Reuse Natural Frequency option allows for the reuse of Natural Frequency results if available.

The Harmonic/Random Vibe Events form provides a list of all Harmonic/Random Vibration Events
currently defined in the project Life Cycle. Sherlock will automatically perform a separate vibration
analysis for each vibration event selected in the list. Reliability results will then be based on those
results. This allows users to ignore specific events during an analysis run or determine the effects of
just one or two events on the reliability results.

When running Harmonic Vibration, make sure the frequency range (min frequency and max frequency),
at the very least, covers the expected natural frequency range. If you don't know the natural frequency
range, you can run a Natural Frequency analysis before proceeding with Harmonic Vibration

Note:

If any mode of the natural frequency occurs outside the specified frequency range, the
analysis may be incorrect. Make sure the frequency range encompasses all essential modes.

Unlike Harmonic Vibration, Random Vibration includes the Frequency Range Check analysis property
(see below). When toggled to YES, during modal analysis Random Vibration will stop if the first nat-
ural frequency found is larger than the frequency range defined by the selected random events.

Note:

Accelerometer results are currently not supported by Random Vibration Analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
422 of ANSYS, Inc. and its subsidiaries and affiliates.
Vibration Analysis Properties

In addition, the Random Vibration Scale Factor can be changed by selecting Settings > General
Settings > FEA Analysis. The default value is 1.95.

Imported Data Source


Vibration analysis results can be imported into Sherlock by selecting the Imported data source. When
selected, as shown below, users need to enter the locations and names of the model and results files
used for both the Natural Frequency analysis and all the vibration event analysis runs.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 423
FEA-13 Vibration Analysis

When the Detect Transform is ENABLED, Sherlock will attempt to detect any transforms applied to
the imported model and make adustments if required. This ensures the imported model matches
Sherlock's original model. Select MANUAL to enter transform properties manually. If a transform exists
and is not detected, Sherlock will not be able to provide component results.

If any of the file entries are blank, then Sherlock will assume that no analysis was performed for those
events.

When the Save & Run button is pressed, Sherlock will import both the model and the results to de-
termine the reliability results.

Note:

When importing data, it is the user's responsibility to assign the proper results file to each
event. Sherlock has no other way of determining the association.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
424 of ANSYS, Inc. and its subsidiaries and affiliates.
Vibration Analysis Results

Vibration Analysis Results


The Harmonic Vibration and Random Vibration Analysis Modules generate the following types of
results:

• Overall summary of the scores assigned to each part analyzed

• Maximum displacement and strain values across all parts, leads, and vibration events analyzed

• Table of maximum displacement and strain values for each part and lead analyzed

• Life prediction curve for the circuit card

• Graphical layers showing color-coded part scores (top and bottom sides)

• Graphical layers showing maximum displacement and strain during vibration events

We'll now take a look at each of these types of results.

Summary Panel
The Summary Panel shows the overall distribution of scores assigned to each part analyzed, along
with the overall score assigned to the circuit card itself.

The Harmonic Vibration panel (1) shows the name of the Phase and Harmonic Vibe Event that caused
the maximum displacement of the circuit card, along with the maximum displacement and strain
values. The Max Disp Freq value indicates the frequency at which the maximum results occurred
during the harmonic sweep.

The Random Vibration (2) panel shows the name of the Phase and Random Vibe Event that caused
the maximum displacement of the circuit card, along with the maximum displacement and strain
values. The Cycle Frequency value represents the number of positive zero-crossings per second.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 425
FEA-13 Vibration Analysis

Tabular Vibration Results


Select the Harmonic Vibe or Random Vibe sub-tab at the bottom of the results panel to view the
detailed results for each part analyzed. The color-coded tabular results provide a convenient way to
focus on the specific parts that may fail prematurely because of vibration events. When lead modeling
is enabled, select the Leads sub-tab to view detailed results for each lead analyzed. When lead
modeling is enabled, the strain, damage, time to failure, and score in the Harmonic Vibe or Random
Vibe Results Table will be for the lead on that component with the largest strain value.

As with other color-coded displays in Sherlock, RED means that the predicted score is less than 3 (less
than a 3X safety factor), YELLOW means the score is between 3 and 7, and GREEN means that the
score is 7 or more, indicating there is a very small probability that the part will fail.

Note:

The Settings > General Settings > Score editor can be used to change the score-color
mapping to suit your specific needs.

You can double-click any row in the table to view all the properties associated with a selected part.
When viewing current results, the properties will be from the current Parts List. When viewing archived
results, the properties will be from a snapshot of the Parts List taken at the time the archive was
made.

You can export one or more rows from the results table by right-clicking a row and selecting the
Export Table option from the pop-up menu. See the Sherlock User Guide - Reporting and Data Ex-
port (p. 655) chapter for more details. You may also view the life prediction chart for any selected part
or lead by selecting the View Life Prediction option from the pop-up menu on the table.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
426 of ANSYS, Inc. and its subsidiaries and affiliates.
Vibration Analysis Results

Life Prediction Curve


Vibration analysis modules generate a Deterministic result. As such, a Life Prediction Curve can be
generated for the circuit card itself, based on the Life Prediction curves for each of the parts analyzed,
as shown here:

The Life Prediction chart shows all the critical information about circuit card reliability over a long
period of time. The rectangular region in the lower left-hand corner of the chart graphically shows
the desired Reliability Goals for this project, bounded on top by the desired Probability of Failure
and bounded on the right by the desired Service Life. If the curve stays below the top line up to the
Service Life, then the circuit card is predicted to meet its goals. In this case, the circuit card fails to
meet its reliability goals when subjected to the vibration events defined in the Life Cycle.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 427
FEA-13 Vibration Analysis

Graphical Results Layers


The Harmonic Vibe and Random Vibe Analysis Modules generate graphical result llayers showing
the maximum displacement and strain values experienced during the worst vibration event analyzed.
For example, the following image shows the RMS displacements experienced by the PCB during the
random vibration simulations:

The color legend indicates the range of displacement values being displayed, from 2.3e-5 mm to 2.9e-
1 mm.

. You can customize the color range using the Settings > FEA Settings dialog. See the Sherlock User
Guide - FEA Overview (p. 209) chapter for more details.

3D Model / Results Viewing


You can view the 3D FEA model and/or results by right-clicking the Harmonic Vibe or Random Vibe
node in the project tree and selecting either the View 3D Model or View 3D Results option from
the pop-up menu. In both cases, the Sherlock 3D Viewer will be launched allowing you to interactively
view the 3D data. See the Sherlock User Guide - Results Management (p. 663) chapter for more details.

Log Files
If the Show FEA Logs option is enabled in the Settings > FEA Settings dialog, then a Log Panel
will be displayed along with the other analysis results containing the log generated by the FEA engine
during the analysis process. Advanced users can review such log data to determine if everything was
processed as expected and/or to trouble-shoot FEA processing issues.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
428 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 31: FEA-014 Sub-Assembly Analysis
The Finite Element Analysis (FEA) used by ANSYS Sherlock as the basis for In-Circuit Testing (ICT)
Analysis and Shock, Vibration, and Thermal Mechanical Analysis is a powerful modeling tool for
circuit card assemblies consisting of printed circuit boards, components and mount points. Sherlock
extends such analysis capabilities to include one or more sub-assembly CCAs that are attached to a
main CCA as either mezzanine or edge-connected cards. This document shows how the sub-assembly
analysis feature is used in Sherlock.

Note:

The examples shown in this document are based on the Assembly [Link] project
archive provided as part of the Sherlock Tutorial package. Use the Project > Import Project
menu item to import the project from the tutorial folder in the Sherlock Installation Directory.

Sections in this chapter:


Tutorial Review
Baseline Analysis
Adding an Assembly
Defining Assembly Points
Multiple Assemblies
Assembly Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 429
FEA-014 Sub-Assembly Analysis

Tutorial Review
The following snapshot shows the overall composition of the Assembly Tutorial project:

The project consists of four (4) CCAs called Main Board, Memory Card 1, Memory Card 2 and Power
Module. The CCAs are defined just like any other Sherlock CCA, with various components and mount
points located on the top and bottom of each board. We've also defined two ICT fixtures (the blue
squares) and two ICT test points (the purple diamonds) to facilitate ICT analysis.

Note:

For demonstration purposes, each CCA only has a handful of parts, but there are no restrictions
on the types of CCA's that can be used as sub-assemblies or the main board.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
430 of ANSYS, Inc. and its subsidiaries and affiliates.
Baseline Analysis

Baseline Analysis
Before we start adding assemblies to the main board, let's generate some baseline results for just the
main board itself. To that end, right-click on the Analysis > ICT Analysis node in the navigation tree
for the Main Board and select the Edit Properties menu item. Enter the settings shown in the image
below and press the Save & Run button to perform an ICT analysis on the Main Board.

Note:

The icon next to ICT analysis may indicate a warning from the analysis run. Double-click the
ICT Analysis item then the Issues tab to see the warning. With this tutorial, a warning regard-
ing Part validation will most likely be displayed.

After the ICT analysis task has completed, the ICT Displacement layer clearly shows the expected results
as seen from the layer viewer, shown below.

With two fixtures located in the middle of the board and two test points pushing down on opposite
corners, the board flexes the most under both test points, with relatively no flex in the middle of the
board.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 431
FEA-014 Sub-Assembly Analysis

Adding an Assembly
All assembly management is done graphically using the Layer Viewer, so select Edit > Edit Assemblies
from the Layer Viewer Main Menu to start assembly edit mode.

To add an assembly to the Main Board, right-click anywhere in the Layer Viewer content panel to display
and select the Add Assembly menu item.

When Add Assembly is selected, the Add Assembly dialog will appear, allowing you to select the desired
CCA to be used as the assembly and to define how that assembly is to be oriented.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
432 of ANSYS, Inc. and its subsidiaries and affiliates.
Adding an Assembly

Sherlock will automatically enter the coordinates of the mouse when the menu item was selected as
the default center location of the assembly. You'll be able to easily move the assembly around after it
is created, so don't worry too much about the default center location unless you know it exactly from
other design files.

The most important properties are the Assembly, Board Side and Card Type. In this case, we've chosen
to place the Power Module assembly on top of the Main Board oriented as a Mezzanine card. As we
will see shortly, Mezzanine cards are parallel to the main card and are attached with one or more assembly
points.

Sherlock also allows you to rotate and flip the assembly in the up/down and/or left/right directions to
orient it properly relative to the main card. In this case, no rotation or mirroring is required so we can
simply press Save to add the assembly.

After the Save button has been pressed, an outline of the assembly will appear in the Layer Viewer
for the Main Board, centered over the mouse location used to launch the dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 433
FEA-014 Sub-Assembly Analysis

Select the newly added assembly by holding the SHIFT key and left-clicking anywhere inside of the as-
sembly PCB or component outline. The selected assembly will be high-lighted by a red transparent
color.

Left-click and drag the selected assembly to place it in the desired location on the Main Board.

Press the Apply button to save your changes and stay in the Assembly Editor. At that point, the fol-
lowing error message will appear:

If you recall, Mezzanine cards must be attached to the Main Board using one or more assembly points.
Since we haven't made any such attachments yet, Sherlock is reminding us that the assembly definition
is not yet complete.

Defining Assembly Points


Assembly points are defined by associating one or more existing standoffs or mount pads with the as-
sembly. The standoffs or mount pads may be initially defined in either the main CCA or the assembly
CCA. However, in order to model reality properly the assembly points used to attach Mezzanine cards:

• Must be located between the main CCA and the assembly CCA

• May not be located inside of a component on either CCA

• And must all be of the same height.

In our example (1, below) four standoffs have already been defined in the Power Module CCA. All four
of the standoffs are on the bottom side of the Power Module CCA and they are all the same height.
The standoffs are denoted in the assembly outline by the solid blue circles, providing an easy way to
identify them.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
434 of ANSYS, Inc. and its subsidiaries and affiliates.
Defining Assembly Points

To define the standoffs as assembly points, right-click anywhere OUTSIDE of the assembly outline to
deselect the assembly. Then, right-click INSIDE of any one of the standoff circles to display the assembly
point menu and select the Add Assembly Point menu item.

At that point, the solid blue circle will be replaced by a yellow circle (2) with an inscribed diamond
pattern to denote the assembly point.

Repeat the process for all four standoffs defined in the Power Module to create four assembly points.

With assembly points defined, you can now Save the assembly editing changes and re-run ICT Analysis
to see how the assembly alters the results.

By comparing the new ICT Displacement results to the baseline results, we can see that the lower right
corner of the Main Board is no longer displaced by the same amount on the opposite side of the board.
As expected, the addition of the Power Module sub-assembly has stiffened the Main Board on the right-
hand side, causing it to flex less than the left-hand side.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 435
FEA-014 Sub-Assembly Analysis

A 3D rendering of the ICT model clearly shows the Mezzanine card in the desired location, as well as
the relative displacement of each part of the model under the ICT loads defined.

See the Sherlock User Guide - Results Management (p. 663)chapter for more details about viewing 3D
results.

Multiple Assemblies
To support real-world assemblies, Sherlock allows you to attach multiple assembly CCAs to a given CCA.
Moreover, it allows you to attach an assembly CCA to an assembly CCA that is attached to a main CCA.
To prevent infinite loops and other nasty modeling situations, Sherlock ensures that a given CCA can
be used at most once as an assembly in a project and that all assemblies are defined in the same project.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
436 of ANSYS, Inc. and its subsidiaries and affiliates.
Multiple Assemblies

To demonstrate how multiple assemblies are used, let's add Memory Card 1 and Memory Card 2 to the
Main Board as edge-connected cards. To that end, enter the Assembly Editor mode in the Layer Viewer,
right-click inside of the Main Board and select Add Assembly from the pop-up menu.

Select Memory Card 1 as the Assembly choice and EdgeConnected as the Card Type.

At that point, the bottom set of properties will change to allow you to specify the Edge Type for the
assembly. In this case, select the BottomEdge to indicate that the bottom edge of Memory Card 1
should be attached to the Top side of the Main Board.

As before, the default center location will be automatically set to the mouse location when the pop-up
menu was selected, but you can easily drag the new assembly to the proper location.

Note:

Unlike Mezzanine cards, there are no mirror properties for Edge-Connected cards. The Board
Side, Rotation and Edge Type properties are enough to orient the assembly card as needed
relative to the main card.

Note:

Similarly, no assembly points are defined for Edge-Connected assemblies because Sherlock
assumes that the assembly card edge itself is attached to the main card.

Repeat the edit steps above to add Memory Card 2 to the Main Board in addition to Memory Card 1
as shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 437
FEA-014 Sub-Assembly Analysis

The assembly outlines shown in the 2D Layer Viewer provide a convenient mechanism for moving
assemblies around and reviewing analysis results. However, you must always keep in mind the side of
the main board where each assembly is attached. To ensure you've got everything in the right place,
you can either export a 3D STEP model of the board and view it using an appropriate viewer, or you
can run a crude ICT or Natural Frequency analysis of the board and view the results using the Sherlock
3D Viewer, as shown here:

Assembly Results
When one or more assemblies are defined for a given CCA and an analysis is performed on that CCA,
Sherlock automatically generates tabular and graphical results for each sub-assembly CCA as well as
those for the main CCA. By the nature of the models generated, such sub-assembly results are different
than would otherwise be determined if the assembly CCA was analyzed by itself. For example, the
natural frequency displacements for each individual CCA are much different than those for the combined
assembly.

When sub-assembly results are generated, they are stored as the analysis results for the individual CCA
and can be accessed just like any analysis results. For example, here are the ICT analysis results for the
Power Module assembly after analyzing the Main Board:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
438 of ANSYS, Inc. and its subsidiaries and affiliates.
Assembly Results

Graphical results are also stored for the assembly CCA and are accessible via the Layer Viewer for that
CCA. For example, here are the ICT Displacement results for the Power Module assembly.

You should note that a SubAssembly Result notation has been added to the result title to indicate that
the analysis was done as part of the analysis of the Main Board.

You should also note that the spectrum used to color the layer is the same one used for the Main Board
itself (which is why there are no deep blues or bright reds seen in the layer). This approach allows you
to properly compare 2D result images for the Main Board and all sub-assembly CCA's.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 439
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
440 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 32: FEA-15 Meshed Parts
ANSYS Sherlock allows users to incorporate previously meshed models, called Meshed Parts, into a
circuit card assembly to support a variety of analysis projects. Currently, meshed parts can be added
to any CCA as mechanical parts, allowing them to represent a case or chassis, a mechanical structure
attached to the board, or a part that does not need to be analyzed. Meshed parts are imported from a
Meshed Part Library so that they can be shared across projects and users.

Meshed parts can be created using any 3D modeling tool that can generate a Calculix INP file format.
That is, Sherlock can import any INP file as a meshed part regardless of how it was created.

The first part of this document discusses using meshed parts in Sherlock. The final section discusses
how to import meshed parts from Abaqus into Sherlock.

Note:

Beginning with Sherlock 2021 R2, Meshed Parts will no longer be supported.

Chapter Sections:
Meshed Part Library
Using Meshed Parts in Sherlock
Using Meshed Parts with Sub Assemblies
How to Import Meshed Parts from ABAQUS to Sherlock

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 441
FEA-15 Meshed Parts

Meshed Part Library


Meshed parts are defined by individual Calculix INP files that can be shared across multiple projects by
multiple users in a Meshed Part Library. To facilitate such sharing, meshed part file references are defined
using relative paths in Sherlock projects. The root for such relative paths is called the Meshed Part
Folder. Such an approach allows users to store the library in different locations on their individual
machines, without the need to alter the references in Sherlock projects that are shared between the
users.

Meshed Part Folder


The Meshed Part Folder is specified in Sherlock using the Settings > General Settings > Data Store
main menu option. Use the Browse button to locate the folder wherever you want. You may also
enter a relative path name to locate the folder in the Sherlock User Directory.

By default, the Meshed Part Folder is defined as the meshedParts sub-folder in the Sherlock User
Directory.

The Meshed Part Folder is created automatically by Sherlock if it does not already exist. Moreover,
Sherlock will automatically create the DFR sub-folder within the Meshed Part Folder if it doesn't
already exist. The DFR sub-folder is used to hold meshed part files that are developed and maintained
by ANSYS, Inc..

You are free to organize the contents and sub-folders in the Meshed Part Folder to suit your personal
or organizational needs.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
442 of ANSYS, Inc. and its subsidiaries and affiliates.
Meshed Part Library

Note:

It is important to note, however, that whatever approach you use should be finalized before
you start referencing meshed parts in Sherlock projects. If meshed part folders or files under
the Meshed Part Folder are moved around after they are referenced in Sherlock project
files, then the references previously stored in the project files will become invalid and
Sherlock will generate an error the next time the project model is generated for viewing
or analysis purposes.

Meshed Part Viewer


ANSYS Sherlock provides a 3D tool called the Meshed Part Viewer that allows users to view individual
meshed parts and to define one or more surfaces for those meshed parts. The surfaces are used to
orient the part properly when placing a meshed part on a circuit card, as will be discussed below.

Use the Libraries > Meshed Parts main menu option to launch the Meshed Part Viewer. As shown
here, the tool is initially empty when first launched.

Use the File > Open File menu option in the viewer to select the meshed part file to be viewed.

Note:

The Meshed Part Viewer only supports relative file paths and therefore can only be used
to view and edit INP files stored under the Meshed Part Folder. This reduces the possib-
ility of users editing the wrong part file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 443
FEA-15 Meshed Parts

The Mesh File Units property specifies the units to be used for the coordinates stored in the meshed
part file. It is highly recommended that all meshed part files be designed using metric coordinates
to reduce accuracy problems related to unit conversions between models.

Press the Open File button in the file dialog to load the meshed part model into the viewer.

The meshed part is displayed in the viewer using different colors (red, blue, green, etc) for each of
the different materials used in the model. The viewer also uses yellow to indicate the currently selected
surface faces (more on this shortly). As shown here, most of the elements of the Tutorial Case are
colored red, indicating that they are the same material (ABS):

The element faces along the top edge of the case are colored yellow, indicating that they are part of
the currently selected surface.

Meshed Part Surfaces


The Meshed Part Viewer allows users to define one or more named surfaces that are used to orient
and attach the meshed part when it is added to a circuit card. Surfaces consist of one or more element
faces that lie in the same plane. Named surface definitions are stored in the INP file so that they can
be used by any project accessing that file. In that way, if any surfaces are changed in the INP file,
then the new definitions will be automatically used in any project model generated thereafter.

Sherlock automatically generates the following canonical named surfaces whenever a model file is
opened for viewing:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
444 of ANSYS, Inc. and its subsidiaries and affiliates.
Meshed Part Library

• XMIN_SURFACE

• XMAX_SURFACE

• YMIN_SURFACE

• YMAX_SURFACE

• ZMIN_SURFACE

• ZMAX_SURFACE

The surfaces include all element faces lying on the planes that bound the outer most dimensions of
the part. For example, the XMIN_SURFACE contains all element faces that have all X coordinate values
equal to the minimum X coordinate for the entire part.

Note:

It is possible for one or more of the canonical surfaces to contain no element faces. For
example, the minimum X coordinate may belong to a single point located at the far-left
side of the part.

The Show Surface selection list contains all the canonical surfaces containing at least one face and
all of the user-defined surfaces. When a surface is selected, the element faces associated with that
surface will be colored yellow and the viewing angle will be automatically rotated to be orthogonal
to the selected surface. In the example shown below, the ZMAX_SURFACE is displayed, highlighting
all of the element faces along the top edge of the case.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 445
FEA-15 Meshed Parts

It is important to note that the X, Y and Z values are interpreted using the modeling coordinates used
in the 3D design tool.

You can create a surface at any time using the Create Surface or Copy Surface buttons. The Create
Surface creates a new surface that is initially empty, while Copy Surface creates a new surface that
initially contains all the faces defined in the current surface. This allows users to quickly modify canon-
ical or existing surfaces to suit their purposes.

When creating a new surface, you will be prompted for the surface name, which can be any valid
Calculix identifier string except for the canonical surface names listed above. The name will be con-
verted to upper case and all blanks will be replaced by underscores so that the name can be used
as a Calculix identifier in the INP file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
446 of ANSYS, Inc. and its subsidiaries and affiliates.
Meshed Part Library

When the Create Surface button is pressed, the new surface name will be displayed in the Show
Surface selection list and any surfaces copied by the Copy Surface command will be highlighted in
yellow.

Faces are added to the surface by left-clicking the mouse pointer near the center of the face.

Faces are removed from the surface by holding the CONTROL key when left-clicking the mouse point
near the center of the face.

The Clear Faces button can be used to remove all currently selected faces from the surface. The Reset
Faces button can be used to undo all surface changes, highlighting only those faces that were previ-
ously defined for the surface.

After all surface changes have been made, press the Save Faces button to save the surface definition
to the INP file. The surface definition can be renamed or deleted using the Rename Surface or Delete
Surface buttons respectively. If any existing project references a renamed or deleted surface, then
an error message will be generated the next time the project model is generated for viewing or
analysis purposes.

As stated above, surfaces are stored in the INP file using standard Calculix INP commands. For example,
the Mount Points surface illustrated above is defined as follows in the INP file:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 447
FEA-15 Meshed Parts

Sherlock users familiar with INP commands may prefer to modify the surface definitions manually or
use other tools that are capable of processing INP files to define surfaces.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
448 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Meshed Parts in Sherlock

Using Meshed Parts in Sherlock


Regardless of how they are created or maintained, Sherlock can import one or more mesh models
defined in Calculix INP files and use them as mechanical parts in any Sherlock circuit card model. To
demonstrate this process, we'll attach the Tutorial Case described above to the standard Tutorial Board
and determine the natural frequencies for the combined model.

As shown below, the tutorial board is a rectangular PCB (1) with various components, including a large
connector on the left side and a rectangular mount pad on the right side. Both the connector and the
mount pad are attached to the top side of the PCB.

The Tutorial Case will be added as a mechanical part attached to the bottom of the PCB. Normally,
mechanical parts are defined using a 2D outline that is extruded in the Z dimension based on a given
height.

For meshed parts, we select Custom Mesh (2) as the FEA Model Type. Then, we use the Browse button
(3) to select the Tutorial Case INP file. As with the Meshed Part Viewer, only file paths relative the
Meshed Part Folder are accepted in the Mesh File Name field.

The Edit Base Surface button (4) at the bottom of the Custom Mesh Properties section is used to
select the Base Surface for the meshed part being added. When that button is pressed the Meshed
Part Viewer (5) will be displayed, allowing the desired surface to be selected.

The FEA Constraint Surfaces section is discussed below (p. 451).

By definition, the Base Surface is the surface, from the list of named surfaces defined for the meshed
part, that will be used to attach the meshed part to the appropriate PCB surface. In our example, we'll

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 449
FEA-15 Meshed Parts

be using the MOUNT_POINTS surface, which consists of the top faces of the four corner supports built
into the case, as shown here.

After selecting the desired Base Surface, press the Save button to add the mechanical part to the PCB.

At that point, Sherlock will generate a 2D outline (see below) for the mechanical part based on the
meshed part model and the chosen Base Surface. That is, the 2D outline will be the result of projecting
the 3D model in the plane defined by the Base Surface. After the outline has been generated, the
mechanical part outline will be displayed in the Layer Viewer, ready to be moved and/or rotated to the
proper 2D orientation relative to the PCB, just like any other part in Sherlock.

In the image shown above, the Tutorial Case outline (which includes the corner supports) is colored
teal, while the PCB outline is colored blue. After aligning the case and PCB in 2D, we press the Save
button in the Mechanical Part Editor to save the relative positions.

It is important to note that the specified Base Surface is used by Sherlock to orient the 3D part and
attach it to the PCB. No additional attachment points or 3D transformations are required. Sherlock will
automatically determine the PCB and meshed part elements that need to be bonded to properly attach
the PCB to the designated meshed part surface.

At this point, no further configuration is required to make use of the meshed part. Sherlock will auto-
matically import the elements from the meshed part file into the CCA model whenever it is viewed or
analyzed. Any changes made to the meshed part (INP) file, such as model or surface changes, will be
automatically included in subsequent Sherlock models.

Furthermore, all materials defined in the meshed part file will be automatically merged with the mater-
ials defined by Sherlock for the overall model. Duplicate definitions will be eliminated, and material
name conflicts will be resolved.

The image below (1) shows the elasticity properties of the three different materials used in the combined
model, the ABS material defined in the meshed part file, the ALUMINUM material assigned to the mount
pad on the right side of the PCB and the PCB composite material calculated by Sherlock. (Note, the
component parts were not modeled in this analysis run.)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
450 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Meshed Parts in Sherlock

Image 2 shows one of the natural frequencies of the combined model with boundary constraints applied
only to the mount pad attached to the PCB. The plastic case is attached to the underside of the PCB
where it touches the four corner supports built into the case. Both the case and the PCB are twisting
in various directions.

Constraint Surfaces
As discussed in the previous section, the Base Surface is the meshed part surface that is used to
bond the meshed part to the PCB surface. However, meshed part surfaces can also be used to specify
one or more constraints (aka boundary conditions) on the meshed part that are used during FEA
analysis. When a meshed part surface is used as a constraint, it is called a constraint surface in
Sherlock. Constraint surfaces allow users to use one or more mechanical parts to augment or replace
the constraints provided by Sherlock mount points, providing greater control over FEA boundary
conditions.

Note:

A given meshed part surface may be used as either the base surface or as a constraint
surface, but not both. In general, FEA engines don't allow a given face/element/node to
be both bonded and constrained.

Meshed part surfaces may be planar (that is, all faces lie on the same plane) or non-planar. Any
surface used as the Base Surface must be planar so that all the faces in the surface can be bonded
properly to the PCB surface. No such requirement exists for meshed part surfaces that are used as
constraint surfaces. That is, you are free to designate an arbitrary set of element faces to be used as
a constraint surface.

Non-planar surfaces are specified when the Create Surface or Copy Surface buttons are pressed in
the Sherlock Meshed Part Viewer. The example (below, left) shows the Bottom Corner surface being
created as a non-planar surface.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 451
FEA-15 Meshed Parts

A non-planar surface is used in this example because we want to constrain a collection of faces on
various sides of the bottom corner, as shown in the image below.

It's important to note that any collection of faces may be used to define a non-planar constraint surface.
The faces aren't required to lie on the same plane, and they don't need to be contiguous either. This
provides users with a very flexible way to define constraints on mechanical parts.

After the constraint surface has been defined using the Sherlock Meshed Part Viewer, it can be
referenced by one or more mechanical parts in one or more Sherlock projects to define FEA constraints
for each part instance. Constraint surfaces are enabled for a given mechanical part using the FEA
Constraint Surfaces section in the Mechanical Part Property editor form, as shown here:

Press the Add Surface button to display the following dialog:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
452 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Meshed Parts in Sherlock

Press the Select Surface button to display a version of the Meshed Part Viewer that will allow you
to select one of the existing surfaces or to create a new surface. After the surface is selected, the
surface name will be displayed in the Add Constraint Surface dialog. Check the appropriate constraints
for the selected surface and press the Add Surface button to complete at the process. At that point,
the selected surface will be displayed in the FEA Constraint Surfaces list, as shown here:

You may select any surface in the list and press the Edit Surface or Delete Surface to modify or re-
move the constraint surface at a later time.

After one or more constraint surfaces are defined for a mechanical part, Sherlock automatically uses
them when generating FEA models for all supported FEA engines. For example, the image below
shows the displacement results of a Natural Frequency analysis using the Bottom Corner constraint
surface.

Note how the lower left corner doesn't move because of the use of the Bottom Corner constraint
surface. In this case, the mount points defined on the four corners of the PCB are also being used.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 453
FEA-15 Meshed Parts

When one or more mechanical part constraint surfaces are defined, mount point modeling may be
disabled as needed for analysis purposes. For example, the following displacement results show how
the PCB and case flex when a force is applied to the top of the board on the opposite side of PCB
from the connector where the Bottom Corner constraint surface is defined.

Image 1 above shows the flex when mount points are included in the analysis, while image 2 shows
the flex when only the Bottom Corner constraint surface is used.

Using Meshed Parts with Sub Assemblies


Meshed parts can be used with sub-assemblies in Sherlock to create and analyze multi-card chassis
models. In such models, a custom meshed mechanical part can be defined in any 3D design tool, such
as Abaqus, to represent the chassis to be analyzed. The chassis mesh model can then be imported into
Sherlock and bonded to one or more boards as needed. In this section, we provide an example of such
a chassis analysis using three copies of the Sherlock tutorial board.

Step 1 - Create Abaqus Meshed Model


We began by creating the following multi-card rack model using Abaqus design tools:

The chassis has 3 card slots with 4 corner mounting pads associated with each slot. The rack and the
mounting pads are relatively simple but are accurate enough for most testing purposes. In this case,
a single aluminum alloy material was assigned to the entire rack.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
454 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Meshed Parts with Sub Assemblies

After the model was defined, the Sherlock Abaqus Addin was used to create a mesh model and to
export that mesh model to an INP file suitable for import into Sherlock as a meshed part.

Step 2 - Define Surfaces for The Card Slots


After exporting the meshed model from Abaqus, the Sherlock Meshed Part Viewer was used to
define bonding surfaces for each of the card slots. For example, the following image shows the
bonding surface, named Slot_1, for the lower card slot highlighted in orange:

The Slot_1 surface consists of all the top faces of the slot 1 mount points. Since the surface will be
used to mount sub-assembly boards, all the faces must lie on the same plane. Similarly, bonding
surfaces Slot_2 and Slot_3 were created for the other card slots.

In addition to the bonding surfaces for the card slots, the automatically generated XMAX surface will
be used to constrain the chassis when running a natural frequency analysis.

Step 3 - Add Chassis Mesh Model as Mechanical Part


With the bonding and constraint surfaces defined, the meshed chassis model was added as a mech-
anical part to the first of three tutorial boards Card-1. The meshed part was positioned relative to
Card-1 so that the four corners of Card-1 sit over top of the mount points in the meshed part, as
shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 455
FEA-15 Meshed Parts

Note, parts are positioned in Sherlock using the 2D Layer Viewer, so all of the vertically aligned
mount points in the chassis line show up as a single octagonal region on the outline.

With the chassis in the desired position relative to Card-1, the Mechanical Part Property editor
(shown below) is used to bond the chassis to Card-1. Using the Edit Base Surface button, the Slot_1
surface is chosen as the base surface of the chassis. Also, the Mechanical Part Side is set to Bottom
so that the Slot_1 surface is attached to the bottom of Card-1.

Note also that the XMAX_SURFACE defined for the chassis has been selected as a constraint surface,
with all dimensions constrained. This constraint will be used for all subsequent FEA analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
456 of ANSYS, Inc. and its subsidiaries and affiliates.
Using Meshed Parts with Sub Assemblies

Step 4 - Attach Additional Cards


With the chassis mesh model bonded to Card-1 as a mechanical part, additional cards can be added
as sub-assemblies to Card-1 that are bonded to the chassis, instead of being bonded to assembly
points on Card-1 as is usually done.

The process begins by using the Edit Assemblies menu option in the 2D Layer Viewer and right-
clicking anywhere on the display to display the Add Assembly menu option. At that point, the Add
Assembly dialog (image 1 below) will be displayed. The Assembly selection will contain a list of all
available CCAs that can be used as assemblies. In this case, we select Card-2 and set Card Type to
Mezzanine.

The Mezzanine Properties group allows you to specify orientation transformations and displays the
currently defined assembly points and the Assembly Surface associated with the sub-assembly. The
Assembly Surface can be specified as any one of the meshed part surfaces currently defined in the
model. Press the Select Assembly Surface button to select the assembly surface.

Note:

Multi-card chassis models can only be defined using Mezzanine cards, thereby ensuring
that all the cards are parallel to each other. Multi-card chassis models with non-parallel
cards are not supported by Sherlock.

At that point, the dialog shown below (2) will be displayed, listing all available meshed parts. After
selecting the desired meshed part (MPART1 in this example), press the Select Surface button to select
one of the surfaces defined for that meshed part using the Meshed Part Viewer. In this example,
the Slot_2 surface will be selected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 457
FEA-15 Meshed Parts

After the Slot_2 surface is selected, the Add Assembly dialog (3, above) will be updated to show
the meshed part surface that will be used as the Assembly Surface.

Note:

When an Assembly Surface is defined for a given sub-assembly, all assembly points that
are defined will be ignored when the analysis model is created.

Press the Save button to add the sub-assembly to the chassis. After the dialog is dismissed, you may
move the position of the sub-assembly so that it is properly aligned with the chassis mount points.
You may also set the Center X and Y values manually to align the card precisely with the chassis and
the other cards.

Repeat the process for the Card-3 sub-assembly, selecting the MPART1 / SLOT_3 assembly surface.

Step 5 - Run the Analysis


With all three cards attached to the chassis mesh model, a Natural Frequency analysis is performed
to ensure that the model is defined properly and that all the cards have been properly bonded to
the chassis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
458 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

The three cards are properly located in their assigned slots, bonded to the mount point surfaces
defined for those slots. In this example, there are no individual mount point constraints defined for
any of the cards. Rather, the left-side of the chassis itself is constrained in all dimensions. As such,
the right-side of the chassis is free to move, as is the same for the card centers.

How to Import Meshed Parts from ABAQUS to Sherlock


Things to note when importing parts to Sherlock:
1. You must use the C3D4: A 4-node linear tetrahedron element type.

2. Multiple materials are allowed for the part.

3. Meshed parts can only be imported to Sherlock individually. If you want to bring in several parts,
you need repeat the import process for each part.

4. You can define any number of surfaces.

5. To be imported for Sherlock however, the surface that will attach to the board must be on a single
plane.

6. The Model will be written to the current working directory.

If you already have a part that is ready to be exported, skip to the Creation of Job and INP File (p. 471)
section.

Creating a mesh and importing it to Sherlock from ABAQUS

Note:

The following recommendations were made using ABAQUS 6.14.

We begin by importing the CAD part into ABAQUS. To do this go to File > Import > Part…

In the Import Part Window that appears, browse to the geometry file. ABAQUS supports all the file
types that can be found under File Filter.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 459
FEA-15 Meshed Parts

This example below shows the selection of a STEP file. Select the file and confirm by clicking OK.

ABAQUS will now create a part for the STEP file. In the Create Part from STEP File Window that
appears:

1. Provide a name in the Part name field

2. Set Modeling Space = 3D and Type = Deformable in the Part Attributes Tab

3. Set Scale = Do not scale in the Scale Tab

4. Click OK to confirm

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
460 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

The part should be successfully imported and visible in the ABAQUS Viewer.

Meshing the Part


Switch to the mesh module by choosing Module > Mesh and select Assign Element Type.

In the Element Type Window (shown below) that appears:

1. Set Element Library = Standard

2. Set Geometric Order = Linear

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 461
FEA-15 Meshed Parts

3. Set Family = 3D Stress

4. Select the Tet Tab

5. The element type should be C3D4: A 4-node linear tetrahedron.

6. Click OK to confirm

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
462 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

Next, we need to assign our mesh controls. This can be done by selecting the Assign Mesh Controls
button (1, below). Then in the Mesh Controls window (2):

1. Set Element Shape = Tet

2. Click OK to confirm

Select the Seed Part button (3, below). In the Global Seeds window that appears (4), enter a value
for the Approximate global size. Then Click OK.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 463
FEA-15 Meshed Parts

Click the Mesh Part Button (5). At the bottom-left corner of the screen: Click Yes to mesh the part
(6).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
464 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

Apply the Material Properties


Select the Module > Property Option. Then click the Create Material Button.

In the Edit Material window that appears:

1. Assign the material a name.

2. Click on General > Density to add a Material Density.

3. Click on Mechanical > Elasticity > Elastic to add a Young’s modulus and Poisson’s ratio.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 465
FEA-15 Meshed Parts

Click on Mechanical > Expansion to add a CTE value. Click OK to save the material. Click on the
Create Section button.

In the Create Section Window (below):

1. Assign a name for the section.

2. Category = Solid.

3. Type = Homogenous.

4. Click Continue.

In the Edit Section Window that appears:

1. Select the newly created material for the section from the pull-down menu.

2. Click OK.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
466 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

Click the Assign Section button.

Select the part from the screen and click Done at the bottom-left of the screen.

In the Edit Section Assignment window that appears (see below):

1. Select the created section in the pull-down menu.

2. Click OK.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 467
FEA-15 Meshed Parts

Add the part to an assembly


Switch to the Assembly module by selecting Module > Assembly. Click the Create Instance Button.

In the Create Instance window that appears:

1. Select the part from the list under Parts

2. Click OK

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
468 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 469
FEA-15 Meshed Parts

Make the surfaces that will be imported to Sherlock


Click on Tools > Surface > Create. In the Create Surface window:

1. Give the surface a name.

2. Select Geometry.

3. Click Continue.

Select the wanted faces of the part to create the surface definition using the Shift+Click button.

Click Done. Repeat for all desired surfaces.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
470 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

Creation of Job and INP file


Select Module > Job. Click the Create Job button.

In the Create Job window:

1. Provide the Job with a name.

2. Select the model name of the Part and Assembly (Model-1 in this example).

3. Click Continue.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 471
FEA-15 Meshed Parts

In the Edit Job Window that appears, click OK

The working directory now needs to be chosen to determine where the model will be created. Click
on File > Set Work Directory.

In the Set Work Directory:

1. Browse for the desired directory.

2. Click OK.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
472 of ANSYS, Inc. and its subsidiaries and affiliates.
How to Import Meshed Parts from ABAQUS to Sherlock

The model is now ready to be created. On the bottom of the model tree (see below):

1. Right-click the Job Name.

2. Select the Write Input option.

3. The Model will be written to the current working directory.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 473
FEA-15 Meshed Parts

Reading the model into Sherlock


The model needs to be copied from the ABAQUS working directory to the Sherlock Meshed Parts
Folder:

C:\Users\USERNAME\AppData\Roaming\Sherlock\meshedParts

Once that is done, the model can now be imported into Sherlock. In Sherlock, navigate to Libraries
> Meshed Parts.

In the Sherlock Meshed Part Viewer window Select File > Open File.

In the Open Meshed Part File window that appears:

1. Browse to the file.

2. Click Open File.

The model should be visible in the Sherlock Meshed Part Viewer.

For a step by step guide on how to attach the meshed part to the circuit card assembly, please refer
to the Sherlock Meshed Parts User Guide. (p. 441)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
474 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 33: FEA-20 ANSYS Workbench Integration
ANSYS Workbench is a widely used FEA application that combines the ease of a point-and-click interface
with the power of the ANSYS analysis engines. ANSYS Sherlock can be used to export circuit card data
directly into a Workbench analysis stream and import reliability results back to Sherlock as part of a
Workbench solution as shown with the following steps:

• Export ANSYS Workbench journal and STEP geometry from Sherlock for a given CCA

• Run the exported journal file from Workbench to import the geometry and materials, then open
Mechanical and assign materials to the model

• Add additional geometries as desired

• Define supports and loads

• Perform analysis

• Import analysis results into ANSYS Sherlock

These steps will be detailed presented in detail in this document.

Chapter Sections:
ANSYS Sherlock - ANSYS Workbench Export
ANSYS Workbench Geometry and Materials Import
Performing Analysis
Import Analysis Results into ANSYS Sherlock

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 475
FEA-20 ANSYS Workbench Integration

ANSYS Sherlock - ANSYS Workbench Export


To use a Sherlock circuit card assembly in ANSYS Workbench, the 3D model, material definitions, and
material assignments must be exported from Sherlock. The model sharing process begins in Sherlock
by right-clicking on any FEA-based analysis entry in the project tree and selecting the Export FEA
Model option from the pop-up menu.

In the example shown below, the Natural Frequency module has been selected. All FEA-based analysis
modules will include the currently defined mount points except for the ICT module which will include
all defined ICT fixtures.

The Export FEA Model dialog allows you to specify the location and name of the model file to be
generated along with options for inclusion of specific types of elements in the exported model. To
generate the required files for use with ANSYS Workbench, choose to export an ANSYS Workbench
Journal (*.wbjn) file.

The Mesh Type should be set to None to create a geometric model. See sections FEA-01 – Over-
view (p. 11) and FEA-02a – PCB Modeling (p. 237) in the users guide for more information about exporting
geometric models.

When all desired options have been selected, click the Export File button to generate the file. Note
that this process will actually create three separate files, not just one .wbjn file. In addition to the .wbjn
file, Sherlock will create a file that has an extension .stp which contains the exported geometry model,
and a file that has a .py extension which is used to assign materials to the model geometries. Use of
these files will be detailed in the sections that follow.

When exporting the model, if the option Display Model After Export is selected, Sherlock will auto-
matically launch ANSYS Workbench and execute the exported Workbench journal file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
476 of ANSYS, Inc. and its subsidiaries and affiliates.
ANSYS Workbench Geometry and Materials Import

ANSYS Workbench Geometry and Materials Import


If Sherlock did not automatically launch Workbench as a result of the export, then the exported Work-
bench journal file must be run manually. If Sherlock did automatically launch Workbench, then the
script will be automatically run. When complete, ANSYS Mechanical should be visible with the imported
model. Move on to the Add Additional Geometries (p. 477) section if this is the case.

Manually Running Workbench Journal File


This section details the steps to make use of the exported geometry file in ANSYS Workbench and to
perform various types of analysis. With ANSYS Workbench open and a new project ready perform
these steps:

1. Select File > Scripting > Run Script File... from the Workbench menu bar.

2. Using the file dialog, find the desired exported .wbjn file previously exported from ANSYS Sherlock
and click the Open button

ANSYS Workbench will open the selected file and execute the commands defined in the file. These
commands will cause Workbench to perform the following actions:

• Set the project units

• Create an Engineering Data component and import required material definitions

• Create a Geometry component and import the exported STEP geometry file

• Create a Mechanical Model component and link the previously created Engineering Data and
Geometry components

• Starts Mechanical and assigns materials to the model components

Note:

The .wbjn file contains the absolute file path name to the exported .stp file. If the location
of this file changes following the export, the .wbjn file must be modified using a text editor
to change the location of the exported .stp file. If the STEP geometry file can't be found
then the .wbjn script will open a file dialog to locate and provide it to the script.

Add Additional Geometries


Once the .wbjn script has completed and all the components have been created, the imported
model and materials are ready to be used for analysis. Before doing so, it may be desirable to modify
the imported model by adding additional items such as an enclosure around the PCB. This can be
achieved by right-clicking the Geometry item in the Geometry component and choosing to edit the
geometry in Space Claim or Design Modeler. Note that this is an optional step, and only required if
additional model entities need to be added for the desired analysis to be performed. If additional
geometries were previously added, they will have not been assigned the proper material. Materials
must be manually assigned to these geometries.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 477
FEA-20 ANSYS Workbench Integration

Performing Analysis
This section will describe the steps to perform supported analysis tasks that allow results to be imported
into Sherlock. The first section will describe performing a natural frequency or modal analysis. It will
cover the various settings used by all analysis tasks and specific settings specific to natural frequency
analysis. When performing any analysis, it is recommended that a separate model be used for ICT ana-
lysis and a separate model be used for Thermal Mechanical analysis from the model used by the other
types of analysis. The model generated for ICT analysis will have any defined fixtures included, whereas
the other types of analysis will define mount points. The model for thermal mechanical analysis is the
same as other types of analysis, however, additional steps will be required for defining thermal mech-
anical analysis which would affect the settings of the other analysis types which is why it is best to use
a separate instance.

From the Workbench project schematic, double-click or drag a Modal analysis component onto the
project schematic. When adding the Modal analysis, link the Engineering Data, Geometry, and Model
from the previously created Mechanical Model component to the new Modal analysis component. Once
linked, double-click the Setup row of the Modal component to open Mechanical.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
478 of ANSYS, Inc. and its subsidiaries and affiliates.
Performing Analysis

Mechanical Settings, Mesh Properties, and Contacts


Before proceeding with additional settings or performing analysis, it is important to verify the units
being used by ANSYS Mechanical match those of the main Workbench project as was done in the
main Workbench application window. Select the Units menu and ensure the same units as selected
for Workbench are selected here. This will typically be Metric (mm, t, N, s, mV, mA) as shown below.

Note:

Setting the units in ANSYS Workbench is an important step to ensure that Sherlock may
find component results.

Next, review the mesh properties and make changes as desired. If changes are required such as to
the mesh sizing, click the Mesh item and adjust the settings a desired. A common item to change
would be the Sizing > Element Size attribute. For instance, to set a 5 mm mesh size, enter the value
of 5 for this attribute from the menu instead of the default value of Default.

If the type of model exported from Sherlock was a Layered model, it may be necessary to update
the automatic contact points created as the default tolerance may be large enough to cause contacts
to be created between each layer of the PCB and the defined parts. Only the layer to which the part
is connected to should have a contact defined. To make this adjustment, expand the Connections
item and click Contacts. Change the Tolerance Type to Value and update the Tolerance Value to
a value such as 0.01. Right-click the Contacts item and select Create Automatic Connections then
verify the contacts created only show part connecting to a single layer.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 479
FEA-20 ANSYS Workbench Integration

Boundary Conditions
All analysis types will need some sort of boundary conditions or supports defined in the model. From
within Mechanical, click on the Modal analysis item in the tree (the specific item will vary depending
on the type of analysis performed). Next click the Supports item from the menu bar and select the
type of support to add. Define the support as desired within Mechanical. Once all the desired
boundary conditions have been defined, then Modal analysis is ready to be performed. Other types
of analysis will need to add external load conditions as well.

Note that when defining supports, if previously defined supports have been added to existing analysis
components, and they are the same for the current analysis component, they may be copied within
Mechanical to be reused.

Loads
Loads are not used for Modal analysis, however they must be defined for all other supported analysis
types. From within Mechanical, click on the desired analysis item in the tree. Next click the Loads
item from the menu bar and select the type of load to add. Define the load as desired within Mech-
anical. Once all loads and supports have been defined, then the selected analysis is ready to be per-
formed.

Note that when defining loads, if previously defined loads have been added to existing analysis
components, and they are the same for the current analysis component, they may be copied within
Mechanical to be reused.

Natural Frequency Analysis


Natural frequency analysis in ANSYS Sherlock is the same as Modal analysis in ANSYS Workbench.
The same natural frequency analysis properties as found in Sherlock may be defined in ANSYS
Workbench. These settings are found by clicking the Analysis Settings entry under the selected
Modal analysis in Mechanical:

• Natural frequency result count is set with Max Modes to Find setting.

• Modify Limit Search to Range to be a value of Yes.

• Natural frequency min frequency is set with Range Minimum.

• Natural frequency max frequency is set with Range Maximum.

Once the desired settings are in place, click the Solve button in the Mechanical menu. ANSYS will
then mesh all parts as necessary, then perform the desired analysis. Any issues encountered while
performing analysis will be indicated in the Mechanical user interface.

Once analysis is complete, the results can be viewed from within ANSYS Mechanical and/or imported
into Sherlock to provide reliability prediction results. Importing results back into Sherlock will be de-
tailed in a later section.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
480 of ANSYS, Inc. and its subsidiaries and affiliates.
Performing Analysis

Vibration Analysis
Harmonic Vibration and Random Vibration Analysis in Sherlock is the same as Harmonic Response
analysis in ANSYS Workbench. In Sherlock the difference between harmonic and random vibration
analysis is how the loads are defined. Random events are defined with a PSD curve, whereas harmonic
events are defined in terms of acceleration (G) vs. frequency (Hz).

When setting up for vibration analysis, both ANSYS Loads and Supports must be defined before
analysis may begin. See the prior sections on Boundary Conditions and Loads for more information.

The settings for performing vibration analysis in ANSYS are found by clicking the Analysis Settings
entry under the selected Harmonic Response analysis in Mechanical.

• Modify Range Minimum and Range Maximum values

• Modify Cluster Results to be a value of Yes

Other settings to consider changing:

• Options > Modal Frequency Range – set to Manual if not using prior NF analysis

– Max Modes to Find – same as Natural frequency result count

– Modal Range Minimum – same as Natural frequency min frequency

– Modal Range Maximum – same as Natural frequency max frequency

• Damping Controls > Constant Damping ratio – same as Damping Modifier

Once the desired settings are in place, click the Solve button in the Mechanical menu. ANSYS will
then mesh all parts as necessary, then perform the desired analysis. Any issues encountered while
performing analysis will be indicated in the Mechanical user interface.

Once analysis is complete, the results can be viewed from within ANSYS Mechanical and/or imported
into Sherlock to provide reliability prediction results. Importing results back into Sherlock will be de-
tailed in a later section.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 481
FEA-20 ANSYS Workbench Integration

Mechanical Shock Analysis


Mechanical shock analysis in Sherlock is the same as Transient Structural analysis in ANSYS Workbench.
The settings for performing mechanical shock analysis in ANSYS are found by clicking the Analysis
Settings entry under the selected Transient Structural analysis in Mechanical. The step controls need
to be defined for transient structural analysis.

When setting up for mechanical shock analysis, both ANSYS Loads and Supports must be defined
before analysis may begin. See the prior sections on Boundary Conditions and Loads for more inform-
ation.

Once the desired settings are in place, click the Solve button in the Mechanical menu. ANSYS will
then mesh all parts as necessary, then perform the desired analysis. Any issues encountered while
performing analysis will be indicated in the Mechanical user interface.

Once analysis is complete, the results can be viewed from within ANSYS Mechanical and/or imported
into Sherlock to provide reliability prediction results. Importing results back into Sherlock will be de-
tailed in a later section.

ICT Analysis
ICT Analysis in ANSYS Sherlock is the same as Static Structural analysis in ANSYS Workbench. The
settings for performing ICT analysis in ANSYS are found by clicking the Analysis Settings entry under
the selected Static Structural Analysis in Mechanical.

When setting up for ICT Analysis, both ANSYS Loads and Supports must be defined before analysis
may begin. See the prior sections on Boundary Conditions and Loads for more information.

Once the desired settings are in place, click the Solve button in the Mechanical menu. ANSYS will
then mesh all parts as necessary, then perform the desired analysis. Any issues encountered while
performing analysis will be indicated in the Mechanical user interface.

Once analysis is complete, the results can be viewed from within ANSYS Mechanical and/or imported
into ANSYS Sherlock to provide reliability prediction results.

Import Analysis Results into ANSYS Sherlock


Upon completion of any supported analysis in ANSYS Workbench, you can import the results into
Sherlock for review and to generate reliability predictions. Note that, when exporting a STEP file from
Mechanical, Named Selections matching component names created by Sherlock must be preserved.
Mechanical may rename objects when creating analysis components. You can turn off this feature
through the Object Renaming setting in Mechanical.

The actual analysis results and a copy of the exact model used for analysis will be stored in a file named
[Link]. Before importing you may wish to make a copy of this file and rename the copy to something
associated with the Sherlock project and analysis type from which they originated. If the Save MAPDL
db option was enabled when performing analysis, then a [Link] could also be used for the model. Using
this file will take slightly longer to import, as Sherlock will need to execute an ANSYS task to process it
for consumption.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
482 of ANSYS, Inc. and its subsidiaries and affiliates.
Import Analysis Results into ANSYS Sherlock

For purposes of this example, we'll assume the file has been produced for natural frequency analysis
and will rename it [Link].

To import these results into Sherlock, the same process outlined in the user guide section FEA-01 –
Overview (p. 11) is used. In Sherlock, right-click on the Natural Freq analysis item (or the specific ana-
lysis item for which results will be imported), then select Run Analysis Task.

When the Analysis Properties dialog appears, change the Data Source to Imported if necessary. The
analysis properties dialog will be updated so that the locations of the required previously saved files
from Workbench can be provided. The files required depends on the specific analysis:

• Natural Frequency

– Natural frequency analysis .rst file

• ICT

– ICT analysis .rst file

• Mechanical Shock

– Natural frequency analysis .rst file

– Mechanical shock analysis .rst file

• Thermal Mechanical

– Thermal mechanical analysis .rst file

• Vibration

– Natural frequency analysis .rst file (note when doing standalone vibration analysis, reuse the vibration
.rst file for the natural frequency model and result)

– Vibration analysis .rst file.

In summary, only .rst files are needed for import. Sherlock automatically enables the Native RST Reader.
The Native RST Reader setting can be configured by selecting Setting > General Settings in the Sherlock
main menu, and then choosing FEA Analysis from the side tabs. Native RST Reader is located under
Engine Properties.

Once the files have been selected, click the Save & Run button to import the results. Once complete,
the results may be viewed as normal in the Sherlock Results Viewer or 3D Results Viewer.

Note:

After importing results into ANSYS Sherlock, if there are messages on the analysis Issues tab
that indicate result nodes associated with a part could not be found, verify the units in ANSYS
Workbench and Mechanical were set correctly.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 483
FEA-20 ANSYS Workbench Integration

Detect Transform
Detect Transform is an option in Sherlock for importing an analysis from ANSYS Mechanical. When
Detect Transform is ENABLED, Sherlock will automatically reorient the imported model to account
for any Part Transform object that was applied in Mechanical. Selecting MANUAL allows you to enter
the Transform properties manually.

Note:

If a Part Transform has been applied to the model in ANSYS Mechanical and Detect
Transform is DISABLED in Sherlock, the component results will not be correct.

When viewing an imported 3D model with Tranformed results, the model will be in the untransformed
coordinate space. The 3D results, however, will be in transformed space.

Detecting Transform does not support Part Transforms defined as a coordinate system transform,
only when it is defined in terms of rotation and translation.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
484 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 34: FEA-21 ANSYS Icepak Integration
As of ANSYS Release 2021 R1, you can export your Sherlock projects to ANSYS Icepak. Icepak is an industry
leading software application which performs thermal and fluid flow analyses of integrated circuits,
packages, printed circuit boards, and electronic assemblies- all powered by ANSYS Fluent’s Computa-
tional Fluid Dynamics (CFD) solver. When exporting to Icepak, Sherlock provides the package geometries
and material properties with the level of detail needed for highly accurate thermal analysis.

This chapter will guide through exporting a file from Sherlock and importing it into Icepak. As an
overview, the process can be summarized in three steps:

1. From Sherlock, export a CCA (circuit card assembly). Sherlock creates a TCL (.tcl) script file and
an STL file for each component on the CCA.

2. Using your PC's command-line interface, prompt Icepak to run the exported TCL file. Icepak will
then import the geometry and materials data as well as create an Icepak TZR project file (.tzr).

3. If required, you can add additional geometries to the CCA from within Icepak.

Once you've completed these steps, you are ready to perform Icepak analysis in standalone mode or
as part of a larger ANSYS Workbench analysis flow. In the sections that follow, you’ll find a detailed
explanation of the above steps.

Note:

The workflow discussed in this document is for Classic Icepak, not for AEDT Icepak.

Step 1: Exporting the .tcl File from Sherlock


Step 2: Creating the Icepak Project TZR File
Step 3: Modify or Add Additional Geometries

Step 1: Exporting the .tcl File from Sherlock


A. The model sharing process begins in Sherlock by right-clicking on any FEA-based analysis entry in
the Project Tree and selecting Export FEA Model from the pop-up menu. In the example below,
the Natural Frequency module has been selected (1). All FEA-based analysis modules will include
the currently defined mount points- except for the ICT module which will include all defined ICT
fixtures.

B. In the Export Model dialog, click Browse to open the Select File window (2). Create a File Name
for the .tcl file. (The file name cannot contain spaces.) Choose the location on your PC where you

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 485
FEA-21 ANSYS Icepak Integration

want the model saved. Select Icepak (*.tcl) as the File Type (3). Click Select File to return to the
Export Model dialog.

Note:

As noted above, the file path and name specified for the exported TCL file cannot contain
spaces. If spaces are included, the import will not work.

C. In the PCP Modeling tab, the Mesh Type should be set to None (4) to create a geometric model.
(See FEA-01 – Overview (p. 209) and FEA-02a – PCB Modeling (p. 237) for more information about
exporting geometric models.)

Note:

If you want to preview your geometry in Icepak, select Display Model After Export (5,
above). Once the export is complete, this option will launch a basic version of Icepak
with your model displayed. This is a helpful way to catch errors early. In order to run
analyses and have access to the full suite of Icepak tools, however, you must create the
TZR project file as decribed below in Step 2. (p. 487)

D. Finally, using the Export Model dialog, you may select and configure the elements you want to
appear in the exported model. When finished, click Export File.

E. Sherlock will now create the TCL script, an STL file for each component in the circuit card assembly,
and a text file containing any messages pertaining to the export.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
486 of ANSYS, Inc. and its subsidiaries and affiliates.
Step 2: Creating the Icepak Project TZR File

Step 2: Creating the Icepak Project TZR File


You must now convert the TCL file to a TZR file, the standard file-type Icepak uses. This conversion is
necessary even if you selected Display Model after Import in the Export Options. The first step is to
create an environment variable which points to the location of your Icepak installation:

A. Open Windows File Explorer, right click on This PC and select Properties. Then click on Advanced
System Settings which opens the System Properties window shown below. Click the Environment
Variables button.

B. In System Variables, click New. In the example below, we've chosen ICEPAK_ROOT as the variable,
but you may choose whatever name you like. The Variable value is the location of Icepak on your
computer. To set it, click the Browse Directory button and navigate to the location of your Icepak
application. Select OK to create the environment variable.

C. Restart your computer before continuing.

D. You will perform the next few steps using your PC's command-line interface. First, copy to your PC's
clipboard the file string that points to the location of your TCL file by doing the following:

1. Using Windows File Explorer, navigate to the folder where your exported TCL file is located. In
this example (1, below), the file is located in a folder called Tutorial- which is inside an Icepak
folder on the Desktop. Click the address bar so the file path is displayed (2).

2. Right-click the address bar and choose Copy. It's a good idea to paste the file path into a text
document for temporary safe keeping (3).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 487
FEA-21 ANSYS Icepak Integration

E. Open the command-line interface on your computer: In Windows, click the Search icon in the task
bar, type command prompt, and press Enter. This will open the command-line window.)

F. In the command-line interface, change the working directory to the folder where your TCL file is
stored:

1. At the command prompt, type cd (change directory) followed by a space. Then paste (CTRL +
V) the file path you copied earlier. The result should look something like this:

2. Press Enter. Your working directory should now be the location of your TCL file. (As a doublecheck,
you can type dir and press Enter. This will display a list of files in the current working directory.
You should see your TCL file in the list.)

G. Next, create the command which executes the creation of the Icepak Project. (A sample command
is shown below.) It consists of the following parts:

1. The filepath to the [Link] file (followed by a space). The filepath on your pc might differ
from the example below. Use Windows File Explorer to verify the location of [Link]. If
needed, copy and paste from the address bar as shown earlier in Step D.

2. The command -run_script (followed by a space)

3. The name of the .tcl file exported from Sherlock (followed by a space)

4. The name you want to give the new Icepak Project file

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
488 of ANSYS, Inc. and its subsidiaries and affiliates.
Step 3: Modify or Add Additional Geometries

H. Once you've composed the command, press Enter. Icepak will now read the TCL file generated in
Step One (p. 485), import the geometry and materials data, create the Icepak project file (.tzr), and
launch.

Sample Command Line:

Step 3: Modify or Add Additional Geometries


Once Icepak has created the TZR file and has generated all the CCA components, you are ready to begin
your thermal analysis.

If you want to modify the properties of your model before proceeding, simply right-click the imported
Block item in the Icepak Tree and modify the values as required. If desired, you can add additional
geometries through the Icepak interface.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 489
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
490 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 35: IPC-2581
ANSYS Sherlock provides the ability to import IPC-2581 full function mode files to create a new project
within Sherlock or to define a new circuit card within an existing project. This import process is like
other supported import formats such as ODB++.

IPC-2581 is an open global standard for assembly and manufacturing data supported by the IPC-2581
Consortium. More information about IPC-2581 can be found at [Link] Sherlock supports
IPC-2581 revision A and B of the standard for a FULL function mode IPC-2581 file (USERDEF mode in
revision B). Some other function mode levels may produce results within Sherlock however these other
modes typically do not include all the necessary data for Sherlock to completely define a circuit card.
Some of the example files found on the IPC-2581 website are not FULL function mode examples.

A list of supported and known unsupported elements from IPC-2581 can be found at the end of this
chapter.

Chapter Sections:
Importing an IPC-2581 File
IPC-2581 Supported Elements

Importing an IPC-2581 File


An IPC-2581 file is a text-based XML file containing the complete definition of the printed circuit card,
such as the components, layers, BOM, etc. IPC-2581 files prior to revision B of the standard, end with a
.cvg extension, and end with a .xml extension with revision B. Sherlock also supports having one of
these files enclosed with a .zip file. If there is more than one matching file type found in the zip archive,
only the first match will be processed. Note that some of the example files provided by the IPC-2581
Consortium are .zip files. However, these zip files also include ODB++ archives, and other formats and
documentation used for comparison and reference to the contained IPC-2581 file. When using these
files to import into Sherlock, the desired .cvg or .xml file should be first extracted from the archive to
insure the correct IPC-2581 file is imported.

For the purposes of this tutorial, test case 3 for revision B will be used from the IPC-2581 Consortium
website. These sample files can be found at [Link]

To import an IPC-2581 file, select the Import IPC-2581 Archive from the Project menu. This will display
a dialog to allow the selection of the IPC-2581 file to be imported, along with additional options that
allow for manual override of the project name and CCA name. By default, Sherlock will only bring in
layers from the IPC-2581 file that Sherlock uses. The option Include Other Layers will tell Sherlock to
bring in any layer found in the IPC-2581. These additional layers will appear in the Other Layers folder
of the Layer Viewer.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 491
IPC-2581

After selecting the desired file to import and optionally changing any other options, click the Scan
Archive button to begin the import process. The file will first be pre-processed, and a dialog named
the Component Property Mapping dialog, like the following will be displayed:

The Component Property Mapping dialog is an important, but sometimes overlooked, dialog that allows
you to map various component/part properties included in the IPC-2581 file to corresponding Sherlock
property fields. Sherlock parses any BomItem description and BomItem textual characteristics found in
the IPC-2581 file to produce this dialog. The item COMP_CLASS in this example was found and the
value IC was an example value found in the file. If desired, the indicated Sherlock part property will be
assigned the values found for COMP_CLASS associated with each part found. If the indicated Sherlock
part property is not correct or the indicated IPC-2581 property doesn’t apply, change the selection to
the correct Sherlock part property or to the value of Ignore.

Note:

In this example, only one property is defined and the names are easily matched with Sherlock
property names. In a real-world archive, there can be dozens of property names, in which
case you'll need to determine which, if any, should be mapped to Sherlock properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
492 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing an IPC-2581 File

After you've reviewed the various properties and have decided that they are mapped appropriately,
press the OK button to continue the import process.

After the part properties have been mapped the Import IPC-2581 Files dialog will display the complete
list of data that can be extracted automatically from the archive, as shown here:

In this case, Sherlock has found a complete set of files, including package information, stackup data,
board outline, drill holes and all the important layers. Additionally, because the Include Other Layers
option was selected, it found five additional layers to import which are not used directly by Sherlock.

For ease of use and because of the larger size of IPC-2581 files, Sherlock will extract the XML that makes
up each of the found items in the list of imported items above. Each will display as a separate XML file
within Sherlock and properly associated to each layer within Sherlock.

Press the Import Archive button to start the import process, at which point the import dialog will close
and the project navigation tree will be updated to include all the files being imported, as shown below.
While each file is imported, the icon displayed next to the file will reflect a clock icon. Once complete,
the appropriate file icon for the given file will be reflected. If any errors were generated while processing
the files, then the file will be highlighted with an orange "?" icon.

At this point, the IPC-2581 file has been imported into Sherlock creating a new project containing a
new circuit card. Project management can continue by reviewing part properties and various layers as
detailed in Lesson 04 – Reviewing Part Properties (p. 33) and Lesson 05 – Layer Viewer (p. 59) of the
Sherlock tutorial.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 493
IPC-2581

Many of the examples provided by the IPC-2581 Consortium also provide additional import types such
as ODB++ for the examples to be used as a comparison. The ODB++ examples may also be loaded into
Sherlock, see the ODB++ Project Creation (p. 27) tutorial more information. When doing so you might
notice some discrepancies between an ODB++ version of a file and the IPC-2581 revision A and B versions
of a file.

One such example appears with the test case 3 file used as an example in this user’s guide section. If
you view the bottom component and solder mask layers in Sherlock you will notice that component
U11 appears to be rotated differently than the soldermask layer, however in the ODB++ version of the
same example, the rotation is correct.

IPC-2581defines rotation values as counter-clockwise as viewed from the top of the board. Mirroring is
done across the Y-axis and is performed after rotation. If you right-click the [Link] file in the Files
section of the imported IPC-2581 file, you can select View File from the menu to see how this component
is specified. Component U11 is found near the bottom of the file. As shown below, the component is
rotated to the left or counter-clockwise 82.601 degrees, then mirrored across the Y-axis meaning that
all X values are set to -X. Because component U11 is rotated incorrectly, the rotation may be fixed by
changing the component rotation or mirror setting.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
494 of ANSYS, Inc. and its subsidiaries and affiliates.
IPC-2581 Supported Elements

<Component refDes="U11" packageRef="PLCC28" layerRef="BOTTOM" part="FILTERED" mount-


Type="SMT" standoff="0.0" height="0.175">
<Xform rotation="82.601" mirror="true"/>
<Location x="1.750" y="1.350"/>
</Component>

For comparison, the same component from the ODB++ archive is defined with a rotation of 277.4 and
no mirroring. Rotation values in ODB++ are performed clockwise.

CMP 5 1.75 1.35 277.4 N U11 ??? ;0=1,1=0.175000

IPC-2581 Supported Elements


In the IPC-2581 specification, section 4.1 Content: FunctionMode shows a table of how various functions
are supported between the different function modes and levels. Sherlock requires most items from re-
vision A FULL mode or revision B USERDEF mode:

Table 35.1: IPC-2581 Element Requirements

Sherlock
Name
Supported
Hierarchical layer/stack instance files Yes
Hierarchical conductor routing files Yes
BOM Yes
AVL No
Component Packages Yes
Land Patterns No
Device Descriptions Yes
Component Descriptions Yes
Soldermask: Solder Paste Legend Layers Yes
Drill and Routing Layers Yes
Documentation Layers Optional
Net List Yes
Outer Copper Layers Yes
Inner Layers Yes

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 495
IPC-2581

Miscellaneous Image Layers Optional


DFX Analysis No

Sherlock supports most of the IPC-2581 specification, however there are some items which are not
supported as Sherlock provides its own implementation for them or they are not required for use by
Sherlock. The following tables indicate what is supported. This is not a meant to be a complete list but
does cover most of the functionality that Sherlock normally provides.

Table 35.2: IPC-2581 Specification Support

IPC-2581 Item and Section Status


3.3 Transformation characteristics (Xform) Supported
3.4 Substitution Groups
ColorGroup, Fiducial, FirmwareGroup, Not supported
FontDef
Feature, PolyStep, Simple, Supported
StandardShape, UserShape
LineDescGroup lineProperty not supported; all lines are solid

FillDescGroup fillProperty of void and solid are supported

StandardPrimitive All shapes; Moire and Thermal are not fully


supported
UserPrimitive Text attribute not supported
4. Content
DictionaryStandard Supported as StandardPrimitive above

DictionaryUser Supported as UserPrimitive above

DictionaryFont Not supported

DictionaryLineDesc Supported as LineDescGroup above

DictionaryFillDesc Supported as FillDescGroup above

DictionaryColor Not supported

DictionaryFirmware Not supported


7. BOM
BomHeader, RefDes, Textual Supported
Characteristics
8. ECAD
8.1 CadHeader Supported

8.2 CadData
8.2.1 Layer Supported; DrillTool not supported

8.2.2 Stackup Supported

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
496 of ANSYS, Inc. and its subsidiaries and affiliates.
IPC-2581 Supported Elements

8.2.3 Step
Nonstandard Attribute, Datum, Profile, Supported
LogicalNet, PhyNetGroup
PadStack, PadStackDef, Route, Not supported
StepRepeat, DfxMeasurementList
LayerFeature Fiducial, SlotCavity, ColorGroup not supported

Other Limitations

Test points are created from component TP reference designators, not testPoint definitions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 497
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
498 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 36: Laminate Management
The Sherlock Laminate Manager allows for a user to create and modify Sherlock laminate definitions.
Properties modified in the Laminate Manager are used in the stackup definition of a circuit card assembly.
The Laminate Manager is accessible from the Sherlock Client Libraries menu and as a standalone utility
accessible from the Sherlock Start Menu folder.

Chapter Sections:
Laminate Manager Listing
Laminate Editor
Temperature-Dependent Laminate Properties

Laminate Manager Listing


The main Laminate Manager window is organized into two sections. The top section provides a set
of fields to allow filtering of the laminates in the manager. The bottom table is a list of all laminates or
those laminates matching any selected filters from above.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 499
Laminate Management

To filter the laminate definitions to only the FR-4 material types, enter FR-4 (including the quotes) in
the Material column filter and press Enter. This will immediately filter the laminate table to only display
laminates with material FR-4. Multiple filters may be applied. To filter the table even further, select or
enter Generic for the Manufacturer column and press Enter.

The main window for the Laminate Manager can be customized and filtered in ways similar to the
customization and filtering detailed in the Parts List Management (p. 597)users guide. The actions include,
selecting the visible columns and advanced filtering techniques. Please refer to the Parts List Management
(p. 597) users guide for details on using these features.

Laminate Editor

Selecting a Laminate to Edit


To view or edit a given laminate, you may double-click on the desired laminate from the laminate
table listing. You may also right-click the laminate in the laminate table listing and select Edit Selected
Laminates from the pop-up menu. To edit multiple laminate definitions at the same time, select each
laminate to edit by using the shift key and left-clicking the desired laminate rows, then right-click
one of the selected laminate and chose Edit Selected Laminates from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
500 of ANSYS, Inc. and its subsidiaries and affiliates.
Laminate Editor

After selecting a laminate to edit, the Laminate Editor dialog window will be displayed. This window
provides a look at all the property values defined for the selected laminate and allows for those
property values to be modified.

Using the Laminate Editor


After selecting a laminate to edit a new dialog window will appear with a listing of all the available
laminate properties for the selected laminate. From the laminate editor, you can view and make
changes to any of the laminate properties. The Laminate Editor groups properties into different
categories, represented by tabs in the editor. Depending on the laminate selected, certain tabs or
properties will be disabled to indicate they are not applicable for the given laminate.

For properties which indicate a unit of measure, the currently selected unit of measure for that
property is displayed next to the field. By selecting a new unit of measure from the list, the value
displayed in the form will automatically be converted to the selected units. These includes fields
which may have specified multiple temperature-dependent properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 501
Laminate Management

The User tab provides a place to specify notes about a given laminate and indicate the creator of
the laminate and user that last modified the laminate. If a laminate does not have any customized
values, then the Created By and Modified By fields will be listed as ANSYS, Inc..

After making any desired laminate changes, use the Save button to save the changes to the local
copy of the Sherlock laminate library. See the Sherlock User Guide - User Data Files (p. 733) chapter
for more information about the location and format of the local laminate library. If you don't wish to
save any changes or are simply viewing the laminate definition, select the Cancel button when done.
The Reset button will revert any changes you have made to the definition since opening the dialog
to the original settings.

When selecting more than one laminate to edit at a time, if a given value for all laminates selected
is different, then the value VARIOUS will be displayed for the given laminate property. When the
laminate definition is saved, if any such property is assigned a new value, then all laminates being
modified will receive the new value. Otherwise each laminate will retain the value already assigned.

If you wish to view additional laminate definitions, you may do so without closing the laminate editor
dialog window by simply selecting the laminate from the selector at the bottom of the window or
using the Prev and Next buttons. (See below.) The laminate selector and the Prev and Next buttons
are both limited to the filtered laminates from the laminate manager itself. If no filters were applied,
then the entire list of laminates is available. For the example above only the Generic FR-4 laminates
are displayed.

Temperature-Dependent Laminate Properties


Temperature-dependent values can be specified for the following properties:

• CTExy, CTEz

• Exy, Ez

• Density Properties

• Thermal Conductivity

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
502 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Laminate Properties

Temperature-dependent values are defined as a set of temperature-value pairs and are used when
generating stackup properties during analysis. FEA engines typically use the given data points to de-
termine the property value for a specific temperature by using linear interpolation between the
bounding data points. For all temperatures below the minimum temperature specified, the value asso-
ciated with the minimum temperature will be used. Similarly, for all temperatures above the maximum
temperature specified.

Temperature-value pairs are specified using the following notation:

<Value> @ <Temp> <Units>

where <Value> is the property value, <Temp> is the temperature and <Units> are the temperature
units. (NOTE: The value units must be those specified in the list above.) Two or more temperature-value
pairs must be comma separated. For example, the following notation:

400@20C, 320.5@212F

specifies a value of 400 at 20 degrees centigrade and a value of 320.5 at 212 degrees Fahrenheit.
Temperature units can be freely mixed in a given list of temperature-value pairs.

In situations where Sherlock needs to determine a temperature-dependent material property value


when no explicit temperature is defined (such as when mixing material property values in a given PCB
layer to determine the average layer property value), a room temperature value of 20C is used for inter-
polation purposes.

CTE and Elasticity Modulus Calculators


To assist with computing temperature dependent values for the CTE and Elastic Modulus properties,
Sherlock provides a temperature value calculator for these properties. This calculator takes in a base
CTE or Elastic Modulus value, a Tg value, temperature range, and inputs that control the number of
temperature values to produce to provide a set of temperature dependent values.

The default laminate contains a single CTE (xy and z) and Elastic Modulus (xy and z) values. To use
the calculator to expand this list, click on the calculator icon button next to the desired field.

When you select the calculator for the Elastic Modulus, the Temperature-Dependent Properties
Calculator launches. As shown below, the calculator provides a set of default input properties used

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 503
Laminate Management

to compute additional material temperature values for the selected property. The default Tg and
Modulus < Tg (or CTE values) originate from the source material. Note the default values shown below:
The Number of Points is 10 which means the calculator will generate ten material temperature values
for elasticity within the range of -60° and 140° Celsius. Because the calculator generates additional
temperature values at the Max and Min Temperatures, the total number of values generated will
be twelve.

Upon clicking the Compute button, the values will be computed, and the underlying field updated
with new material temperature values. To accept these values, click the Save button for the laminate
and they will be committed.

Note:

To ensure accurate calculations, it is important to clear any parameter you wish to change
in the Temperature-Dependent Properties Calculator before computing.

The input parameters are defined below. The graphs which follow illustrate how the parameters affect
the calculations:

Max Temperature: The maximum temperature at which temperature dependent material prop-
erties are calculated
Min Temperature: The starting temperature at which temperature dependent material properties
are calculated
Tg: Glass transition temperature
Modulus < Tg: Modulus used to calculate the temperature dependent material properties
Number of Points: The number of points within the temperature range that will be calculated.
The recommended value is 20 points.
Shape Factor: Controls the transition rate/span of the transition region of the hyperbolic tan
curve. The lower the shape factor, the quicker the change of the material property. The shape
factor must be greater than 0. Realistically, a shape factor in the range of 5 – 30 is recommended.
Sherlock uses a default value of 20.
Bias Ratio: Used to compute the number of points which will cluster around the Tg area by
controlling the division or increment size. As you increase the Bias Ratio, the points around the
Tg grow in density. Sherlock uses a default value of 10, which is recommended.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
504 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Laminate Properties

Note:

The default values of any system-provided material can be restored by using the Delete
Selected Materials menu item from the Material Manager (p. 535) listing. Deleting system-
provided materials simply resets those material property values.

Bias Ratio= 1, Tg=85:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 505
Laminate Management

Bias Ratio= 10, Tg=85

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
506 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Laminate Properties

Adding and Copying Laminates


To add a new laminate, select Add Laminate from the Laminate menu, or right-click in the laminate
table listing and select Add Laminate from the menu. The laminate editor dialog will appear with
all laminate properties empty, ready for a new laminate to be defined. When you are complete defining
a laminate, click the Save button to add the new laminate.

To copy a laminate, right-click the laminate to be copied from the laminate table listing and select
Copy Laminate from the menu. A copy of the laminate will be made. Provide a product name for
the copied laminate and make any changes desired to the laminate properties, then click the Save
button to add the copied laminate.

Deleting Laminates
Any user-defined laminate that is not a Sherlock system laminate may be deleted. Right-click the
laminate to be delete from the laminate table listing and select Delete Laminate from the menu. If
the Delete Laminate item is not available, this indicates that it is not a user-defined laminate.

If a system laminate has been modified, the Delete Laminate menu item will be available. However,
it will not actually delete the laminate. Deleting a system laminate that has user-defined properties

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 507
Laminate Management

will simply remove all the user-defined properties and allow the laminate to revert to being completely
system defined.

Laminate Export and Import


Laminate definitions may be exported to CSV or XLS spreadsheet files. The files can also be used to
import back into the laminate manager. To export all laminate definitions, select from the File menu
Export Laminates or right-click in the laminate table listing and select Export Laminate from the
pop-up menu. If you wish to only export specific laminates, select the laminates you wish to export
from the laminate table listing, then right-click the table and select Export Laminates.

After choosing to export laminate definitions an export dialog will appear as shown below. Select if
all rows are to be exported or if only the rows selected in the laminate table listing are to be selected.
Then select if all available columns or only specific columns are to be selected. Choose the export
file location, the click the Export button. Supported file extensions are .csv, .xls, and .xlsx. If successful,
a message will appear indicating the number of rows selected. That file then may be opened with a
spreadsheet program

You may also import modified laminate definitions from a spreadsheet or CSV file. To do so, select
from the File menu the Import Laminates option. A file dialog will appear to allow you to locate
and the select the file to be imported. For convenience, the last imported/exported file will be used
as the default, but you are free to select any file on your system.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
508 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Laminate Properties

Column Mappings
After selecting the file, the Import Laminate File dialog will appear (shown below), allowing you to
verify the column mapping for each file/sheet that is imported. Sherlock scans each file to determine
the number of header rows and the column names. Such guesses are usually right, but you should
check them anyway by viewing the CSV file in the content panel or Excel.

In addition to guessing the column names, Sherlock also attempts to guess which columns should
be mapped to Sherlock laminate properties.

When you have the column mappings correct, press the Import Laminates button to import the
data.

When the import process has complete, you will see a confirmation dialog. If any laminate fails to
import, then none of the rows in the file will be imported. When this happens an error dialog will be
displayed with the information regarding why a particular laminate failed to import.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 509
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
510 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 37: Life Cycle Management
For the most part, ANSYS Sherlock analysis modules attempt to predict the reliability of an electronic
circuit card and its components based on the circuit card design and the expected environmental
conditions to be experienced by the circuit card over its expected service life. As such, it is very important
for Sherlock users to enter an accurate model of the expected service life. To help facilitate such activ-
ities, Sherlock allows users to create and maintain various Life Cycles that can be shared across projects
and used as the basis for more customized definitions. Life Cycles can be refined over time as needed
to increase their accuracy or account for previously unexpected environmental effects. Life Cycles can
also be defined to mimic the conditions experienced during laboratory testing, allowing users to validate
the reliability results predicted by Sherlock with those predicted by lab testing.

Life Cycles consist of one or more Phases which, in turn, consist of one or more Events. For the most
part, phases are used to group events into logical collections for management purposes, allowing users
to organize things however they want. In this document, we'll discuss a couple different ways of organ-
izing Life Cycle definitions to demonstrate this flexibility.

Chapter Sections:
Tutorial Life Cycle
Phase Definitions
Event Definitions
Thermal Event
Shock Event
Random Event
Harmonic Event
Load Direction and PCB Orientation
Life Cycle Editing
Life Cycle Import / Export
Life Cycle Manager

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 511
Life Cycle Management

Tutorial Life Cycle


The examples provided in this document make use of the Tutorial Project. If you haven't already imported
the Tutorial Project, proceed as follows:

• Select the Import Project option from the Project menu located in the Main Menu.

• Enter Tutorial Project (or anything you want) as the project name and press the Browse button to
locate the project archive file to be imported. In this case, we're looking for the Tutorial [Link]
file located in the tutorial sub-directory of the Sherlock Installation Directory (usually c:\Program
Files \ANSYS Inc\v211\sherlock).

• Press the Import Project button to import all files associated with the tutorial project.

If you previously imported the Tutorial Project and then closed it, do the following: Right-click on the
Tutorial Project folder (or whatever you named it) in the Project Tree and select the Open Project
menu option.

In either case, the Tutorial project should now be shown in the Project Tree (see below) and, if necessary,
you should expand the Life Cycle folder to show all Life Cycle elements. We see that the Life Cycle
consists of two phases (Environmental and On The Road) and a total of eight events across those phases.
Let's take a look at each of the phases and events to see how they relate to each other and what envir-
onmental affects they represent.

Note:

Life Cycle definitions used in the tutorial project don't represent a very realistic world. The
definitions were contrived to allow use to show various aspects of the Sherlock analysis
process and results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
512 of ANSYS, Inc. and its subsidiaries and affiliates.
Phase Definitions

Phase Definitions
Right-click the Life Cycle folder in the Project Tree and select View Life Cycle from the pop-up menu
to display the Life Cycle tab in the Content Panel. If necessary, select the Phases sub-tab at the bottom
of the Life Cycle tab to graphically display the relative duration of each phase, as shown here:

We can clearly see that the Environmental phase spans the entire five years’ service life, whereas the
On The Road phase spans less than 15% of the service life. For the most part, the single most important
property associated with a phase is its duration measured over the entire service life. Although Sherlock
provides many ways to specify a phase duration, they can always be reduced to the percentage of time
that the phase is active.

Let's dig a little detail to see how these two phases are defined. Right-click on the Environmental phase
entry in the Project Tree and select the Edit Properties menu option to display the properties assigned
to that phase. (You may also simply double-click a phase entry to display the property dialog.)

The Name and Description properties are used for organizational purposes and can be anything you
want. The description is displayed in the Sherlock Report when Life Cycle details are selected.

The remaining two properties, Duration and # of Cycles, are used by Sherlock to determine how often
the phase is in effect with respect to the Service Life (specified for the Life Cycle itself ) either in absolute
or relative terms. In this example, the Environmental phase is active for a period of 24 hours and the
period repeats itself once per day. In other words, the Environmental phase is always active, spanning
every day of the Service Life. This might seem like a silly way to specify 100%, but we'll see shortly why
two properties are needed and why they make phase and event definitions far more flexible.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 513
Life Cycle Management

While we've got the Life Phase Editor open, let's go ahead and change something. Set the number of
cycles to 180 per year and press the Save button. At that point, the Life Phase Editor dialog will be
dismissed, and the Life Cycle tab will be updated to show that the Environmental phase now covers
roughly 50% of the service life. If you want exactly 50% of the time, you can enter 0.5 per day as the
number of cycles. In theory, we could also reduce the phase duration to 12 hours to achieve the same
coverage, but that won't work in this example because of the way the events are defined, as we'll see
shortly.

In addition to the Life Cycle tab being updated, you might also have noticed that quite a few entries
in the Project Tree were updated, with lots of red X and yellow caution icons appearing alongside
analysis and result entries. (See below.) This is the result of one of Sherlock's key features: If any of the
input values used by an analysis module are modified, then the results previously generated by
that module are cleared.

In this case, since we change the effective duration of one of the Life Cycle phases, then all analysis
modules that rely on that phase will clear their results. If you hover the mouse over any of the caution

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
514 of ANSYS, Inc. and its subsidiaries and affiliates.
Phase Definitions

icons, you'll see a message indicating that the analysis needs to be executed (that is, it currently has
no results).

Note:

When changing a fundamental property like Time, it is in your best interest to make all such
changes at the same time and double-check your changes before re-executing all the analysis
tasks.

Now, let's take a look at the On The Road phase definition to see how it differs by double-clicking the
On The Road folder in the Project Tree to display it's properties. Focusing on the Phase Settings, we
see that the phase is only active for 3 hours, once per day. This corresponds to the 12.5% of service life
shown in phase bar chart on the Life Cycle tab.

As the description states, this phase is defined to model the environmental affects seen by a circuit
card when it is moving down the road on a vehicle of some kind. The duration and number of cycle
settings indicate that such activities only happen 12.5% of the service life.

Note:

When defining phases and events, we don't know (or care) WHEN the events for a given
phase will occur, we are simply stating the probability that they will occur during the service
life. The Sherlock analysis modules only need to know the total time period during which
the events could cause damage.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 515
Life Cycle Management

Event Definitions
Phases are defined to group together events, while events are defined to model physical affects from
the real world on the circuit card. Phase and event definitions are similar in that they both span certain
time periods, but events also have properties to define some real-world condition. Sherlock supports
the following different types of events to model environmental conditions:

• Thermal Event (p. 516)– arbitrary temperature cycle

• Shock Event (p. 518)– mechanical shock pulse

• Random Event (p. 522) – random vibration

• Harmonic Event (p. 525) – harmonic vibration

Let's look at these types of events by examining the examples provided by the Tutorial Life Cycle.

Thermal Event
Double-click on the Temp Cycle event defined in the Environmental phase to see how a common
temperature cycle is defined.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
516 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Event

In this case, the Thermal Event is being used to model a typical (albeit overly simplified) daily temper-
ature cycle that oscillates between 10C and 32C over a 24-hour period. The thermal profile shows four
6-hour steps (hold, ramp up, hold, ramp down).

The # of Cycles setting is specified as 100% Duty Cycle which means that the thermal profile is repeated
as many times as needed to cover 100% of the Phase duration specified. Since the event duration is 24
hours, we can achieve the same overall specification by setting the number of cycles to one of the fol-
lowing:

• 1 per day

• 365 per year

• or 100 duty cycle.

Note:

Duration values can be specified in a variety of ways because different people think about
time in different ways. Sherlock allows users to use whatever approach that they think is
proper for the type of phases and events being modeled.

There are many different types of thermal profiles needed to model real-world thermal affects. As such,
Sherlock provides some convenient features to help users maintain and modify such profiles. The features
are provided by the three buttons displayed below the thermal profile in the Thermal Event Editor.
Press the Edit Profile ... button to display the Thermal Profile Editor, as shown here:

This editor allows you to change the data points associated with the thermal profile by adding, removing
or editing rows in the table on the left side of the dialog.

To add a row to any Life Cycle profile table, right-click a row on the table then select the Add Row
item from the menu that appears.

To delete one or more rows, select the rows to be deleted, then right-click and select the Delete Row
or Delete Rows item from the menu that appears.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 517
Life Cycle Management

To edit a cell, double-click the cell or select the row, then right-click and select Edit Cell from the menu
that appears.

Rows can also be selected and copied to the clipboard to be used in another profile or taken into an
out of another program such as a spreadsheet application. After selecting the rows to copy, right-click
and select Copy Row or Copy Rows from the menu that appears.

To paste new rows from the clipboard into the table, select the row that should follow the pasted data
then right-click and select Paste Row or Paste Rows from the menu that appears. Pasted rows are always
inserted before the first selected row. If no rows are selected, then it will be appended to the table. The
paste menu item is only enabled if the data in the clipboard contains the correct number of columns
for the table to be pasted too. If invalid data is pasted, the table will not be able to be saved.

The overall duration of the profile is automatically computed, and the editor ensures that the profile is
consistent (first and last temperatures are the same) before allowing you to proceed. After modifying
the table, press the Apply button to see the corresponding profile in the graphical region of the dialog.
After you've got the profile you want, press the Save button to commit the changes and return to the
Thermal Event Editor, where the profile will be updated.

Note:

Although Sherlock allows you to define thermal profiles with any number of steps, the ana-
lysis modules currently only use the minimum and maximum hold temperatures during their
calculations. In the future, some of the analysis modules will be updated to support complex
thermal cycles.

Thermal profiles can be saved to named files and shared between Sherlock projects by using the Save
Profile ... and Load Profile ... buttons displayed below the Thermal Profile. In both cases, either binary
data file or CSV file formats can be specified, allowing users to edit thermal profiles outside of Sherlock
and then import the profile definitions into appropriate Thermal Events. The ability to share thermal
profiles across projects, Life Cycle phases and events allows users to develop profile libraries that can
be refined over time to improve real-world modeling across many projects.

Shock Event
Double-click the Earthquake event in the Environmental phase to see how a mechanical shock event
is defined. As with phases and other events, a shock event is defined by the Duration and # of Cycles
properties, which indicate how long and how often the event occurs. In this case, an earthquake is ex-
pected to occur just once per year, lasting 5 seconds.

As with Thermal Events, a shock event is also defined by a shock profile, which shows the load exerted
by the shock over time.

To see how this works, enter a few different values for the Peak Load and Duration settings in the
Shock Event Editor, pressing Apply after each value is entered to see the resulting profile. Notice how
the profile shape never changes, only the X and/or Y values change.

The direction of the shock load relative to the PCB can be specified using the PCB Orientation and
Load Direction properties. By default, the PCB is assumed to be mounted parallel to the XY plane and
the load is assumed to be directed in the downward Z direction. You can change one or both properties
to change the direction of the load relative to the PCB. For example, if you want the load to be exerted

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
518 of ANSYS, Inc. and its subsidiaries and affiliates.
Shock Event

from the lower-left corner of the PCB towards the upper-right corner, parallel to the XY plane, then you
should specify (1, 1, 0) as the Load Direction. On the other hand, if you want the load to be exerted
at a 45-degree down-angle you should specify a PCB Orientation YZ Angle of 45, while leaving the
Load Direction as (0, 0, -1). See the Load Direction and PCB Orientation (p. 526) section below for more
details.

There are two ways to change the shape of the shock profile itself. The easiest way is to press the Load
Profile ... button in the Shock Event Editor to load a different shock profile from a collection of previ-
ously defined profiles. Profile definition files can be stored as binary data files or CSV files, allowing
users to create and customize profile shapes using whatever tools they want.

The second way to modify the shape of the shock profile is to press the Edit Profile ... button to display
the Shock Profile Editor as shown below. Much like the Thermal Profile Editor, you can easily alter
the profile by adding, removing or modifying rows in the table and pressing the Apply button to see
the graphical results. Unlike the Thermal Profile Editor, however, the table does not define specific
data points along the profile. Rather, it defines one or more primary shapes that Sherlock combines to
define the overall shock profile.

If you have loaded a user-defined profile into the Shock Event Editor and you click Edit Profile…, a
confirmation dialog will appear, alerting you that the data points will be deleted when the profile is
edited.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 519
Life Cycle Management

Parameters and interface of the Shock Profile Editor:

• Sample Rate: This is the rate at which the shock pulse is sampled during the analysis. The number
of sampling points is equal to the pulse duration divided by the sample rate. A minimum of ten points
is required.

• Load Units: Select the units of acceleration.

• Freq Units: Select the units of frequency.

Apply changes

Save changes and exit editor

Reset and discard table entries changes

Cancel and exit profile editor

Export profile data entries

Import entries into profile table

To see how this works, let's add a couple more primary shapes to the existing profile. Right-click inside
the table and select the Add Row menu option. At that point, a duplicate of the first row will be appen-
ded to the table. Repeat the process to add a third identical row to the table. Now, change the Frequency
and Decay entries of the second and third rows to define the harmonic components of the profile. Finally,
change the Profile Name so that we can use this shape in future projects. After you've made your
changes, press the Apply button and the resulting shape should look like this:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
520 of ANSYS, Inc. and its subsidiaries and affiliates.
Shock Event

When the Apply button is pressed, Sherlock combines the three primary pulse shapes to generate the
final pulse shape. You can use any number and type of primary shapes, with different individual loads,
frequencies, and decay rates to create a large variety of pulse profiles.

Additional parameters include:

• Sample Rate: This is the rate at which the shock pulse is sampled during the analysis. The number
of sampling points is equal to the pulse duration divided by the sample rate. A minimum of ten points
is required.

• Load Units: Select units of acceleration.

• Freq Units: Select units of frequency.

Note:

Keep in mind, the Pulse Duration and Load values defined in the Shock Profile Editor are
relative values used solely within the editor to define the profile shape. A combination of all
the primary pulse shapes is then used to define the pulse profile.

You may also click Export profile data entries to export the data entries within the Shock Profile
Editor for future use. When you're done modifying the shock profile, press the Save button to commit
the changes and return to the Shock Event Editor where the profile will be updated. At that point,
you can click Save Profile ... to save a copy of the profile for future use, choosing whatever file name
you want.

We're done making changes to the Shock Event, so click Save to commit the changes and clear all
analysis results that depend on shock events.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 521
Life Cycle Management

Random Event
Double-click the Vibration event in the On The Road phase to see how random events are defined.
In image 1 below, we see the event is defined by the Duration and # of Cycles properties, as well as
a profile shape. In this case, the profile shape is a Power Spectral Density (PSD) curve, which defines
the power of the vibration pulse as a function of frequency. This is a very efficient way to define how
the vibration would affect a circuit card across a range of frequencies.

The PCB Orientation and Load Direction properties are used to define the orientation of the random
load relative to the PCB, as discussed previously for Mechanical Shock loads. The Profile Type choice
currently only supports Uniaxial forces. It is a placeholder for other types of random forces, such as
Triaxial, that will be supported in the future.

As with other profile types, you can import profiles from the file system by pressing the Load Profile
... button and can export profiles to the file system by pressing the Save Profile ... button. Random
profiles can be stored as either binary data files or CSV files, allowing you to create and modify the
profile data outside of Sherlock. In many cases, PSD curves are determined from measurements taken
from real-world environments. In those cases, such curves can be easily loaded into Sherlock as CSV
data files.

You may edit random profiles in Sherlock by pressing the Edit Profile button to display the Random
Vibe Profile Editor (2, below).

Like the thermal profile editor, a table is provided which displays all the data points. This table allows
you to add, remove, and modify them as needed to define the curve. As a convenience, the editor also
allows you to move the data points in the graphical region by left-clicking any node and dragging it
to a new location. The axes will automatically scale as needed, so don't be surprised when the node
stops moving but the axes keep changing. With a little practice you'll get used to the process. Go ahead
and drag some of the nodes around to see how it works. You can press the Reset button at any time
to abort pending changes and reload the table and graph with the original profile data.

After you're done practicing, press the Cancel button to abort all changes and return to the Random
Vibe Editor. Then, press the Cancel button in that dialog to cancel all changes to the random vibration
event.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
522 of ANSYS, Inc. and its subsidiaries and affiliates.
Random Event

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 523
Life Cycle Management

Shock Response Spectrum


Random vibration profiles may also be defined by providing a shock response spectrum specification
(SRS). The SRS is converted to a PSD which is then used to populate the random profile. This process
is done by loading a profile input SRS file. To see an example, select the Load Profile ... button,
however, change the file type filter to Shock Response Spectrum (*.srs). An SRS file is a text
formatted CSV or white-space delimited file where each row is an SRS input consisting of the columns
Frequency and Amplitude. An example file is here:

Freq,Ampl
10,9.4
80,75
2000,75

After selecting a file, the Load Shock Response Spectrum dialog will appear (shown below) to help
define the delimiter, numeric format, column names, and the units of the frequency and acceleration
data in the file. After clicking the Load Shock Response button, Sherlock will convert the response
spectrum to a PSD and use it to populate the random profile. Once complete, the Random Vibe
Editor profile will reflect the converted SRS data.

After you're done, press the Cancel button to abort all changes and return to the Random Vibe Editor.
Then, press the Cancel button in that dialog to cancel all changes to the random vibration event.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
524 of ANSYS, Inc. and its subsidiaries and affiliates.
Harmonic Event

Harmonic Event
Harmonic Events are similar to Random Events except that the load profile is defined in terms of simple
acceleration (G) vs. frequency (Hz) instead of a PSD curve. In addition, harmonic load profiles can be
defined as either Uniaxial or Triaxial. As the names imply, uniaxial loads are defined in a single direction,
as defined by the Load Direction property, whereas triaxial loads are defined in each of the X, Y and Z
directions.

Let's see how triaxial loads are defined by adding a Harmonic Event to our Life Cycle. To that end,
right-click the On The Road phase icon in the Project Tree and select Add Harmonic Vibe from the
pop-up menu. The default dialog shown here will be displayed, allowing you to create a new event.

Enter Name and Description values of your choosing and then select a Profile Type of Triaxial in the
Harmonic Load Settings sub-form. At that point, the Harmonic Profiles sub-form will show three
separate profiles, one for each direction.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 525
Life Cycle Management

Select the X Axis profile, then press the Edit Profile ... button to change the load profile for the X dir-
ection. In the example shown below, we've defined a linear profile for the X direction that ranges from
1G @ 10Hz to 1,000G @ 1KHz.

It is important to note that triaxial loads are always defined using the canonical X, Y and Z directions
(that is, you cannot specify the load direction). You may change the PCB Orientation to change the
direction of the triaxial loads relative to the PCB.

Load Direction and PCB Orientation


It's not always easy to visualize the effects of the Load Direction and PCB Orientation properties in
3D, especially when combined with each other, but the following diagrams should help. It is important
to remember that both properties are specified relative to the global coordinate system, not to the PCB
coordinate system.

In the following view, we're looking at the bottom edge of the circuit board (XZ Plane).

The load arrows shown furthest to the left are pushing straight down on the top of the PCB (0, 0, -1)
and straight up on the bottom of the PCB (0,0,1). The other arrows show loads angled in the X direction
as well.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
526 of ANSYS, Inc. and its subsidiaries and affiliates.
Load Direction and PCB Orientation

The views shown below illustrate the effect of the PCB Orientation angles. The views on the left are
looking down on the top of the PCB (XY Plane), while the views on the right are looking at the side of
the PCB (YZ Plane). Any 3D orientation can be achieved by setting the two angles appropriately.

Finally, the following views show a combination of Load Directions and PCB Orientations.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 527
Life Cycle Management

Life Cycle Editing


We've shown you how to modify Life Cycle, phase and event properties, but not how to edit the Life
Cycle itself by adding or removing phases and events. The process is quite simple, performed by a col-
lection of menu options in the Project Tree.

Adding Life Cycle Phases


To add a phase to the Life Cycle, right-click the Life Cycle folder in the Project Tree and select the
Add Life Phase menu option. At that point, the Life Phase Editor will appear, requiring you to enter
a name for the new phase. All phase names must be unique and are sorted alphabetically when dis-
played in the Project Tree or Project Report.

Removing a Life Cycle Phase


To remove a phase from the Life Cycle, right-click the phase folder in the Project Tree and select the
Delete Life Phase.

Duplicating a Life Cycle Phase


By right-clicking a given life phase folder in the Project Tree, then selecting Duplicate Life Phase,
a copy of the selected life phase will be added to the project. An editor will automatically open so
the phase can be named and updates to other phase properties can be made.

Copy and Paste a Life Phase


Similar to the duplicating of a life phase, the ability to copy a phase into the clipboard then to paste
a life phase into a Life Cycle may be done. Whereas duplicating the life phase requires only a single
selection, when you copy the phase, the phase must also be pasted back to the Life Cycle to be added.
The advantage to this is that the phase can be pasted into another open project in Sherlock. To copy
a phase, right-click a given life phase folder in the Project Tree and select Copy Life Phase. Next
right-click the Life Cycle folder or any Life Phase in the project you wish to copy the life phase to
and select Paste Life Phase. The Paste Life Phase menu option is only available when there is a life
phase in the clipboard ready to be copied.

Adding a Life Cycle Event


To add an event to any phase, right-click the phase folder in the Project Tree and select one of the
following menu options:

• Add Thermal Cycle

• Add Harmonic Vibe

• Add Random Vibe

• Add Shock Event

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
528 of ANSYS, Inc. and its subsidiaries and affiliates.
Life Cycle Import / Export

As when adding a phase, you'll be required to enter a unique name for the event. If you want events
to be displayed in a specific order, simply prefix the name accordingly, as was done with the tutorial
Life Cycle events.

Duplicating a Life Cycle Event


You can quickly create similar events in the same phase by right-clicking the event name in the
Project Tree and selecting the Duplicate Event menu option. At that point, a copy of the selected
event will be made and you will be required to enter a name for the new event. You may also
modify any or all properties associated with the new event as needed.

Copy and Paste a Life Cycle Event


Similar to the duplicating of a Life Cycle event, the ability to copy an event into the clipboard then
to paste an event into a Life Cycle may be done. Whereas duplicating the Life Cycle event requires
only a single selection, when you copy the event, the event must also be pasted back to the Life
Cycle to be added. The advantage to this is that the life event can be pasted into another Life Cycle
phase or open project in Sherlock. To copy a life event, right-click a given life event and select Copy
Event. Next right-click the life phase folder or any life event folder in the project and life phase you
wish to copy the event to and select Paste Event. The Paste Event menu option is only available
when there is a life event in the clipboard ready to be copied.

Deleting a Life Cycle Event


To remove an event from a Life Cycle phase, right-click the event name in the Project Tree and select
the Delete Event menu option.

Life Cycle Import / Export


Clearly, the amount of time spent making accurate Life Cycle definitions can be large depending on
the complexity of the Life Cycle and Life Cycles can apply to multiple projects. For these reasons,
Sherlock allows users to export Life Cycle definitions to the file system and import them at a later time
as needed. That is, users can maintain libraries of Life Cycle definitions, refining them over time to be
more accurate and re-using them across multiple projects and analysis tasks.

Exporting a Life Cycle


An entire Life Cycle definition can be exported by right-clicking the Life Cycle folder in the Project
Tree and selecting the Save Life Cycle menu option to display the Save Life Cycle Dialog. By default,
Life Cycle definition files are stored in the lifeCycles sub-directory of the Sherlock User Directory, but
you are free to store Life Cycle definitions in any directory of your choosing. As a convenience, Sherlock
will remember the selected directory and return to it automatically whenever you load or save Life
Cycles.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 529
Life Cycle Management

When the Save Life Cycle dialog is displayed, the name assigned to the Life Cycle (using the Life
Cycle Properties dialog) will be used as the default file name. Feel free to change the file name to
whatever suits your purpose.

Note:

Sherlock currently stores all Life Cycle definitions as binary data files, which means that
they can only be edited in Sherlock. Future Sherlock versions may support additional file
formats, such as XML, to allow users to create and modify Life Cycle definitions outside of
Sherlock.

Importing a Life Cycle


An entire Life Cycle definition can be imported by right-clicking the Life Cycle folder in the Project
Tree and selecting the Load Life Cycle menu option to display the Load Life Cycle dialog. By default,
Sherlock will return to the directory last used to import or export a Life Cycle, but you are free to
navigate to any directory to locate the appropriate definition file. Once the proper directory is found,
simply select the desired file and press the Load Life Cycle button to replace the current Life Cycle
definition with that from the definition file.

Life Cycle Manager


All of the examples shown so far in this document made use of the Life Cycle edit capabilities that are
built into the Sherlock Client application. Such capabilities are also provided by the Life Cycle Manager,
which is a standalone application that can be launched from the Windows desktop. The Life Cycle
Manager is automatically installed by the Sherlock Installer.

Life Cycle Definition Files


In previous versions of Sherlock, project Life Cycles were saved in files ending with a *.dat file name
suffix. In more recent versions of Sherlock, Life Cycle files are saved using the unique *.dfr-lc file
name suffix to differentiate them from other files in the file system. The Life Cycle Manager is capable
of reading both file formats but will only generate the *.dfr-lc format.

Life Cycle definition files can be freely copied, moved and deleted using common Windows desktop
and file system tools, thereby allowing users to make back-up copies and otherwise manage them
using whatever file utilities are appropriate.

Launching the Life Cycle Manager


The Sherlock Life Cycle Manager can be launched using any of the following methods:

• Double-click any Life Cycle file with a file name suffix of *.dfr-lc

• Select Sherlock Life Cycle Manager from the ANSYS folder accessible from the Windows Start
Menu

• Double-click the [Link] executable file located in the Sherlock Installation folder
(usually c:\Program Files \ANSYS Inc\v211\sherlock).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
530 of ANSYS, Inc. and its subsidiaries and affiliates.
Life Cycle Manager

Life Cycle Manager Window


The Life Cycle Manager window is relatively simple, containing the Life Cycle navigation tree, two
summary panels and a menu bar, as shown below.

All other functionality is provided by the same phase and event edit dialog windows described in
previous sections. As in Sherlock Client, to edit any phase or event, simply double-click the corres-
ponding node in the Life Cycle tree and the edit dialog will be displayed. After any changes are made,
the Phases and Events summary panels will be automatically updated.

Life Cycle Manager Menu Options


The following menu options are provided by the Life Cycle Manager:

• Create Life Cycle

• Open Life Cycle

• Close Life Cycle

• Generate Report

In addition to these functions, menu options exist to view the console window and exit the application.
We now discuss each of these functions.

Create Life Cycle


The File > Create Life Cycle menu option is enabled when there is no Life Cycle currently opened.
When selected, a dialog will appear to enter the location and name of the file to be created.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 531
Life Cycle Management

When the Create Life Cycle button is pressed, an empty Life Cycle file will be created in the desig-
nated folder and all editing functions will be enabled.

Open Life Cycle


Existing Life Cycle files can be opened using the Open Life Cycle menu option (when no Life Cycle
is currently opened). When this menu option is chosen, a file dialog will appear to allow you to
select the Life Cycle file to be opened.

When the Open Life Cycle button is pressed, the designated Life Cycle file will be opened, and all
editing functions will be enabled.

Close Life Cycle


Select the File > Close Life Cycle menu option to close the currently opened Life Cycle and clear
the Life Cycle Manager window.

Generate Report
The File > Generate Report menu option allows users to generate a PDF report that summarizes
the current Life Cycle definitions. The Sections selection list can be used to include specific types
of information in the report.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
532 of ANSYS, Inc. and its subsidiaries and affiliates.
Life Cycle Manager

When the Generate Report button is pressed, a PDF file will be generated and stored in the same
folder as theLife Cycle definition file, using the same file name with a *.pdf suffix.

The PDF will also be displayed using the application currently associated with PDF files in Windows.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 533
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
534 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 38: Material Management
The Sherlock Material Manager allows for a user to create and modify Sherlock material definitions.
Properties modified in the Material Manager are used during analysis. The Material Manager is access-
ible from Libraries > Materials on the Sherlock homepage and as a standalone utility accessible from
the Sherlock Start Menu folder.

Chapter Sections:
Material Manager Listing
Material Editor
Temperature-Dependent Material Properties
Export Materials
Import Materials

Material Manager Listing


To access the Material Manager, click Main Menu > Libraries > Materials. The main Material Manager
window is organized into two sections. The top section provides a set of fields for filtering the list. The
bottom table lists all the materials or those materials matching the filtering criteria.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 535
Material Management

For example, to generate a list that includes only ALUMINA material types, enter ALUMINA in the Name
column filter and press Enter. The table will immediately display only those materials containing ALU-
MINA. You can apply multiple filters simultaneously.

You can customize and filter the Material Manager window just as you can the Parts List, including
setting column visibility and using advanced filtering techniques. Please refer to Parts List Manage-
ment (p. 597) for details on using these features.

Material Editor

Selecting a Material to Edit


To view or edit a given material, you may double-click the desired material from the materials table.
You may also right-click the material entry and select Edit Selected Materials from the context menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
536 of ANSYS, Inc. and its subsidiaries and affiliates.
Material Editor

After selecting a material to edit, the Material Editor dialog window will be displayed. This window
provides a look at all the property values defined for the selected material and allows for those
property values to be modified.

Using the Material Editor


After selecting a material to edit, a new dialog window appears with a listing of all the available
properties for the selected material. From the Material Editor, you can view and make changes to
any of the material properties. The Material Editor groups properties into different categories, rep-
resented by tabs in the editor. Tabs or properties that do not apply to the selected material are dis-
abled.

For properties requring a unit of measure, the unit field is displayed next to the numerical value.
When you select a new unit of measurement from the drop-down list, Sherlock will convert the nu-
merical value so the actual value of the property remains the same. This includes fields which may
have multiple temperature-dependent properties.

The User tab provides a place to record notes about a given material. You can also use it to note the
creator of the material and who last modified it. If a material does not have any customized values,
then the Created By and Modified By fields will be listed as ANSYS, Inc..

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 537
Material Management

After making any desired material changes, use the Save button to save the changes to the local
copy of the Sherlock material library. See the Sherlock User Guide - User Data Files (p. 733) chapter
for more information about the location and format of the local material library. If you don't wish to
save any changes or are simply viewing the material definition, select the Cancel button when done.
The Reset button will revert any changes you have made to the definition since opening the dialog
to the original settings.

If you wish to view additional material definitions you may do so without closing the material editor
dialog window by simply selecting the material from the selector at the bottom of the window or
using the Prev and Next buttons. The material selector and the Prev and Next buttons are both
limited to the filtered materials from the material manager itself. If no filters were applied, then the
entire list of materials is available. For the example above only the ALUMINA materials are displayed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
538 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Material Properties

Temperature-Dependent Material Properties


Temperature-dependent values can be specified for the following properties:

• Elastic Modulus (MPa)

• Poisson Ratio

• CTE (1/C)

• Density Properties (tonne/mm3)

• Thermal Conductivity (W/m-K)

• Fatigue Exponent and Fatigue Coefficient (used for shock and vibration fatigue cycles to failure cal-
culations)

Temperature-dependent values are defined as a set of temperature-value pairs and are passed directly
to the FEA engine for all materials used during a given analysis. FEA engines typically use the given
data points to determine the property value for a specific temperature by using linear interpolation
between the bounding data points. For all temperatures below the minimum temperature specified,
the value associated with the minimum temperature will be used. Similarly, for all temperatures above
the maximum temperature, the value associated with the maximum temperature will be used.

Temperature-value pairs are specified using the following notation:

<Value> @ <Temp> <Units>

where <Value> is the property value, <Temp> is the temperature and <Units> are the temperature
units. (NOTE: The value units must be those specified in the list above.) Two or more temperature-value
pairs must be comma separated. For example, the following notation:

400@20C, 320.5@212F

specifies a value of 400 at 20 degrees centigrade and a value of 320.5 at 212 degrees Fahrenheit.
Temperature units can be freely mixed in a given list of temperature-value pairs.

In situations where Sherlock needs to determine a temperature-dependent material property value


when no explicit temperature is defined (such as when mixing material property values in a given PCB
layer to determine the average layer property value), a room temperature value of 20C is used for inter-
polation purposes.

CTE and Elasticity Modulus Calculators


To assist with computing temperature dependent values for the CTE and Elastic Modulus properties,
Sherlock provides a temperature value calculator. This calculator takes a base CTE or Elastic Modulus
value, a Tg value, and temperature range to produce a set of temperature dependent values.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 539
Material Management

The calculator bases its calculations on observed behavior in polymers, so you should use the calcu-
lator only when dealing with polymers. Generally, the calculator has a 5x decrease in modulus when
above Tg, and a 3.5x increase in CTE when above the Tg.

Note:

The default values of any system-provided material can be restored by using the Delete
Selected Materials menu item from the Material Manager listing. Deleting system-provided
materials simply resets those values to their defaults.

Here is how you access the calculator: From the Material Editor (p. 536) for the material FR4, select
the Mechanical tab to reveal the current CTE and Elastic Modulus values as shown below.

As you can see, the default material contains a single CTE and Elastic Modulus value. To expand this
list, click the calculator icon next to the desired field. This opens the Temperature-Dependent
Properties Calculator shown below. The calculator provides a set of default input properties used
to compute additional material temperature values for the selected property. The default Tg and
Modulus < Tg (or CTE values) originate from the source material. Note the default values shown below:
The Number of Points is 10 which means the calculator will generate ten material temperature values
for elasticity within the range of -60° and 140° Celsius. Because the calculator generates additional
temperature values at the Max and Min Temperatures, the total number of values generated will
be twelve.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
540 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Material Properties

Note:

To ensure accurate calculations, it is important to clear any parameter you wish to change
in the Temperature-Dependent Properties Calculator before computing.

When you click the Compute button, the values will be computed, and the underlying fields updated
with new material temperature values. To accept and commit the new material values, click Save.

The input parameters are defined below. The graphs which follow illustrate how the parameters affect
the calculations:

Max Temperature: The maximum temperature at which temperature dependent material prop-
erties are calculated
Min Temperature: The starting temperature at which temperature dependent material properties
are calculated
Tg: Glass transition temperature
Modulus < Tg: Modulus used to calculate the temperature dependent material properties
Number of Points: The number of points within the temperature range that will be calculated.
The recommended value is 20 points.
Shape Factor: Controls the transition rate/span of the transition region of the hyperbolic tan
curve. The lower the shape factor, the quicker the change of the material property. The shape
factor must be greater than 0. Realistically, a shape factor in the range of 5 – 30 is recommended.
Sherlock uses a default value of 20.
Bias Ratio: Used to compute the number of points which will cluster around the Tg area by
controlling the division or increment size. As you increase the Bias Ratio, the points around the
Tg grow in density. Sherlock uses a default value of 10, which is recommended.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 541
Material Management

Bias Ratio= 1, Tg=85

Bias Ratio= 10, Tg=85

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
542 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Material Properties

Adding and Copying Materials


To add a new material, select Add Material from the Material menu, or right-click in the material
table listing and select Add Material from the menu. The material editor dialog will appear with all
material properties empty, ready for a new material to be defined. When you are complete defining
a material, click the Save button to add the new material.

To copy a material, right-click the material to be copied from the material table listing and select
Copy Material from the menu. A copy of the material will be made. Provide a product name for the
copied material and make any changes desired to the material properties, then click the Save button
to add the copied material.

Deleting Materials
Any user-defined material that is not a Sherlock system material may be deleted. Right-click the ma-
terial to be delete from the material table listing and select Delete Material from the menu. If the
Delete Material item is not available, this indicates that it is not a user-defined material.

If a system material has been modified, the Delete Selected Materials menu item will be available.
However, it will not actually delete the material. Deleting a system material that has user-defined
properties will simply remove all the user-defined properties and allow the material to revert to being
completely system defined.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 543
Material Management

Export Materials
Material definitions may be exported to CSV or XLS spreadsheet files to allow external viewing or
modifications. Exported files can then be used to import material definitions back into the material
manager as described in the next section Import Materials (p. 544).

To export all material definitions, select from the File menu Export Materials or right-click in the ma-
terial table listing and select Export Material from the context menu. If you wish to export only specific
materials, select the materials you wish to export from the material table listing, then right-click the
table and select Export Materials. In either case, the Export Material Library dialog, shown below, will
be displayed.

The Rows and Columns selections allow you to customize which rows and/or columns should be ex-
ported. Select All Rows if all rows should be exported or select Selected Rows if only the rows selected
in the material table listing should be exported. Similarly, select All Columns if all columns should be
exported or select only specific columns to be exported.

After specifying the output file location, click the Export button. Supported file extensions are .csv,
.xls, and .xlsx. If successful, a message will appear indicating the number of rows selected.

Import Materials
Material definitions may be imported into the Material Manager from a CSV, XLS or XLSX spreadsheet
file by selecting the File > Import Materials option from the main menu. At that point, a file dialog
will be displayed allowing you to designate the file to be imported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
544 of ANSYS, Inc. and its subsidiaries and affiliates.
Import Materials

After selecting the file, the Import Material File dialog (shown below) will appear, allowing you to
verify the column mapping for each file/sheet that is imported. Sherlock scans each file to determine
the number of header rows, the column names and which columns should be mapped to the various
Sherlock material properties. Such guesses are usually right, but you should check them anyway by
viewing the import file using an appropriate spreadsheet application.

When the import form is filled out properly, press the Import Materials button to import the data.

When the import process has completed, you will see a confirmation dialog. If any material definitions
fail to import, then none of the rows in the file will be imported and an error dialog will be displayed
with the information regarding why a material definition failed to be imported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 545
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
546 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 39: Package Management
The Sherlock Package Manager allows for a user to create and modify Sherlock package definitions.
The Package Manager is installed as a standalone application and is accessible from the Sherlock Lib-
raries > Packages menu.

Chapter Sections:
Package Manager Listing
Selecting a Package to Edit
Using the Package Editor
Adding and Copying Packages
Deleting Packages
Package Export and Import
Column Mappings
Package Previewer

Package Manager Listing


The main Package Manager window is organized into two sections. The top section provides a set of
columns to allow filtering of the packages in the manager. The bottom table is a list of all packages or
those packages matching any selected filters from above.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 547
Package Management

For example, to filter the package definitions to only the CBEND package types, select CBEND in the
Package Type column to highlight that entry. This will immediately filter the package table to only
display packages of the type CBEND. Multiple filters per column may be selected by using the control-
key and clicking each package definition to add to the filter. Note that when selecting a given filter
from the Package Type, Pin Count, and Size columns, not only is the lower table filtered, but the
Package Name column of the upper table filtered.

When selecting one or more items from the Package Name column, the lower table is no longer filtered
by reducing the number of rows but is filtered by highlighting the selected packages. When selecting
an item from the Package Name column, the Image column will reflect any application package image
for the first selected package in that column.

Here after filtering to the CBEND package type, the C-BEND-2012-12, and C-BEND-3528-12 packages
have been selected resulting in those items being highlighted in the lower package listing table.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
548 of ANSYS, Inc. and its subsidiaries and affiliates.
Package Manager Listing

Note:

Use the Package Mount filter to reduce the list of displayed package types to through-hole
or surface-mount package types.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 549
Package Management

Selecting a Package to Edit


To view or edit a given package, you may either double-click on the desired package from the Package
Name column or double-click on the desired package from the package table listing. Additionally, you
may also right-click the package in the package table listing and select Edit Selected Package from
the pop-up menu. To edit multiple package definitions at the same time, select each package to edit
from either the Package Name column or package table listing, then right-click one of the selected
packages and choose Edit Selected Package from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
550 of ANSYS, Inc. and its subsidiaries and affiliates.
Using the Package Editor

Using the Package Editor


After selecting a package to edit, a new dialog window will appear with a listing of all the available
package properties for the selected package. The dialog is broken down into different sections and the
sections displayed for a given package will vary depending on the types of properties supported by
the selected package. From the package editor a user can view and make changes to any of the core
package properties (such as package length, width, thickness and so on), lead properties, ball
properties, die properties, flag properties, and pad properties.

After making any desired package changes, use the Save button to save the changes to the local copy
of the Sherlock package library. See the Sherlock User Guide - User Data Files (p. 733) chapter for more
information about the location and format of the local package library. If you don't wish to save any
changes or are simply viewing the package definition, select the Cancel button when done. The Reset
button will revert any changes you have made to the definition since opening the dialog to the original
settings.

When selecting more than one package to edit at a time, if a given value for all packages selected is
different, then the value VARIOUS will be displayed for the given package property. When the package
definition is saved, if any such property is assigned a new value, then all packages being modified will
receive the new value. Otherwise each package will retain the value already assigned.

If you wish to view additional package definitions, you may do so without closing the package editor
dialog window by simply selecting the package name from the drop down selector at the top of the
window or using the arrow buttons. The package selector and the arrow buttons are both limited to

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 551
Package Management

the filtered packages from the Package Manager itself. If no filters were applied, then the entire list
of packages is available. For the example above only the CBEND packages are displayed.

Previous Package

Next Package

Adding and Copying Packages


To add a new package, select Add Package from the Package menu, or right-click in the package table
listing and select Add Package from the menu. The package editor dialog will appear, however this
time the Package Name field is now editable. Depending on the package name provided, Sherlock will
enable additional package property items in the editor dialog. When you are finished defining a package,
click the Save button to add the new package.

To copy a package, right-click the package to be copied from the package table listing and select Copy
Package from the menu. A copy of the package will be made. Provide a name for the copied package
and make any changes desired to the package properties, then click the Save button to add the copied
package.

Deleting Packages
Any user-defined package that is not a Sherlock system package may be deleted. Right-click the package
to be deleted from the package table listing and select Delete Package from the menu. If the Delete
Package item is not available, this indicates that it is not a user-defined package.

If a system package has been modified, the Delete Package menu item will be available. However it
will not actually delete the package. Deleting a system package that has user-defined properties will
simply remove all the user-defined properties and allow the package to revert to being completely
system defined.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
552 of ANSYS, Inc. and its subsidiaries and affiliates.
Package Export and Import

Package Export and Import


Package definitions may be exported to CSV or XLS spreadsheet files. These files can also be imported
back into the Package Manager. To export all package definitions, select from the File menu Export
Packages or right-click in the package table listing and select Export Package from the pop-up menu.
If you wish to export only specific packages, select the packages you wish to export from the package
table listing, then right-click the table and select Export Packages.

After choosing to export package definitions, the Export Package Database dialog will appear (see
below). Choose whether all rows are to be exported or only the selected rows in the package table
listing. Then choose if all available columns or only selected columns should be exported

Choose the export file location, the click the Export button. Supported file extensions are .csv, .xls, and
.xlsx. If successful, a message will appear indicating the number of rows selected. That file then may
be opened with a spreadsheet program.

You may also import modified package definitions from a spreadsheet or CSV file. To do so, select from
the File menu the Import Packages option. A file dialog will appear to allow you to locate and the
select the file to be imported. For convenience, the last imported/exported file will be used as the default,
but you are free to select any file on your system.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 553
Package Management

Column Mappings
After selecting the file, the Import Package File dialog will appear (shown below), allowing you to
verify the column mapping for each file/sheet that is imported. Sherlock scans each file in an attempt
to determine the number of header rows and the column names. Such guesses are usually right, but
you should check them anyway by viewing the CSV file in the content panel or Excel.

In addition to guessing the column names, Sherlock also attempts to guess which columns should be
mapped to Sherlock package properties.

When you have the column mappings correct, press the Import Packages button to import the data.

When the import process is complete, you will see a confirmation dialog. If any packages fail to import,
then none of the rows in the file will be imported. When this happens an error dialog will be displayed
with the information regarding why a particular package failed to import.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
554 of ANSYS, Inc. and its subsidiaries and affiliates.
Package Previewer

Package Previewer
The 3D visual representation of any package definition can be viewed when editing the package
definition for an individual part. Double-click any given package in the Package Manager list of packages
to open the package editor dialog for the selected package. At the top of the dialog is a button labeled
View the 3D model of the package, denoted by a box icon. Click this button to view the 3D visual
representation of this package. The window presented for viewing the 3D visual representation has
similar controls to that of the Sherlock 3D Viewer. You may pan, rotate and zoom the display using
simple mouse controls. Press the Help button for a complete list of the mouse controls supported.

View the 3D model of the package

When making changes to any package properties, simply reselect View the 3D Model of the Package
and the currently open package viewer window will update with the new properties reflected.

The drop down menu at the top of the dialog allows the user to select the various viewer options
similar to options available in the Sherlock 3D Viewer (see the Results Management (p. 663) chapter
for more details).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 555
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
556 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 40: Part Library
One of the critical tasks performed by any ANSYS Sherlock user is that of reviewing and verifying the
correctness of the data gathered for each part being analyzed. Without accurate input data, the analysis
results generated by Sherlock will not be accurate or useful. The Parts List maintained for each circuit
card is the primary data store for analysis purposes, containing part-specific data for each part used in
a given circuit card. To facilitate part data management, Sherlock allows users to retrieve and store part
property values in a part library. The Sherlock parts library includes:

• Sherlock Part Library – A database that supports SQL queries and updates. This part library is read
only and available to all users.

• User Created Library – A customizable database that supports SQL queries and updates. Multiple
libraries can be created, and ReadOnly mode can be implemented.

In simplest terms, a part library is a collection of part data that has already been verified by you or
another trusted Sherlock user and that can be easily used in one or more Sherlock projects. All part
libraries share a common GUI in Sherlock to reduce user confusion, while providing different levels of
data sharing amongst Sherlock users. Property values retrieved from any part library can be used to
easily update the Parts List for a specific circuit card, ensuring data consistency across a collection of
circuit cards. Property values defined in a given Parts List can also be easily saved to one or more part
libraries, where allowed.

Sherlock’s part libraries are implemented with Sqlite. A Sqlite part library is in the public domain and
is a lightweight database that supports SQL queries and updates. If the database file is stored on a
Windows shared drive, it can be easily accessed by a group of Sherlock users on the same organizational
network. These libraries can be accessed directly by Sherlock or can be accessed using a variety of
public-domain desktop and command line tools providing maximum flexibility for both naïve and expert
database users.

The remainder of this document describes in detail how the Sherlock Parts Library can be used to
share part data across multiple circuit cards and across multiple Sherlock users.

Chapter Sections:
Parts Library Menu
Creating a Part Library
Part Library Management
Customized Search Results
Filtered Search Results
Update Part Library from Parts List
Update Parts List from Part Library
Import Part Data
Recover Part Library

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 557
Part Library

Parts Library Menu


The Parts Library can be accessed and managed by selecting Libraries on the Sherlock Main Menu
and choosing Parts. Upon opening the Parts Library, you can select either a user created library, in this
case Local Part Library or Sherlock Part Library from the Library drop-down menu. Local Part Library
exists only for users who have upgraded from a previous version of Sherlock, and contains data stored
in a previous local part library.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
558 of ANSYS, Inc. and its subsidiaries and affiliates.
Creating a Part Library

Creating a Part Library


To create a part library, select Settings > General Settings on the Sherlock ribbon. This will prompt
the Sherlock Settings to open. On the side of pop-up, select Part Library. This tab displays all of the
Part Libraries that currently exist in Sherlock.

In this case, the Part Libraries that exist in Sherlock at the moment are the Local Part Library which is
NOT read only, and the Sherlock Part Library which IS read only.

On the Part Library page, there are several buttons defined below:

Add a new part library.

Edit the selected part library.

Delete the selected part library.

Recover the selected part library.

You can also right-click a part library listed and choose Edit Selected Part Library, Delete Selected
Part Library, or Recover Selected Part Library.

To create a new part library, press the Add a New Part Library button. A new pop-up window (image-
1, below) will appear asking you to enter in a Name, Location, and specify if the new part library is
read only.

Press the Browse button to select the location and name of the database file in the file system or enter
the data manually. If the database file and/or folder does not exist, you can create a new folder and
name a database file which will be created. In this case, the new library is named Test Library, and the

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 559
Part Library

location of where the library data is stored is specified in the Location field. Afterwards, press Save,
then Apply & Close. The new library is now created.

To view the new library, select Libraries > Parts from the Sherlock ribbon. You can now toggle the
Library drop down menu and select the new library (image 2). In this case, the newly created Test
Library can be selected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
560 of ANSYS, Inc. and its subsidiaries and affiliates.
Part Library Management

Part Library Management


Since part libraries may contain a large number of parts, a search dialog is provided to select a subset
of parts that can then be viewed, edited, exported or delete. Select Parts > Part Library from the Main
Menu to display the search dialog.

Note:

While the following section uses the Test Library previously created as an example library,
the process to update, add, and delete parts is the same for any library that is not read only.

Test Library:

The dialog contains both a Search Criteria form and a set of Filters. The Search Criteria form is used
to search for all parts from a selected manufacturer or search for parts with a specific part number or
both. The Use AVL and Use Wizard choices specify if the Approved Vendor List and/or Part Wizard
should be used when searching for parts. If Use AVL is enabled, then all the part numbers listed in the
AVL will be searched for the given Part Number string. If Use Wizard is enabled and an Exact Match
criteria is specified, then the Part Wizard will be used to attempt to match the given part number,
automatically adding the part data to the Local Part Library if a match occurs.

After entering the desired criteria, press the List Parts button to populate the Search Results table. The
rows in the Search Results list can be filtered further by entering strings to be matched in one or more
of the filter fields. Customization and advanced filtering of the Search Results table is also supported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 561
Part Library

See the Customized Search Results (p. 566)and Filtered Search Results (p. 570) subsections below for
more details and examples.

Viewing Part Properties


To view all the properties stored for a given part in the Part Library, simply double-click the corres-
ponding row in the Search Results list.

If you select multiple rows in the Search Results list, right-click any of the selected rows and select
View Selected Parts from the pop-up menu. The ribbon at the top of the page will include navigation
buttons that allow you to view each of the selected parts. Specifically, the arrows on the ribbon allow
you to view previous or next parts. You may also choose to utilize the drop-down menu which allows
you to manually select which parts from the selected parts you would like to view. You can also select
a specific Manufacturer-Part Number from the pull-down list to go to a specific part record.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
562 of ANSYS, Inc. and its subsidiaries and affiliates.
Part Library Management

Editing Properties for a Single Part


To edit property values stored in a part library, right-click the desired part in the Search Results list
and select Edit Selected Part from the pull-down menu to display the Part Editor. Optionally, you
may also double click to open the part properties, and then select the pencil icon to edit.

Edit the selected part

The Part Editor looks similar to the Part Properties dialog, except the read-only fields have been re-
placed by editable fields, allowing you to modify any properties associated with this part. If you are
unsure about any part property, click the blue question mark icon next to a field to see a definition
of each property. After changing one or more properties, press the Save button to update the library.
Additionally, you can reset the properties to the last saved properties, or even delete the selected
part.

Save the part editor changes and exit the editor.

Reset the form to the currently saved values

Delete the selected part

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 563
Part Library

Editing Properties for Multiple Parts


Similar to the Parts List, you can edit properties for multiple parts by selecting them in the Search
Results list, right clicking any selected row and choosing Edit Selected Parts from the pop-up menu
to display the Multi-Part Editor.

If a property value is the same for all selected parts, then that value will be displayed in the editable
field. Otherwise, <VARIOUS> will be displayed, indicating that there are at least two different values
stored for that property among the selected parts. Simply modify one or more property values in any
of the tabs and press Save to update all the selected parts.

Part Visual Previewer


The 3D visual representation of any part can be viewed when view the part properties or in the part

editor. At the top of the part viewer ribbon is a button labeled View the 3D Model of the
Part." Click this button to view the 3D visual representation of this part.

As shown below, the window presented for viewing the 3D visual representation has similar controls
to that of the Sherlock 3D Viewer. You may pan, rotate and zoom the display using simple mouse
controls. Press the Help button for a complete list of the mouse controls supported.

The ribbon above the model allows you to select the various viewer options similar to options available
in the Sherlock 3D Viewer (see the Sherlock User Guide – Results Management (p. 663) chapter for
more details).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
564 of ANSYS, Inc. and its subsidiaries and affiliates.
Part Library Management

Package and Lead Properties


The Package tab and Lead tab presents the same form as is displayed in the package properties
form and lead properties form in the part editor. To edit items in these forms, select the pencil in the
upper left-hand corner. To see your changes, re-select View the 3D Model of the Part. Part properties
do not have to be saved in order to be viewed in the 3D modeler. This allows you to make part
modifications from within the previewer tool and optionally save them back to the part editor itself.

Adding, Copying or Deleting Parts


In addition to viewing and editing parts, the search dialog allows you to add, copy or delete parts.

Press the Add Part... button in the Search Criteria form to add a new part. At that point, the Part
Editor will be displayed, allowing you to enter specific part properties. The Manufacturer and Part
Number values must be unique in order for the new part to be added to the library.

To copy an existing part and create a new part with the same properties, right-click the part in the
Search Results list and choose Copy Selected Part from the pop-up menu. At that point, a dialog
will appear requiring you to enter the Manufacturer and/or Part Number values for the new part.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 565
Part Library

Once again, the Manufacturer and Part Number values must be unique for the new part to be added.
All other part properties will be copied from the selected part and you can modify them using the
standard part editing capabilities described above. For convenience, after creating the new part, the
Copy Part dialog will remain displayed, allowing you to repetitively add more parts using the same
part data. This allows for efficient manual adding of parts. When you're done adding all the parts,
press the Close button to close the Copy Part dialog.

To delete one or more parts from the Local Part Library, select them in the Search Results list, right-
click any selected part and choose Delete Selected Parts from the pop-up menu. You may also delete
parts by pressing the Delete the Selected Part button in the Part Editor ribbon or the Delete the
Selected Parts button in the Multi-Part Editor ribbon.

Delete the selected part

Customized Search Results


Users can customize the list of part properties that are displayed in the search results table to suit their
needs. Users can also customize the width of individual columns as needed. Sherlock automatically
saves the table settings and reloads them whenever the search dialog is displayed.

To begin the customization process, press the Customize button displayed in the lower-right corner
of the Search Criteria panel. At that point, the Customize Search Results dialog will be displayed, as
shown below.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
566 of ANSYS, Inc. and its subsidiaries and affiliates.
Customized Search Results

The Filter Type setting allows you to select the type of filtering for the table, as discussed in the following
subsections.

The two lists in the dialog allow you to select the part properties to be displayed in the table. All the
part properties defined in the right-hand list will be displayed as table columns. You can move one or
more items from one list to the other by selecting them and pressing either the << or >> buttons to
move them between the lists.

The Move Up and Move Down buttons below the right-hand list can be used to reorder the properties
to be displayed in the table. Simply select one or more properties in the right-hand list and press Move
Up or Move Down to change their relative position in the list.

For convenience, the Filter field below the left-hand list can be used to filter the property names shown
in the left-hand list.

The following series of images shows how the customization works.

To add some properties to the table, we begin by entering package in the Filter field to reduce the
number of items shown in the Available Properties list. Then, we select the Package Length, Package
Thickness and Package Width properties from the left-hand list. Finally, we press the >> button to
move those properties from the left-hand list to the right-hand Display Properties list.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 567
Part Library

To remove a property from the table, we select the property in the right-hand Display Properties list
and press the << button. At that point, the property will be moved from one list to the other.

Note, since the Filter is still set to package, the Part Description property will not be displayed in the
Available Properties list until the Filter is changed accordingly.

Finally, to change the order of the properties displayed in the Parts List we select the Package Width
property and press the Move Up button. At that point, the Package Width property will be moved
above Package Thickness. If we press the button again, the property will be moved up another position.

If multiple properties are selected, then each of them will be moved up/down by one position
whenever the Move Up or Move Down buttons are pressed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
568 of ANSYS, Inc. and its subsidiaries and affiliates.
Customized Search Results

Note:

The Manufacturer and Part Number properties must always be included in the Display
Properties list, although they may appear in any order.

After making changes in the Customize Search Results dialog, press the Save button to update the
Search Results table. Sherlock will automatically save the Displayed Properties list and will use it to
configure the table whenever it is displayed. Based on the example changes above, the customized
table will look like this.

If the number of properties displayed in the table is wider than the viewing panel, a horizontal scrollbar
will appear, allowing you to scroll left and right. The column filter fields displayed above the table will
automatically scroll to stay aligned with the table columns.

Individual table column widths can be changed by dragging the divider between each column header.
Sherlock will automatically change the width of the corresponding column filter field. Sherlock will also
save the width of each column and will configure the table accordingly whenever it is displayed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 569
Part Library

Filtered Search Results


Sherlock provides two types of expression-based filtering for the Search Results table:

• Column Filters

• Advanced Filter

The type of filter is specified using the Filter Type choice list in the Customize Search Results dialog
(described in the previous subsection).

Column Filters allow users to enter individual filter expressions for any of the columns displayed in
the table. They are an easy and effective method for filtering the Search Results with a minimal amount
of data entry.

The Advanced Filter allows users to enter simple or complex filter expressions based on one or more
part properties. Such filter expressions require more data entry and formatting than those used in
Column Filters, but they allow for greater control over which table rows are filtered.

Column Filters
Column Filters allow users to enter simple filter expressions that are applied to each of the values
in each table column.

The following Search Results will be used as the basis for all the examples in this subsection:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
570 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Note:

Column Filters are applied whenever you press the Tab or Enter key inside of a filter field.
The Tab key will move the focus to the next filter field, while the Enter key will keep the
focus on the same field.

Column Filter - String Matching


In the simplest form, a string is entered as the filter expression and all rows with cell values that
contain the given string are displayed. For example, as shown below, the re value entered in the
Part Type filter field results in 2 of the 17 rows being displayed in the table.

Note:

For convenience, filter expressions are case-insensitive unless otherwise noted. Also,
strings may be quoted or un-quoted.

In addition to the default string matching behavior, the following filter expressions may be used
for string matching:

Table 40.1: Column Filter String Matching Operators

Operator Description
contains STRING True if the column value contains STRING
startsWith STRING True if the column value starts with STRING
endsWith STRING True if the column value ends with STRING
= STRING True if the column value equals STRING
$STRING True if the column value starts with STRING
STRING$ True if the column value ends with STRING
$STRING$ True if the column value equals STRING
=~ REGEX True if the column value satisfies the Java regular
expression (case sensitive)
!~ REGEX True if the column value does not satisfy the Java regular
expression (case sensitive)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 571
Part Library

Note:

Regular expressions must always be quoted because they may contain special characters
that would otherwise be interpreted as part of the filter expression. See Java document-
ation for a complete description of regular expressions.

Column Filtering - Comparison Operators


In addition to the string-matching operators described above, filter expressions can make use of
various comparison operators for both string and numeric values. For example, the following filter
expression displays all rows that have a Package Length value greater than five. In this case, since
the Package Length values are numeric, a numeric comparison is performed by the greater than
operator.

In the following example, the greater than operator performs an alpha-numeric comparison, res-
ulting in the display of rows where the Part Number value is greater than ta.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
572 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Note:

An alpha-numeric comparison differs from a simple string comparison in that it compares


numeric substrings as numbers. For example, the value SMT 0603 is greater than SMT
100.

The following comparison operators are supported in column filter expressions for both numeric
and string values:

Table 40.2: Column Filter Comparison Operators

Operator Description Operator Description


= or == Equals != or <> Not Equals
< Less Than > Greater Than
<= Less Than Or Equals >= Greater Than Or Equals

Column Filtering - Multi Column


If two or more column filter expressions are entered, then only the rows that match ALL of the filter
expressions are displayed in the table. For example, as shown below, the two rows displayed each
have a Part Type value that contains re and a Package Length value greater than two, as specified
by the column filters.

Column Filtering - Boolean Expressions


Boolean expressions can be defined in each column filter expression to facilitate more complex
filtering criteria. In the following example, the Package Length filter expression selects values that
are greater than two and less than four.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 573
Part Library

The following boolean operators are supported in column filter expressions:

Table 40.3: Column Filter Boolean Operators

Operator Description
| or | | True if either operand is true
& or && True if both operands are true
~ or ! True if operand is false
() Sub-expression

Column Filtering - Meta Functions


All the column filtering operators described above compute a result based on the property values
in each row of the table. However, there are times when it is necessary to filter rows based on the
meta data associated with a property value. To that end, the following meta functions are supported
in column filter expressions:

Table 40.4: Column Filter Meta Functions

Function Description
defined() Returns true if the property value is defined

For example, the meta function can be used to display all rows where the Package Thickness is
not defined.

Note:

The use of meta functions in filter expressions can quickly determine which parts in the
Parts List need to be reviewed or updated.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
574 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Advanced Filter
The Advanced Filter allows users to define filter expressions that reference one or more part properties.
Unlike Column Filter expressions, an Advanced Filter expression can define arbitrary conditions
across multiple part properties.

The following Search Results will be used as the basis for all the examples in this subsection:

Note:

The Advanced Filter is applied when the Apply Filter button is pressed. When editing
the filter expression, you can press that button without using the mouse by pressing the
Tab key, followed by the Enter key on the keyboard. For convenience, the focus will
automatically return to the text area, allowing you to continue editing the filter expression
if necessary.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 575
Part Library

Advanced Filter - String Matching


The Advanced Filter supports the same string-matching operators that are supported by the
Column Filters. The only difference is that the part property name must always be specified. For
example, the following filter expression displays all rows where the Part Type value contains the
string re.

Part properties may be designated in filter expressions using either the property name or label.
A complete list of part properties can be found using the Help > Part Properties menu option in
Sherlock or by pressing the Properties button on the right side of the Advanced Filter panel
(described below).

Note:

All strings must be quoted in an Advanced Filter expression using either a pair of single
quotes or a pair of double quotes.

The following string-matching operators are supported in advanced filter expressions:

Table 40.5: Advanced Filters: String Matching

Operator Description
PROPERTY contains STRING True if the PROPERTY value contains STRING
PROPERTY startsWith STRING True if the PROPERTY value starts with STRING
PROPERTY endsWith STRING True if the PROPERTY value ends with STRING
PROPERTY == STRING True if the PROPERTY value equals STRING
PROPERTY =~ REGEX True if the PROPERTY value satisfies the Java regular
expression (case sensitive)
PROPERTY !~ REGEX True if the PROPERTY value does not satisfy the Java
regular expression (case sensitive)

Note:

See Java documentation for a complete description of regular expressions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
576 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Advanced Filtering - Comparison Operators


The Advanced Filter supports the same comparison operators that are supported by the Column
Filters. The only difference is that the part property name must always be specified. For example,
the following filter expression displays rows where the Package Length is greater than five, using
numeric comparison.

The following comparison operators are supported in Advanced Filter expressions:

Table 40.6: Advanced Filters: Comparison Operators

Operator Description Operator Description


= or == Equals != or <> Not Equals
< Less Than > Greater Than
<= Less Than Or Equals >= Greater Than Or Equals

Note:

Comparison operators can be used to compare property values to literal values, property
values to property values or literal values to literal values. In the following example, all
parts with a package length greater than the package width are displayed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 577
Part Library

Comparison operators can be used for either a pair of numeric operands or a pair of string operands
but cannot be used to compare a string operand to a numeric operand.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
578 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Advanced Filtering - Boolean Expressions


Boolean expressions can be defined in an advanced filter expression to facilitate more complex fil-
tering criteria. In the following example, the filter selects values where (a) the Part Type value
contains the string re, (b) the Package Length is greater than 4 and (c) the Package Length is less
than 10.

The following boolean operators are supported in Advanced Filter expressions:

Table 40.7: Advanced Filters: Boolean Operators

Operator Description
| or | | True if either operand is true
& or && True if both operands are true
~ or ! True if operand is false
() Sub-expression

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 579
Part Library

Advanced Filters - Meta Functions


All the filtering operators described above compute a result based on the property values in each
row of the table. However, there are times when it is necessary to filter rows based on the meta
data associated with a property value. To that end, the following meta functions are supported in
Advanced Filter expressions:

Table 40.8: Advanced Filters: Meta Functions

Function Description
defined(PROPERTY) Returns true if the property value is defined
anyDefined(PROP1, PROP2, ...) Returns true if any of the property values are
defined
allDefined(PROP1, PROP2, ...) Returns true if all of the property values are
defined

Note:

Unlike other operators and functions, the meta functions require that all property names
be specified as quoted strings.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
580 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Advanced Filtering - Numeric Expressions


The following numeric operators are supported in advanced filter expressions to allow arbitrary
calculations to be used as part of the filtering criteria:

Table 40.9: Advanced Filters: Numeric Operators

Operator Description Precedence


+, - Addition and Subtraction 1
*, / Multiplication and Division 2
% Integer remainder 3
+, - Unary Plus and Unary Minus 4
^ Power 5

The numeric operators are listed from low precedence to high precedence. Higher precedence oper-
ations are performed first in an expression, absent any ordering specified by brackets.

The following numeric functions are supported in Advanced Filterexpressions:

Table 40.10: Advanced Filters: Numeric Functions

Function Description
min(VALUE1, VALUE2, ...) Returns the minimum of all values specified, which may be
property values, constants or numeric expressions
max(VALUE1, VALUE2, ...) Returns the maximum of all values specified, which may
be property values, constants or numeric expressions
sqrt(VALUE) Returns the square root of the given property value,
constant or numeric expression

In the following example, the filter selects all rows where either the maximum package dimension
(that is, length or width) is less than 5 or the diagonal length of the package is greater than 10.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 581
Part Library

Advanced Filtering - Filter Management


For convenience, the Advanced Filter edit panel maintains a history of the last twenty filter expres-
sions that have been executed. This allows users to develop filter criteria in a piece-wise manner
and/or to switch back and forth between a set of filters as needed.

Users may also save/load filters to/from designated text files. This allows users to easily maintain
their own set of individualized filters and/or a library of re-usable filters that can be shared across
a collection of Sherlock users.

The following buttons and/or keyboard Inputs can be used to manage filters on the Filter History
list or saved in user-defined files:

Table 40.11: Advanced Filters: Filter Management

Button Keyboard Input Description


Apply Filter CONTROL-F Apply the currently defined filter and append it to the
Filter History list
Reset CONTROL-R Reset the filter in the edit panel to that last filter that
was executed
N/A CONTROL-P Load the previous filter, if any, on the Filter History list
N/A CONTROL-N Load the next filter, if any, on the Filter History list
Load CONTROL-L Load a saved filter expression from a designated text
file
Save CONTROL-S Save the current filter expression to a designated text
file
Clear N/A Clear the edit panel

The keyboard inputs listed in the table above are case-insensitive.

When a filter expression is saved to a designated text file Sherlock automatically includes a comment
header that indicates the Windows username of the user who generated the file, as well as the
date and time when the filter was saved, such as shown here:

# Sherlock PartLibrary Filter - Sam Somebody @ 2019-10-28 [Link]


Package Length > 10
&& Package Width > 10

Users may edit the text files directly to modify filter expressions and/or provide additional comments
regarding the filter.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
582 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtered Search Results

Advanced Filtering - Property Chooser


The Select Part Property dialog, accessible by pressing the Properties button in the Advanced
Filter panel, provides a convenient mechanism for finding and entering a valid part property name.

As shown here, the dialog lists all part property labels and names, sorted by label. Users can scroll
through the list to select a desired property to be included in the filter expression. When the User
Property button is pressed, the selected property name will be appended to the current filter ex-
pression.

To help search through the list of properties, a filter expression can be entered below the list to
display all list items that contain the given string. Such filtering is case-insensitive. Simply clear the
filter field to display all part properties. In the example shown here, entering ball in the filter field
results in the display of only the part properties associated with BGA solder balls.

For convenience, the dialog can be left open while editing the filter expression in the Advanced
Filter panel so that multiple part properties can be entered as needed. When the dialog is no longer
needed, press the Close button to hide the dialog until it is needed again.

Note:

If the SQL Query attempts to retrieve more than 1,000 parts from the database, then a
message will be displayed and only the first 1,000 parts will be displayed in the Search
Results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 583
Part Library

Update Part Library from Parts List


The Local Part Library can be updated directly from the Parts List by:

• Right-clicking Parts List in the Project Tree and select Update Part Library from Parts List from
the pop-up menu.

• Selecting the Update the part library from the parts list at the top of the Parts List ribbon.

Update the part library from the parts list

In either case, a confirmation dialog will appear asking if you really want to update the specified Library.

Note:

Keep in mind that any FALSE data added to the Part Library could propagate into the Parts
Lists used by other circuit cards, projects or users. Always double-check your inputs before
proceeding.

Press the Update Library button to update the selected Part Library. At that point, Sherlock will examine
all parts in the Parts List looking for parts with confirmed Manufacturer and Part Number fields. For
all such parts found, Sherlock will then look at the confirmed part properties for each of the parts. If
the confirmed part property values are the same, then the part will be used to update the Local Part
Library. If two parts with the same manufacturer and part number have confirmed part properties with
different values, an error will be generated, and the library will not be updated.

After a successful update, Sherlock will display a message indicating the number of parts actually updated
in the library.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
584 of ANSYS, Inc. and its subsidiaries and affiliates.
Update Part Library from Parts List

Part Library Interface with Parts List


For convenience, you can update the part list from the part library or update the part library from
the parts list from the pop-up menu associated with the Parts List project tree entry. On the ribbon
located at the top of the pop-up menu associated, the last two icons denote these options.

Update the part list from the part library

Update the part library from the parts list

When selecting Update the Part Library from the Parts List, make sure to specify the Library that
you wish to update. Afterwards, press Update Library. Afterwards, Sherlock will report the number
of parts added to the part library from the parts list.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 585
Part Library

Update Parts List from Part Library


The real power of the Part Library can be seen when it is used to update the Parts List for a given
circuit card. With just a few mouse clicks, you can update literally thousands of part properties using
the part property values stored in the Part Library. This feature significantly reduces the time needed
to review properties for a new circuit card, assuming that most, if not all, of the parts used in that circuit
card were used in other circuit cards processed by Sherlock. Since Part Library data can be shared by
multiple Sherlock users in an organization (details will be discussed shortly), over time the organization
can develop a truly comprehensive database of part data.

Updates to the Parts List use an approach similar to that used when extracting data from the Parts
List. Specifically, Sherlock examines every part in the Parts List, looking for a "matching" part in the
Part Database (the exact meaning of matching will be discussed shortly). To begin the process, select
Parts List from the Project Menu and right click Update Parts List from Part Library to display the
Update Parts List dialog.

The Matching option defines how parts in the Parts List should be matched up with parts in the Part
Database. If your Parts List doesn't always include Manufacturer values, then you'll want to use the
Part Number Only option to update parts with only matching part numbers. In such cases, Sherlock
may find multiple parts in the Part Database for a given part in the Parts List (each part in the Part
Database will have a different Manufacturer value). In such cases, the Duplication option is used by
Sherlock to determine how to proceed. In the strictest case, an error will be generated, and no updates
will be made. You can also choose to use the first match found in the Part Database (essentially a
random choice of one of the matching parts from the Part Database) or perform no updates but con-
tinue processing other parts.

When the Update Parts List button is pressed, Sherlock will scan all parts in the Parts List, looking for
matching parts in the Part Library. If no errors are generated, then Sherlock will display a status message
after the update process has completed, indicating the number of parts that were actually updated.

Note:

Even if Sherlock finds matching parts in the Local Part Library, it's possible that no Parts
List updates will be made if all the Parts List property values are already the same as those
defined in the library.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
586 of ANSYS, Inc. and its subsidiaries and affiliates.
Update Parts List from Part Library

Export Part Data


Sherlock automatically shares the Local Part Library across all projects and circuit cards processed
by a given user on a given platform. If you want to share the Local Part Library across multiple
Sherlock users or you want to keep an archive copy of the Local Part Library, you can export the
data for one or more parts via the search dialog.

To export Local Part Library data, select Libraries > Parts from the main menu and press the Export
Parts... button in the Search Criteria panel to display the Export Parts from Part Library dialog, as
shown here.

The Export File fields allow you to browse the file system to select an appropriate folder and file to
which the data should be exported. Part data may be exported as a CSV, XLS, XLSX, or XML file.

The Export Mode choice indicates which parts should be exported to the file. In this example, all of
the parts listed in the Search Results table in the Search Part Library dialog will be exported. The
All Parts in Library option allows you to export all of the parts currently defined in the Part Library
to one or more export files. The exact number of export files created depends on the value specified
in the Max Parts per File and the total number of parts to be exported. If multiple files are required,
Sherlock will automatically append an index number to the file name. For example, if two export files
are required in the example above then they will be named Test [Link] and Test [Link].

Note:

If you want to copy the entire Local Part Library, you may also copy the entire PartDB
directory in the Sherlock User Directory. See the Recover Part Library section for more
details.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 587
Part Library

Import Part Data


Data exported from one Sherlock Part Library can be imported into any Sherlock Part Library to:

• Facilitate sharing of data between Sherlock users

• Use different part data to compare with previous results, or

• Revert back to a previous version of the Part Library.

To import data into the Local Part Library, select Libraries > Part Parts from the main menu and then
press the Import Parts... button to display a dialog that allows you to select the part database file to
be imported.

After selecting the desired file, press the Import Parts into Part Library button to proceed to the next
dialog.

The second dialog displayed will vary depending on the type of import file selected. The dialog allows
you to select the desired processing options.

The options allow you to clear the existing Part Library before loading the data from the XML file, add
all new parts and properties found in the XML file and/or update part properties that exist in both the
current Part Library and the XML file.

The default options shown here are usually appropriate for common purposes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
588 of ANSYS, Inc. and its subsidiaries and affiliates.
Recover Part Library

When importing a spreadsheet file, in addition to the options shown here, options will exist to select
the name of the sheet from the file and the column mapping options. If Sherlock is not able to properly
guess the column names, manually choose the columns from the file to associate to the missing part
attribute columns.

After the file is processed and the library is updated Sherlock will display a message indicating the
number of parts updated or indicating that no updates were made.

Recover Part Library


For users who are upgrading from previous versions of Sherlock, the previous Local Part Library is
maintained by Sherlock as a collection of folders and XML files found in the PartDB folder in the Sherlock
User Directory. Advanced users were free to examine and/or modify the XML files directly, copy them
for safe-keeping or exchange them with other Sherlock users. Such an approach has been taken to allow
for a free exchange of part data files amongst reliability professionals.

To facilitate fast retrieval of part data from the previous Local Part Library, in addition to the collection
of XML files Sherlock maintains a binary data file containing search indexes. In previous operation,
Sherlock keeps the binary data file consistent with the XML files being managed. However, if users
modify the XML files themselves, for any reason, the binary data file needs to be refreshed or recovered.

Part Library recovery is performed automatically by Sherlock on start-up if the binary data file is missing
or if there is a problem reading the binary data file. If you are upgrading from a previous version of
Sherlock, you can also recover the library index file manually by selecting from the main menu. At that
point, a confirmation dialog will appear to ensure that you really want to recover the Part Library index
file from the XML files. This function is only enabled for the local part library and shared part library of
previous Sherlock versions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 589
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
590 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 41: Part Validation
The Part Validation analysis module allows ANSYS Sherlock users to validate the part properties used
in a selected circuit card assembly (CCA) against the part properties currently maintained in the Part
Database and/or Approved Vendor List (AVL) (p. 87). Such validation ensures that part numbers, de-
scriptions and other part properties are consistent across all CCA's maintained by your organization. In
addition to running Part Validation as specified here, it can be automatically run as needed prior to any
other component-related analysis using the current settings.

Note:

The examples shown in this document are based on the Tutorial Project provided as part of
the Sherlock Tutorial package as discussed in the Project Overview (p. 11) lesson.

Chapter Sections:
Input Data
Analysis Options
Analysis Results
Component Analysis Part Validation

Input Data
The Part Validation Analysis Module makes use of the following input data:

• Parts List

• Part Library

• Approved Vendor List

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Analysis Options
The Part Validation analysis module allows you to choose several processing options.

Part Library Analysis


When validating part properties against the Part Library, Sherlock users can choose the following
processing options (see dialog interface below):

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 591
Part Validation

• Check Confirmed Properties - ensures that all confirmed part property values in the Parts List
are the same as the corresponding part property values in the Part Database. This option is useful
for ensuring that the Parts List is correct.

• Check Part Numbers - ensures that all confirmed Part Numbers stored in the Parts List are also
defined in the Part Library. This option is useful for finding parts that were not previously defined
in the Part Database.

In both cases, a given part in the Parts List is matched with a part in the Part Database based on
the Matching criteria selected. If Part Number & Manufacturer is selected, then both part properties
are compared to determine a match. If Part Number Only is selected, then only the Part Number
property will be used. This allows you to validate parts in the Parts List when no Part Manufacturer
has been specified (which is common when importing data from various design files).

Approved Vendor Analysis


When validating part properties against the Approved Vendor List (AVL) (p. 87), Sherlock users can
choose the following processing options:

• Require Internal Part Number - An error will be generated if the Part Number property value
stored in the Parts List does not match an approved (that is, internal) part number in the AVL

• Require Approved Description - An error will be generated if the Part Description property value
stored in the Parts List does not match the Description defined in the AVL for the matching part.

• Require Approved Manufacturer - An error will be generated if the Manufacturer property value
stored in the Parts List does not match one of the approved vendors in the AVL for the matching
part.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
592 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Analysis Results
The following results are produced by the Part Validation analysis module:

• Summary Results

• Table of individual Parts List Results

• List of issues found

Summary Results
The Summary tab shows the various processing options selected, the number of parts analyzed, and
numeric summaries of the various issues found. When used over time, the Summary Results (shown
below) provide an overall indication of the consistency of a selected CCA with regard to Parts List
data.

The Confirmed Part Results summary shows the number of parts in the Parts List that have been
Confirmed (i.e. verified by the user). This is critical information with regard to Part Database validation
in that only confirmed parts are checked against the Part Database.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 593
Part Validation

The Part Database Validation Results summary shows the number of parts that triggered each of
the validation errors possible when comparing against the Part Database.

The Approved Vendor List Results summary shows the number of parts that triggered each of the
validation errors possible when comparing against the AVL.

Table of Individual Part List Results


The Table tab generated by the Part Validation Analysis Module shows the individual errors for
each of the parts found in the Parts List. If one or more errors were generated for a given part, then
each error will be displayed in the table, color-coded by severity, as shown here:

In this example, we can see that two errors were generated for part C27. The first error (Incomplete
Part Number / Manufacturer) was generated because that part is missing a Manufacturer property
value. The second error (Unapproved Internal / Vendor Part Number) was generated because the
Part Number stored in the Parts List does not match any INTERNAL Part Number stored in the AVL
and we choose to require internal part numbers in the input dialog above.

Note:

As with all Sherlock analysis results tables, you can double-click any of the rows to view
the part properties for the selected part or right-click any row to export all or part of the
results table to a spreadsheet file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
594 of ANSYS, Inc. and its subsidiaries and affiliates.
Component Analysis Part Validation

List of Issues Found


The Issues tab shows a summary list of the issues found during processing, possibly including detailed
error descriptions for specific parts. You can easily cut-and-paste the contents to another document.

Component Analysis Part Validation


Any of the analysis tasks in Sherlock that relate to components will generate an analysis warning if part
validation is not up to date and passing prior to executing those other analysis tasks. The settings dialog
for each of the component-related analysis tasks has an option for Part Validation to be enabled or
disabled prior to executing the given analysis task if required. If the Part Validation analysis has already
executed and is up to date, Sherlock will not execute it again. Part Validation will only execute when
the given analysis setting is enabled and Part Validation isn't currently in a passing state. When Sherlock
executes all available analysis tasks as once, as directed by the user, it will run the Part Validation task
first and the other tasks will hold until it is complete.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 595
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
596 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 42: Parts List Management
The Reviewing Part Properties (p. 33) tutorial detailed how part properties can be managed using the
Parts List content tab. In this document we describe some advanced customization and filtering capab-
ilities provided for the Parts List that can be used to more easily manage many parts. We also describe
how Sherlock provides bulk imports, updates, and exports of the Parts List using CSV, XLS, and XLSX
files.

Chapter Sections:
Customizing the Parts List
Filtering the Parts List
Exporting the Parts List
Importing the Parts List

Customizing the Parts List


Users may customize the list of part properties that are displayed in the Parts List table to suit their
needs. Users can also customize the width of individual columns as needed. Sherlock automatically
saves the table settings and reloads them whenever the Parts List is displayed.

To begin the customization process, press the Customize the parts list view button displayed in the
upper-right corner of the Parts List tab, denoted by the gear icon.

At that point, the Customize Parts List dialog will be displayed, as shown below.

The Filter Type setting allows you to select the type of filtering for the Parts List, as discussed in the
following subsections.

The two lists in the dialog allow you to select the part properties to be displayed in the Parts List. All
of the part properties defined in the right-hand list will be displayed as table columns. You can move

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 597
Parts List Management

one or more items from one list to the other by selecting them and pressing either the << or >> buttons
to move them between the lists.

The Move Up and Move Down buttons below the right-hand list can be used to reorder the properties
to be displayed in the table. Simply select one or more properties in the right-hand list and press Move
Up or Move Down to change their relative position in the list.

For convenience, the Filter field below the left-hand list can be used to filter the property names shown
in the left-hand list.

The following series of images shows how the customization works.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
598 of ANSYS, Inc. and its subsidiaries and affiliates.
Customizing the Parts List

To add some properties to the Parts List table, we begin by entering package in the Filter field to reduce
the number of items shown in the Available Properties list. (See below.) Then, we select the Package
Length, Package Thickness and Package Width properties from the left-hand list. Finally, we press
the >> button to move those properties from the left-hand list to the right-hand Display Properties
list.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 599
Parts List Management

To remove a property from the Parts List, we select the property in the right-hand Display Properties
list (see below) and press the << button. At that point, the property will be moved from one list to the
other.

Note, since the Filter is still set to package, the Location property will not be displayed in the Available
Properties list until the Filter is changed accordingly.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
600 of ANSYS, Inc. and its subsidiaries and affiliates.
Customizing the Parts List

Finally, to change the order of the properties displayed in the Parts List we select the Package Width
property (see below) and press the Move Up button. At that point, the Package Width property will
be moved above Package Thickness. If we press the button again, the property will be moved up an-
other position.

If multiple properties are selected, then each of them will be moved up/down by one position
whenever the Move Up or Move Down buttons are pressed.

After making changes in the Customize Parts List dialog, press the Save button to update the Parts
List table. Sherlock will automatically save the Displayed Properties list and will use it to configure
the Parts List table whenever it is displayed. Based on the example changes above, the customized
Parts List is shown below (image 1).

If the number of properties displayed in the Parts List is wider than the viewing panel, a horizontal
scroll bar will appear, allowing you to scroll left and right. The column filter fields displayed above the
table will automatically scroll to stay aligned with the table columns. You can also select the Automat-

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 601
Parts List Management

ically Resize all the Column Widths button at the top right of the Parts List dialog to get rid of the
horizontal scroll bar.

Automatically resize all the column widths

Individual table column widths can be changed by dragging the divider between each column header.
Sherlock will automatically change the width of the corresponding column filter field. Sherlock will also
save the width of each column and will configure the Parts List table accordingly whenever it is displayed.

Filtering the Parts List


Sherlock provides two types of expression-based filtering for the Parts List:

• Column Filters

• Advanced Filter

The type of filter is specified using the Filter Type choice list in the Customize Parts Listing dialog
(described in the previous subsection).

Column Filters allow users to enter individual filter expressions for any of the columns displayed in
the Parts List table. They are an easy and effective method for filtering the Parts List with a minimal
amount of data entry.

The Advanced Filter allows users to enter simple or complex filter expressions based on one or more
part properties. Such filter expressions require more data entry and formatting than those used in
Column Filters, but they allow for greater control over which table rows are filtered. Advanced Filter
expressions can also reference part properties that are NOT displayed in the Parts List table itself, allowing
users to search for parts that have specific properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
602 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

Column Filters
Column Filters allow users to enter simple filter expressions that are applied to each of the values
in a given table column.

The following Parts List will be used as the basis for all the examples in this subsection:

Note:

Column Filters are applied whenever you press the Tab or Enter key inside of a filter field.
The Tab key will move the focus to the next filter field, while the Enter key will keep the
focus on the same field.

Column Filter - String Matching


In the simplest form, a string is entered as the filter expression and all rows with cell values that
CONTAIN the given string are displayed. For example, as shown below, the cap value entered in
the Part Type filter field results in five of the nine rows being displayed in the table.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 603
Parts List Management

Note:

For convenience, filter expressions are case-insensitive unless otherwise noted. Also,
strings may be quoted or un-quoted.

In addition to the default string matching behavior, the following filter expressions may be used
for string matching:

Table 42.1: String Matching Operators

Operator Description
contains STRING True if the column value contains STRING
startsWith STRING True if the column value starts with STRING
endsWith STRING True if the column value ends with STRING
= STRING True if the column value equals STRING
$STRING True if the column value starts with STRING
STRING$ True if the column value ends with STRING
$STRING$ True if the column value equals STRING
=~ “REGEX” True if the column value satisfies the Java regular expression (case
sensitive)
!~ “REGEX” True if the column value does not satisfy the Java regular expression
(case sensitive)

Note:

Regular expressions must always be quoted because they may contain special characters
that would otherwise be interpreted as part of the filter expression. See Java document-
ation for a complete description of regular expressions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
604 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

Column Filtering - Comparison Operators


In addition to the string-matching operators described above, filter expressions can make use of
various comparison operators for both string and numeric values. For example, the following filter
expression displays all rows that have a Package Length value greater than six. In this case, since
the Package Length values are numeric, a numeric comparison is performed by the greater than
operator.

In the following example, the greater than operator performs an alpha-numeric comparison, res-
ulting in the display of rows where the Ref Des value is greater than D.

Note:

An alpha-numeric comparison differs from a simple string comparison in that it compares


numeric substrings as numbers. For example, the value SMT 0603 is greater than SMT
100.

The following comparison operators are supported in column filter expressions for both numeric
and string values:

Table 42.2: Column Filtering Comparison Operators

Operator Description Operator Description


= or == Equals != or <> Not Equals
< Less Than > Greater Than
<= Less Than Or Equals >= Greater Than Or Equals

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 605
Parts List Management

Column Filtering - Multi Column


If two or more column filter expressions are entered, then only the rows that match ALL of the filter
expressions are displayed in the table. For example, as shown below, the three rows displayed each
have a Part Type value that contains cap and a Package value that contains alum, as specified by
the column filters.

Column Filtering - Boolean Expressions


Boolean expressions can be defined in each column filter expression to facilitate more complex
filtering criteria. In the following example, the Package filter expression selects values that either
do not contain re or that contain ic, while the Package Length filter expression selects values that
are greater than two and less than ten.

The following boolean operators are supported in column filter expressions:

Table 42.3: Column Filtering Boolean Operators

Operator Description
| or | | True if either operand is true
& or && True if both operands are true
~ or ! True if operand is false
() Sub-expression

Column Filtering - Meta-Functions


All of the column filtering operators described above compute a result based on the property values
in each row of the table. However, there are times when it is necessary to filter rows based on the

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
606 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

metadata associated with a property value. To that end, the following meta-functions are supported
in column filter expressions:

Table 42.4: Column Filtering Meta-Functions

Function Description
defined() Returns true if the property value is defined
confirmed() Returns true if the property value has been confirmed
source() Returns the data source of the property value

The following example shows how the meta-functions can be used to display all rows where the
Package source is User."

Note:

The use of meta-functions in filter expressions can quickly determine which parts in the
Parts List need to be reviewed or updated.

Advanced Filter
The Advanced Filter allows users to define filter expressions that reference one or more part properties.
Unlike Column Filter expressions, an Advanced Filter expression can define arbitrary conditions across
multiple part properties and can reference part properties that are not listed in the Parts List table
itself.

The following Parts List will be used as the basis for all of the examples in this subsection:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 607
Parts List Management

Note:

The Advanced Filter is applied when the Apply Filter button is pressed. When editing
the filter expression, you can press that button without using the mouse by pressing the
Tab key, followed by the Enter key on the keyboard. For convenience, the focus will
automatically return to the text area, allowing you to continue editing the filter expression
if necessary.

Advanced Filter - String Matching


The Advanced Filter supports the same string-matching operators that are supported by the
Column Filters. The only difference is that the part property name must always be specified. For
example, the following filter expression displays all rows where the Part Type value contains the
string cap.

Part properties may be designated in filter expressions using either the property name or label.
A complete list of part properties can be found using the Help > Part Properties menu option in
Sherlock or by pressing the Properties button on the right side of the Advanced Filter panel
(described below).

All strings must be quoted in an Advanced Filter expression using either a pair of single quotes
or a pair of double quotes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
608 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

The following string matching operators are supported in advanced filter expressions:

Table 42.5: String Matching Operators

Operator Description
PROPERTY contains “STRING” True if the PROPERTY value contains STRING
PROPERTY startsWith “STRING” True if the PROPERTY value starts with STRING
PROPERTY endsWith “STRING” True if the PROPERTY value ends with STRING
PROPERTY == “STRING” True if the PROPERTY value equals STRING
PROPERTY =~ “REGEX” True if the PROPERTY value satisfies the Java regular
expression (case sensitive)
PROPERTY !~ “REGEX” True if the PROPERTY value does not satisfy the Java
regular expression (case sensitive)

Note:

See Java documentation for a complete description of regular expressions.

Advanced Filtering - Comparison Operators


The Advanced Filter supports the same comparison operators that are supported by the Column
Filters. The only difference is that the part property name must always be specified. For example,
the following filter expression displays rows where the Package Length is greater than 10, using
numeric comparison.

The following comparison operators are supported in advanced filter expressions:

Table 42.6: Comparison Operators

Operator Description Operator Description


= or == Equals != or <> Not Equals
< Less Than > Greater Than
<= Less Than Or Equals >= Greater Than Or Equals

Comparison operators can be used to compare property values to literal values, property values to
property values or literal values to literal values. In the following example, all parts with a package
length greater than the package width are displayed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 609
Parts List Management

Note:

Comparison operators can be used for either a pair of numeric operands or a pair of
string operands but cannot be used to compare a string operand to a numeric operand.

Advanced Filtering - Boolean Expressions


Boolean expressions can be defined in an advanced filter expression to facilitate more complex fil-
tering criteria. In the following example, the filter selects values where (a) the Package values does
not contain re, (b) the Package Length is greater than 2 and (c) the Package Length is less than
10.

The following boolean operators are supported in advanced filter expressions:

Table 42.7: Advanced Filtering Boolean Operators

Operator Description
| or | | True if either operand is true
& or && True if both operands are true
~ or ! True if operand is false
() Sub-expression

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
610 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

Advanced Filtering - Meta-Functions


All of the filtering operators described above compute a result based on the property values in
each row of the table. However, there are times when it is necessary to filter rows based on the
metadata associated with a property value. To that end, the following meta-functions are supported
in advanced filter expressions:

Table 42.8: Advanced Filtering Meta-Functions

Function Description
defined(“PROPERTY”) Returns true if the property value is defined
anyDefined(“PROP1”, “PROP2”, ...) Returns true if any of the property values
are defined
allDefined(“PROP1”, “PROP2”, ...) Returns true if all of the property values are
defined
confirmed(“PROPERTY”) Returns true if the property value is
confirmed
anyConfirmed(“PROP1”, “PROP2”, ...) Returns true if any of the property values
are confirmed
allConfirmed(“PROP1”, “PROP2”, ...) Returns true if all of the property values are
confirmed
source(“PROPERTY”) Returns the data source of the property
value

Note:

Unlike other operators and functions, the meta-functions require that all property names
be specified as quoted strings.

The following example shows how the meta-functions can be used to display all rows where the
Package Source is User.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 611
Parts List Management

Advanced Filtering - Numeric Expressions


The following numeric operators are supported in advanced filter expressions to allow arbitrary
calculations to be used as part of the filtering criteria:

Table 42.9: Advanced Filtering- Numeric Expressions

Operator Description Precedence


+, - Addition and Subtraction 1
*, / Multiplication and Division 2
% Integer remainder 3
+, - Unary Plus and Unary Minus 4
^ Power 5

The numeric operators are listed from low precedence to high precedence. Higher precedence
operations are performed first in an expression, absent any ordering specified by brackets.

The following numeric functions are supported in advanced filter expressions:

Table 42.10: Advanced Filtering- Numeric Functions

Function Description
min(VALUE1, VALUE2, ...) Returns the minimum of all values specified, which may be
property values, constants or numeric expressions
max(VALUE1, VALUE2, ...) Returns the maximum of all values specified, which may
be property values, constants or numeric expressions
sqrt(VALUE) Returns the square root of the given property value,
constant or numeric expression

In the following example, the filter selects all rows where either the maximum package dimension
(that is, length, width, thickness) is greater than 3 or the diagonal length of the package is greater
than 3.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
612 of ANSYS, Inc. and its subsidiaries and affiliates.
Filtering the Parts List

Advanced Filtering - Filter Management


For convenience, the Advanced Filter edit panel maintains a history of the last 20 filter expressions
that have been executed. This allows users to develop filter criteria in a piece-wise manner and/or
to switch back and forth between a set of filters as needed.

Users may also save/load filters to/from designated text files. This allows users to easily maintain
their own set of individualized filters and/or a library of re-usable filters that can be shared across
a collection of Sherlock users.

The following buttons and/or keyboard Inputs can be used to manage filters on the Filter History
list or saved in user-defined files:

Table 42.11: Advanced Filtering- Input Shortcuts

Button Keyboard Input Description


Apply Filter CONTROL-F Apply the currently defined filter and
append it to the Filter History list
Reset CONTROL-R Reset the filter in the edit panel to that last
filter that was executed
N/A CONTROL-P Load the previous filter, if any, on the Filter
History list
N/A CONTROL-N Load the next filter, if any, on the Filter
History list
Load CONTROL-L Load a saved filter expression from a
designated text file
Save CONTROL-S Save the current filter expression to a
designated text file
Clear N/A Clear the edit panel

Note:

The keyboard inputs listed in the table above are case-insensitive.

When a filter expression is saved to a designated text file Sherlock automatically includes a comment
header that indicates the Windows username of the user who generated the file, as well as the
date and time when the filter was saved, such as shown here:

Users may edit the text files directly to modify filter expressions and/or provide additional comments
regarding the filter.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 613
Parts List Management

Advanced Filtering - Property Chooser


The Select Part Property dialog, accessible by pressing the Properties button in the Advanced
Filter panel, provides a convenient mechanism for finding and entering a valid part property name.

As shown below, the dialog lists all part property labels and names, sorted by label. Users can scroll
through the list to select a desired property to be included in the filter expression. When the User
Property button is pressed, the selected property name will be appended to the current filter ex-
pression.

To help search through the list of properties, a filter expression can be entered below the list to
display all list items that contain the given string. Such filtering is case-insensitive. Simply clear the
filter field to display all part properties. In the example shown here, entering ball in the filter field
results in the display of only the part properties associated with BGA solder balls.

For convenience, the dialog can be left open while editing the filter expression in the Advanced
Filter panel so that multiple part properties can be entered as needed. When the dialog is no longer
needed, press the Close button to hide the dialog until it is needed again.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
614 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting the Parts List

Exporting the Parts List


To see how the Parts List can be exported, double-click the Parts List entry in the Project Tree and
select the entire Parts List for the Main Board. Right-click any selected part and select Export Parts
List from the context menu or select the Export Selected Part from the Parts List button at the top
of the Parts List dialog.

Export selected part from the parts list

For this example, we will export all parts (rows) and all part properties (columns), as shown below. We
can also choose the specific rows and/or columns to be exported to the file, depending on our needs.

Use the Browse button to locate the folder in which the exported file should be stored, name the file
Main Board Parts [Link], and press the Export button. If the file already exists, Sherlock will prompt
you to confirm that the file should be overwritten.

Now that the file is exported we can make adjustments using any spreadsheet editor that can process
Microsoft Excel 2010 (XLSX) files.

Note:

Sherlock can import and export Parts List files in the Excel 2010 format (XLSX), Excel 97/2003
format (XLS) and the Comma Separated Values (CSV) format. Sherlock automatically determines
the file format based on the specified file name suffix.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 615
Parts List Management

Importing the Parts List


To continue our editing example, make some changes in the spreadsheet that we just exported. For
example, as in the Reviewing Part Properties (p. 33)tutorial, we can make changes to the part shape
by modifying the Corner Shape and Corner Radius values. Once the necessary adjustments have been
made, the modified Parts List can be re-imported. Right-click the Parts List in the Project Tree and select
Import Parts List from the pop-up menu. At that point, a file dialog will appear, allowing you to locate
and select the file to be imported. For convenience, the last imported/exported file will be used as the
default, but you are free to select any file on your system.

Import Options
After selecting the file, the Import Parts List dialog will appear (shown below), allowing you to specify
how Sherlock should process the data, with the following options supported:

• Replace Parts List By File Contents

• Add New Parts and Update Existing Parts

• Add New Parts Only

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
616 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing the Parts List

Use the first option if you wish to delete the current Parts List and use the imported spreadsheet
data instead. The second option will update existing parts and add new parts from the spreadsheet
that do not exist in the Parts List. If you just want to add missing parts, use the third option.

Column Mappings
Next you will need to verify the column mapping for each file/sheet that is imported. Sherlock scans
each file in an attempt to determine the number of header rows and the column names. Such guesses
are usually right, but you should check them anyway by viewing the CSV file in the content panel or
Excel.

In addition to guessing the column names, Sherlock also attempts to guess which columns should
be mapped to Sherlock part properties. In this tutorial, the spreadsheet file uses some standard column
names, so Sherlock successfully guessed how to map all the columns. In real-world examples, lots of
different and unusual column names are used, so you may have to select the desired mapping
yourself.

When you have the column mappings correct, press the Import Parts List button to import the data.

When the import process is complete, you will see a confirmation dialog.

Addressing Import Errors


In the event that Sherlock cannot process part of the Parts List file, details of the problems will be
shown on the Parts List – Issues tab. To see how Sherlock handles Parts List import problems, let's
import the External Parts [Link] file located in the tutorial/Parts List sub-folder of the Sherlock
Installation Directory (usually c:/Program Files /ANSYS Inc/ v211/sherlock).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 617
Parts List Management

In this example, Sherlock can correctly guess column mappings for the required Part Description
and some other optional properties, but not for the required Ref Des or Part Type properties. So,
let's take a stab at it ourselves and assign the Number column to the Ref Des property and the Type
column to the Part Type property.

Note:

Actually, we ought to look at the data in the file before assigning column mappings, but
let's see how Sherlock handles our mistake.

When the Import Parts List button is pressed, the import process will generate a list of errors that
can be viewed by right-clicking the Parts List entry in the Project Tree and selecting Show Error
from the pop-up menu. As shown below, Sherlock attempts to use the Number column values as
reference designators, but since they are not in the proper format, it generates an error for each row
processed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
618 of ANSYS, Inc. and its subsidiaries and affiliates.
Importing the Parts List

By examining the spreadsheet contents, we can determine that the Ref Des property should actually
map to ID column and that the Type column should indeed be mapped to the Part Type property.
So, let's import the file again and map the ID column to the Ref Des property. This time Sherlock
successfully imports the data from the file (in that it didn't generate any error messages), but we still
need to confirm that all the data is correct. By examining the Parts List content panel:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 619
Parts List Management

...we see that the Ref Des, Part Type, Packaging and Location information is correct for each of the
imported parts, but that no Part Number data is defined. By examining the spreadsheet again, we
see that the Number column contains the required data, but it wasn't imported. So, let's import the
file one last time, this time mapping the Number column to the Part Number property. Finally, we
see that all the desired data has been imported.

Note:

Whenever part data is imported using the Import Parts List feature you will need to re-
confirm the part properties after reviewing their correctness.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
620 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 43: Part Wizard
The part libraries provided by ANSYS Sherlock consist of individual part records gathered over time
from a variety of sources, including the Parts List, manual data entry and perhaps even the automated
import of external database data. As individual records, they can be updated and customized over time
to suit your specific needs. However, there are literally millions of parts for which key properties (for
example, part type, package type, manufacturer, etc) can be determined simply by recognizing and
parsing the manufacturer's part number. For example, the part number 08055A101JAT2A encodes
information about the part in the part number itself and additional information that can be gathered
from data sheets based on elements of the part number. Some of the information that can be obtained
from this part number includes:

Table 43.1: Part Information for 08055A101JAT2A

Property Value
Manufacturer AVX / KYOCERA
Chip Size “0805”
Dielectric “C0G”
Capacitance 1e-4 pF
Tolerance +/- 5%
Voltage 25V
Marking No Mark

Although the number of encoded properties probably isn't sufficient for all Sherlock analysis needs,
they are definitely a good start and should be captured whenever possible. To facilitate such automatic
property capturing, Sherlock provides a Part Wizard that is integrated with the following part libraries:

• Sherlock Part Library

• User Defined Library

The Part Wizard maintains a collection of PATTERNS that are used to both recognize specific part
number schemes used by various manufacturers (and user organizations) and to extract useful data
from those part numbers.

Chapter Sections:
Part Number Recognition
Viewing Part Wizard Patterns
Editing Part Wizard Patterns
Editing Part Wizard Default Properties
Editing Part Wizard Pattern Fields
Editing Part Wizard Field Codes

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 621
Part Wizard

Managing Part Wizard Patterns


Bulk Pattern Testing
Bulk Test Results
Bulk Pattern Matching

Part Number Recognition


In normal usage, the Part Wizard works behind the scenes to magically create part library entries
whenever possible. Specifically, whenever Sherlock searches any of the supported part libraries (either
because of a manual search request or to update the Parts List, for example) it first looks for an existing
library entry that matches the given manufacturer and part number. If an entry is found, then that entry
is used without further processing. If, however, no part was found and an exact part number match
was requested, then the Part Wizard will be invoked automatically to examine the part number. If the
Part Wizard recognizes the part number, then it will automatically extract whatever data is available
(more on that later), create a new part record in the part library and return a reference to that part record
as the search result.

To see the Part Wizard in action, select Parts > Part Library from the Sherlock Main Menu, enter the
following search criteria:

Manufacturer: ALL
Part Number: 08055A101JAT2A
Criteria: Exact Match

And press the List Parts button. Since no such record currently exists in the part library, the Part Wizard
will be invoked automatically to recognize the part number and extract the data, generating a single
search result.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
622 of ANSYS, Inc. and its subsidiaries and affiliates.
Part Number Recognition

The Part Wizard automatically determined the Manufacturer and Part Type and created a description
that contains various other part properties.

If you double-click on the search result to display all of the part properties, you'll see that the Part
Wizard also determined many of the package properties associated with the part.

Since the Part Wizard automatically creates a new record for the part, you can edit the part properties
at any time to fill out more properties or customize the part to your needs (such as changing the de-
scription). Moreover, since a part record has been created it will be returned for all subsequent searches
involving the associated part number.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 623
Part Wizard

Note:

Part Wizard patterns are maintained in the Sherlock User Folder, allowing each user to have
their own set of patterns if desired. The standard patterns defined by ANSYS, Inc. and all
custom-defined patterns are used when accessing a Part Library.

Note:

For consistency, the Sherlock Server makes use of only the standard patterns defined by
ANSYS, Inc. when users access the Global Part Library.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
624 of ANSYS, Inc. and its subsidiaries and affiliates.
Viewing Part Wizard Patterns

Viewing Part Wizard Patterns


The Part Wizard uses a collection of PATTERNS to recognize part number schemes and to extract
available data from the part number itself. Sherlock provides a default set of patterns that are loaded
automatically the first time that Sherlock is executed after being installed and/or upgraded. You are
free to add, modify or delete patterns to suit your specific requirements. You may also export/import
one or more patterns to/from a ZIP file, share them with other Sherlock users and/or archive them
outside of Sherlock for safe-keeping or configuration control purposes. The Part Wizard is designed to
be an extensible repository that can be used across your entire organization.

To view all the patterns currently defined for your Part Wizard, select Parts > Part Wizard Patterns
from the Sherlock main menu and press the List Patterns button.

When the Part Number field is empty, the List Patterns button lists all patterns currently defined. If a
part number is specified, then the List Patterns button will display all patterns that match the given
part number.

Note:

In general, patterns should be designed so that only one pattern matches a given part
number. In some cases, however, manufacturer and/or organizational numbering schemes
may return multiple matching patterns for the same part number.

As with other search results, you may enter values in one or more of the filter fields to show only those
patterns matching the filter conditions.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 625
Part Wizard

Editing Part Wizard Patterns


You may edit the properties associated with a given pattern by either double-clicking the entry in the
Patterns list or right clicking the pattern list entry and selecting Edit Selected Pattern from the pop-
up menu.

The Part Wizard Pattern dialog shows the unique Pattern ID assigned to the pattern, as well as the
Manufacturer associated with the pattern. A description field is provided for configuration management
purposes and is not otherwise used by Sherlock.

Each pattern consists of one or more Pattern Matching Fields that indicate the type (format) and
length of the data values encoded in the part number. You may add and re-order the fields using the
buttons below the field list. You may also edit, delete and re-order a specific field by right-clicking the
field in the list and selecting the appropriate pop-up menu item.

The list of properties shown on the right-side of the dialog define the default part properties associated
with any part number that matches this pattern. That is, when the Part Wizard creates a part record
for a part number that matches the current pattern, all the properties listed on the right will be used
as the default part properties. Specific part properties extracted by any of the fields (more on this shortly)
will be used to append the default property values.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
626 of ANSYS, Inc. and its subsidiaries and affiliates.
Editing Part Wizard Patterns

Note:

The partType property MUST be defined by ALL patterns. Usually, the partType value is the
same for all parts matched by the pattern and is specified as a default property value. How-
ever, the partType value can also be defined based on one of the pattern fields if required.

The Pattern Test form at the bottom of the dialog provides a convenient method for testing the pattern
definition as it is being created or modified. To use it, simply enter a test string in the Part Number
field and press the Test Pattern button. If the pattern matches the test string, all the property values
extracted from the test string will be listed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 627
Part Wizard

Editing Part Wizard Default Properties


Each Part Wizard pattern may also define a list of part properties to receive hard-coded values. In the
above example, the package mount, part description, and part type are assigned. As previously noted,
since the part description is assigned as a default part property and assigned to many of the fields in
the wizard pattern, the final part description will be the concatenation of the default value plus all the
defined fields that assign a value to this field.

In addition to assigning hard-coded values, part properties can be assigned values based on simple
mathematical expressions and string Boolean expressions. A hypothetical example expression may
define the part property leadHeight as shown below. To define an expression instead of a hard-coded
value, simply start the value of the part property with an equal sign followed by the expression.

Variables may be the names of any valid part property names or may reference any of the Field ID
names for the pattern itself. When referencing Field ID names, if the name contains spaces, the variable
name is the same as that ID without the spaces. For example, a field ID value of Distance To PCB would
be referenced in an expression as DistanceToPCB. See the examples below.

When expressions are encountered by the Wizard matching engine, they are evaluated last so that all
assigned part properties are in place in order, to compute the expression.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
628 of ANSYS, Inc. and its subsidiaries and affiliates.
Editing Part Wizard Default Properties

Expressions are evaluated using the precedence rules found in Java. Parentheses can be used to control
the order of precedence. Conditional expressions can be nested with parentheses.

Supported Operators
The following is the list of supported operators that may be used to define part property values:

Table 43.2: Parts Wizard- Supported Operators

Basic Arithmetic Operators Description


+ Addition: 2+2
- Subtraction: 5-3
* Multiplication: 2*2
/ Division: 9/3
% Remainder: 10%3
abs Absolute value: abs -23
pow Power: 8 pow 2
int Round to integer: int 8.4
sqrt Square root of number: sqrt 81
Conditional Expressions
Condition ? If-true : if false Ternary: x > y ? x : y
Comparison Operators for Conditional Expressions
< Less than
<= Less than or equals
== Equals
> Greater than
>= Greater than or equals
!= Not equals
<> Not equals
Boolean Operators for Conditional Expressions
&& And: x > y && x != 4 ? x : y
|| Or: x <= y || x == 4 ? y : x
String Operators for Conditional Expressions
equals, equalsIgnoreCase [Link](“abc”) ? 1 : 2
notEquals, notEqualsIgnoreCase [Link](“abc”) ? 1 : 2
contains, containsIgnoreCase [Link](“xyz”) ? 1 : 2
notContains, notContainsIgnoreCase [Link](“xyz”) ? 1 : 2

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 629
Part Wizard

Editing Part Wizard Pattern Fields


To edit a specific pattern matching field, double-click the field listed in the Part Wizard Pattern dialog
to display the Edit Part Wizard Field dialog.

In the example below, we see that the Tolerance field is defined as a CODE field, which must consist
of one of the codes listed in the Codes tab. If one of the codes is found in the part number at the loc-
ation associated with this field (as determined by the lengths of the previous fields), then this field will
be deemed a match and the value associated with that code will be extracted to zero or more part
properties defined in the Properties tab. In this case, the partDescription property is assigned to this
field, so the extracted value will be appended to the part's description property.

If the same part property is assigned to more than one field, then the value extracted for each field will
be appended to that part property, separated by commas.

The Pattern, Min Length and Max Length fields are enabled depending on the type of field being defined
(more on that shortly).

The Units field allows you to specify a string to be appended to the extracted value, usually to indicate
the units associated with the field value.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
630 of ANSYS, Inc. and its subsidiaries and affiliates.
Editing Part Wizard Pattern Fields

The Mode field indicates whether this field MUST be found in the Part Number (that is, it's required)
or MAY be found in the Part Number (that is, it's optional).

Note:

Unfortunately, manufacturers don't always document which fields are optional and part
numbers don't always contain all the required fields, so you may have to create alternate
patterns to properly recognize variations encountered with real-world part numbers.

The following types of pattern matching fields are supported by the Part Wizard:

Table 43.3: Supported Pattern Matching Fields

Field Type Description


ALPHA Field contains a sequence of alphabetic characters (a-z, A-Z) with a specified
minimum and maximum length
ALPHANUMERICField contains a sequence of alpha-numeric characters (a-z, A-Z, 0-9) with
a specified minimum and maximum length
CODE Field contains one of the codes listed in the Codes tab
EXP3 Field contains a 3-digit exponential value consisting of 2 significant digits
followed by the number of zeros (for example, 103 = 10e3) or two digits
separated by an alphabetic character (for example, 3V3 = 3.3). When the
character is a K, the value is multiplied by 1,000. When the character is a
M, the value is multiplied by 1,000,000. By default the alphabetic character
can be any letter, but can also be defined as a specific character in the
Delimiter field.
EXP Field contains a 3 or more-digit exponential value consisting of 2 or more
significant digits followed by the number of zeros or some number of
digits with an alphabetic decimal separator. The alphabetic decimal
separator may appear anywhere in the sequence whereas the EXP3 version
requires the separator to be immediately before the final single decimal
digit (for example, 3R14 = 3.14). When the character is a K, the value is
multiplied by 1,000. When the character is a M, the value is multiplied by
1,000,000. By default the alphabetic character can be any letter, but can
also be defined as a specific character in the Delimiter field.
SCALED Numeric value that ends with a K or an M character which forces the value
to be multiplied by 1,000 or 1,000,000.
NUMERIC Field contains a sequence of digits with a specified minimum and maximum
length
REGEX Field contains a sequence of characters defined by the Java regular
expression defined in the Pattern field.
IPC_TPAD Used by IPC-7351B to indicate a value which includes both the pin quantity
and the existence of a thermal pad. When odd values are found, a value
of one is subtracted from the value indicated. (e.g. 29 = 28, 14=14)
DECIMAL1 Used to indicate a numeric value one place past the decimal point,
including trailing zeros. (e.g. 32 = 3.2)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 631
Part Wizard

DECIMAL2 Used to indicate a numeric value two places past the decimal point,
including trailing zeros. (e.g. 200 = 2.00, 52 = 0.52)

Note:

After saving changes to any pattern matching field you should always re-test the pattern
using the Test Pattern form provided in the pattern edit dialog.

Editing Part Wizard Field Codes


A code field type is a list of codes which is compared to the provided part number then used to assign
part properties depending on the value of the code. If no part properties are associated to a code, then
the field is simply used for pattern matching to help identify a part number. If part properties are asso-
ciated to a code, then for each code defined a list of values for each of the part properties can be spe-
cified.

To edit the properties associated to a Part Wizard field, click the Properties tab. Part properties can
be added by clicking the Add Property button. Part properties can be edited by double-clicking on
the given row in the table, or right clicking the row and selecting Edit Property. To delete a row, right-
click the row, then select Delete Property.

The first part property added to a code will automatically be associated to the default values previously
defined for the list of codes in the field. When deleting the final property from a code, the values of
that final part property will become the default values for the code.

To assign or edit any of the part properties assigned to a code, select the Codes tab of the Part Wizard
field. Then double-click or right-click the row and select Edit Code to modify the part property values
assigned to the code. Additionally, you may edit existing values in this table directly.

Multi-cell cut and paste also works from this table, allowing codes to be edited in an external program
and copied from the clipboard. To copy the current code table to the clipboard, select all rows and
columns desired, then press Ctrl-C or right-click on the table and select Copy from the menu. To paste
values back to the table, select the first row and column to receive the data, and press Ctrl-V or right-
click the table and select Paste from the menu. If the data you paste has more columns than are what
defined, they will be ignored. Additional rows, however, will be added.

Once you are finished, press the Save button to make the changes permanent.

The Bulk Add Codes button on the Part Wizard Field dialog allows a user to more quickly add a large
set of codes instead of using the Add Code dialog for each code. In the dialog, enter each code and

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
632 of ANSYS, Inc. and its subsidiaries and affiliates.
Managing Part Wizard Patterns

code values in the text area separated by the value delimiter and each code separated by the item
delimiter. When part properties are defined for a code, select the part property to receive the defined
code value. If multiple part properties are defined and they need to be assigned values, each code
needs to be manually edited as indicated above and the part property assigned.

Managing Part Wizard Patterns

Adding / Copying a Part Wizard Pattern


A new pattern can be added by pressing the Add Pattern ... button displayed in the Matching Cri-
teria section of the Part Wizard dialog. At that point, the edit pattern dialog will be displayed with
empty fields. At a minimum you must enter a new, unique Pattern ID, a Manufacturer name and at
least one pattern matching field to save the new pattern.

You can also create a copy of a pattern by right-clicking a pattern list entry in the Patterns list and
selecting Copy Selected Pattern from the pop-up menu. At that point, the edit pattern dialog will
be displayed with the same properties defined for the pattern being copied. At a minimum you must
enter a new, unique Pattern ID to save the new pattern.

Deleting Part Wizard Patterns


You may delete one or more patterns by selecting them in the Patterns list, right-clicking any hi-
lighted item and selecting Delete Selected Patterns from the pop-up menu. A confirmation dialog
will appear asking you to confirm deletion of the selected patterns.

Exporting Part Wizard Patterns


One or more patterns can be exported by selecting them in the Patterns list, right-clicking any
hilighted item and selecting Export Selected Patterns from the pop-up menu. At that point, an export
dialog will appear allowing you to specify the file to be exported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 633
Part Wizard

You may export the pattern definitions to a single XML file or to a ZIP file containing individual XML
files. In either case, the exported patterns can be emailed to another Sherlock user, archived in the
file system for safe-keeping or maintained in a configuration management system.

Importing Part Wizard Patterns


One or more patterns can be imported from a ZIP file or a directory by pressing the Import Patterns
button displayed in the Matching Criteria section of the Part Wizard dialog. At that point, an import
dialog will appear allowing you to select the file to be imported.

You may import pattern definitions from a single XML file or from a ZIP file containing individual XML
files.

After the import file has been selected, you will be prompted to select the desired processing options.

In normal operations, the options shown here should suffice to add new patterns and update any
default patterns defined by Sherlock. If you have previously edited patterns (that is, User-Defined
Patterns) and you want to update those patterns as well using the import file, then you should enable
the last processing option. If you want to completely replace all patterns with those in the import
file, then you should select the first processing option.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
634 of ANSYS, Inc. and its subsidiaries and affiliates.
Bulk Pattern Testing

Bulk Pattern Testing


The Bulk Testing feature allows you to maintain a collection of part numbers and associated part
properties in one or more spreadsheet files and then test all Part Wizard Patterns against those part
numbers. To use the bulk test feature, simply press the Bulk Test button in the Part Wizard Dialog to
display the following dialog:

The Test File field is used to designate the location and name of the spreadsheet file containing the
part numbers to be tested, with the following spreadsheet file formats supported:

• Excel 97/2000/XP (*.xls)

• Excel XML (*.xlsx)

• Comma Separated Value (*.csv)

Excel spreadsheet files may include multiple spreadsheets. In that case, the Test Sheet selection list is
used to designate the sheet to be processed. Whenever the Test File field is changed, Sherlock will
open the file and update the Test Sheet list with the list of spreadsheets found. For CSV files, only a
single spreadsheet exists in the file and the Test Sheet list will be empty.

The Header Rows field is used to designate the number of rows to be skipped at the top of the
spreadsheet before finding the row that specifies the column names. Sherlock attempts to guess the

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 635
Part Wizard

number of header rows whenever the Test Sheet selection is made, but you may need to enter the
value manually for unusually formatted spreadsheets.

The spreadsheet used to store the part numbers and associated part properties must be defined as
follows to be used properly by the Bulk Test feature:

• The first row of data (after the header rows have been skipped) must contain column names consisting
of valid Part Property identifiers, which should correspond to the part properties generated by the
patterns being tested. For a complete list of part property identifiers, select Help > Part Properties
from the Sherlock main menu.

• The special column name PartNumber (case-sensitive) must be defined in the spreadsheet to indicate
the column containing the part numbers to be tested.

• The remaining columns should contain the part property values expected to be generated by a Part
Wizard pattern. If a part property is not expected for a given part number, the cell value should be
empty.

For example, here's an excerpt from the top of a spreadsheet containing AVX part numbers:

The AVX pattern should generate seven part properties for each of the part numbers listed. Since
spreadsheet cells may contain either text or numeric data, Sherlock automatically attempts to compare
values numerically if possible. This eliminates nuisance differences, like numbers formatted as decimal
values in the spreadsheet, but as exponential numbers by the pattern.

Note:

It is best to store all cell values as TEXT values in the spreadsheet to avoid confusion when
cutting and pasting values from the Part Wizard editor.

Bulk Test Results


When the Run Test button is pressed, Sherlock will process all part numbers found in the designated
spreadsheet. For each part number, all matching patterns will be executed, and the part properties
generated by each pattern will be compared to those defined in the spreadsheet. If part property values
differ or no pattern is found that matches the part number, an error will be displayed in the Test Results
table.

Each row in the table shows the pattern that matched the part number (if any), the property generated
by the pattern and type of problem detected. You can clear individual rows in the Test Results table
by selecting one or more rows, right-clicking one of the selected rows and selecting Clear Result(s)
from the pop-up menu. This allows the Test Results table to be used as a to-do list when fixing patterns
and/or test files. Press the Clear Results button at the top of the dialog to clear the entire Test Results
table.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
636 of ANSYS, Inc. and its subsidiaries and affiliates.
Bulk Pattern Matching

Bulk Pattern Matching


The Bulk Test feature can also be used to perform simple pattern matching tests to determine if part
numbers are being matched properly by specific patterns. Pattern matching tests are automatically
performed if the following three columns are defined in each test spreadsheet:

• PartNumber

• Pattern

• Match

The PartNumber and Pattern columns should contain a list of part numbers and patterns to be tested.
If the corresponding value in the Match column is yes, then the specified pattern should match the
specified part number. Otherwise, the pattern should not match the specified part number. For each
part number, Sherlock will determine if the pattern matches the part number and will compare that
result to the expected result specified by the Match column. Any inconsistencies will be noted in the
Test Results table.

Note:

All other columns defined in the spreadsheet will be ignored when the Pattern and Match
columns are defined.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 637
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
638 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 44: Project Management
ANSYS Sherlock can be used in two different modes: Multi-Project and Single-Project Mode. In Multi-
Project Mode, Sherlock displays all the projects stored in the Sherlock User Data Folder in the Project
Navigation Tree, allowing users to manage one or more projects in the same application. In Single-
Project Mode, Sherlock displays only a single project in the Project Navigation Tree, but that project
can be stored anywhere in the file system. This document describes how each of these modes can be
used to manage Sherlock projects.

Chapter Sections:
Multi-Project Mode
Single-Project Mode
Exporting Projects
Changing Project Directory

Multi-Project Mode
Multi-Project Mode is the default mode used when Sherlock is executed by selecting Sherlock from
within the ANSYS Software folder from the Windows Start Menu. When operating in Multi-Project
Mode, Sherlock allows you to manage all projects located in the projects sub-folder of the Sherlock
User Data Folder: c:\Users\USERID\AppData\Roaming\Sherlock where USERID is your Windows user
ID.

Closing Projects
Projects can be opened or closed when operating in Multi-Project Mode. When a project is opened,
Sherlock loads all the information needed to display the Project Tree entries for that project, as well
as project-specific data stores, such as the Parts List and Stackup data. Furthermore, as project data
is examined, Sherlock may retain additional data in memory, such as recently viewed 2D layers. Over
time, the amount of memory used by a project increases and if multiple projects are open, and each
project contains multiple circuit cards, the amount of memory consumed may be quite large.

To help reduce memory usage and trim down visual clutter in the Project Navigation Tree, you
should close projects when not currently being used. This is done simply by right-clicking the project
node in the navigation tree and selecting Close Project from the pop-up menu. At that point, Sherlock
will release all memory used by the project and will display only the project node in the navigation
tree. You can re-open a closed project by right-clicking the project node and selecting Open Project
from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 639
Project Management

Single-Project Mode
Single-Project Mode provides an alternative way to launch the Sherlock application. Single-Project Mode
allows users to store the project folders anywhere in the file system and manage them with standard
file system tools such as Windows Explorer. Existing projects in the Projects folder of the Sherlock User
Data Folder can be copied or exported to other locations and opened individually when using Sherlock
in Single-Project Mode. Single-Project Mode not only reduces the visual clutter in the Project Navig-
ation Tree (because only a single project is displayed), but it also allows you to do side-by-side com-
parisons of two projects by launching two instances of Sherlock. Single-Project Mode is the default
mode used when Sherlock is executed by double-clicking the Sherlock Single Project desktop icon or
by selecting Sherlock Single Project from the Windows Start Menu.

Launching Sherlock
All Sherlock project folders contain a project link file named [Link]-project. The project link file doesn't
contain any data, it serves solely to identify a Sherlock project folder and provide a mechanism for
easily launching Sherlock in Single-Project Mode.

Note:

A project link file will be automatically created by Sherlock whenever it opens a project
folder created by an older version of Sherlock.

For convenience, Sherlock can be launched in Single-Project Mode using any of the following
methods:

• Double-click a project link file.

• Drag a project link file onto the Sherlock desktop shortcut icon.

• Drag a project folder onto the Sherlock desktop shortcut icon.

• Use the desktop shortcut Sherlock Single Project.

• Use the Windows Start Menu item Sherlock Single Project, or

• Create one or more custom desktop shortcuts to open specific projects.

The first five launch methods are self-explanatory and will not be discussed further. The last launch
methods involve the creation or modification of Windows desktop shortcuts.

Creating a Custom Project Shortcut


The easiest way to create a custom desktop shortcut for a specific project is to copy the standard
Sherlock desktop shortcut and modify the Target entry to indicate the project to be opened. For
example, create a copy of the Sherlock shortcut on the desktop, right-click the new shortcut and
select Properties from the pop-up menu. Select the General tab and edit the shortcut name to
indicate the project being opened (for example, My Project). Then, select the Shortcut tab and
append the full path of the project folder to the Target entry. For example, if the project folder is
located at:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
640 of ANSYS, Inc. and its subsidiaries and affiliates.
Single-Project Mode

"C:\test\My Project"

then you should modify the Target entry to be:

"C:\Program Files\ANSYS Inc\v211\sherlock\[Link]" "C:\test\My Project"

Press the Apply or OK button to save the changes and then double-click the icon to launch Sherlock
in Single-Project Mode, automatically loading the designated project.

Project Menu
When operating Sherlock in Single-Project Mode, the Project Menu behaves differently than when
used in Multi-Project Mode. Specifically, if a project is currently open, then all menu options that
can be used to load a project (that is, Open Project, Create Project, Import Project, for example)
are disabled. In that case, you will only be allowed to export or close the project from the Project
Menu. If you close the project, using the Project > Close Project menu option, then all memory will
be released, the project navigation tree will be cleared, and the menu options associated with loading
a project will be enabled.

To open an existing project folder, select Project > Open Project.

The dialog that appears allows you to browse the file system to locate the project folder to be opened.
Once the project folder is selected, click Open Project to load the project into Sherlock. As a conveni-
ence, the Open Project dialog remembers the last project folder location designated so that you can
quickly return to your collection of projects, wherever they may be in the file system.

When creating a new project or importing a project using Single-Project Mode, the location of the
project directory for the new or imported project is specified in a similar manner. For example, to
import the Tutorial project provided in the Sherlock Installation Folder, select Project > Import Project

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 641
Project Management

from the Main Menu. You may also specify a Project Category which is used to help organize projects
by category in the new open project screen.

In this case, the import dialog contains two Browse buttons. The first is used to locate the ZIP file to
be imported and the other is used to indicate where the project folder should be created. In the ex-
ample shown above, the Lesson Tutorial project folder will be created on the desktop by importing
the contents of the Tutorial [Link] project archive located in the tutorial sub-folder of the
ANSYS Installation Folder.

Opening, Importing, and Library Loading


When opening or importing a project in Single-Project Mode, libraries (such as material, laminate,
or solder libraries) that were included with a prior export will automatically be loaded if they are
also associated with the new project.

Recent Projects Menu


In Single-Project Mode, the Project Menu contains a menu item named Recent Projects. Any
recently opened projects appear in this menu as a convenient shortcut to open those projects. This
menu item contains up to ten recent projects. The reset this list, select the Clear History menu
item.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
642 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting Projects

Exporting Projects
Regardless of the operating mode used, you can export a project at any time by selecting the Project
> Export Project menu option from the Main Menu. At that point, the Export Project dialog will appear,
as shown here, allowing you to indicate the data to be exported and the desired export file location.

The overall size of the resulting export file depends on the data selections made. The smallest export
file comes from saving only the design files, which includes the internal data stores, like the Parts List
and Stackup data. Such an archive could be used to share the project with another Sherlock user,
without providing them with specific test results.

Result files and archived result files could result in a large export file, depending on the number and
types of tests performed. If you want to exchange results with another user, it is usually best to send
them a single archived result file (.dfr-result suffix) instead of an exported project file. That way, they
can use the Sherlock Result Viewer to view the results and all of the input data at the time the results
were generated, without providing them with all of the design files as well.

The last three items are provided for trouble-shooting purposes and should only be checked when re-
quested by an ANSYS Technical Support representative.

Exporting Locked IP Model Projects


Sherlock allows projects to be exported which remove details from being viewed about the circuit
card design. These include parts lists, stackup, and board layout. Additionally any 3D models and
results are also not included when exporting a locked project. When a locked IP model project is
imported into Sherlock users are restricted to only to modifying and viewing the Life Cycle and
running analysis tasks.

To export a locked IP model project, select the Export Locked IP Model option from the main Sherlock
Project Menu. Provide a location for a ZIP file to export the project to, then click the Export Project
button. Once the locked IP model project is exported it may be imported to another Sherlock applic-
ation running version 6.1 or later.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 643
Project Management

Changing Project Directory


To view your default project directory, select Settings > General Settings from the Sherlock Main
Menu and view the Advanced side tab. Under Project, you can view your Default Project Directory
or Browse to a new directory.

For new users, the Default Project Directory will be:

<home>\Documents\Sherlock\projects

For users who are upgrading from a pervious version of Sherlock, you may see the message in red below.

To change the default project directory, click the Browse button and select the intended location.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
644 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 45: Plated Through Hole (PTH) Fatigue
Analysis
Plated Through Holes (PTHs), also known as plated through vias (PTVs), are holes drilled through mul-
tilayer printed circuit boards (PCBs) that are electrochemically plated with a conductive metal (typically
copper). These plated holes provide electrical connections between layers. Because these plated holes
are metallurgically bonded to annular rings on the top and bottom of the printed circuit board, they
act like rivets and constrain the PCB. This constraint subjects the PTH to stresses when the PCB experi-
ences changes in temperature. Over time the PTH will experience fatigue and eventually fail due to
crack propagation. PTH Fatigue is influenced by number of drivers, including temperature range, PTH
diameter, PTH copper plating thickness, copper plating material properties, printed board thickness,
printed board out-of-plane material properties, and quality of the copper plating. ANSYS Sherlock cal-
culates a time to failure using the industry-accepted model published in IPC-TR-579, Round Robin Reli-
ability Evaluation of Small Diameter Plated-Through Holes in Printed Wiring Boards. Life calculation for
PTHs subjected to thermal cycling is a three step process, involving a stress calculation, strain range
calculation, and an iterative lifetime determination.

Chapter Sections:
Input Data
Analysis Properties
Analysis Results

Input Data
The PTH Fatigue Analysis Module makes use of the following input data for the analysis calculations:

• Life Cycle Reliability Goals

• Size and location of all plated through-holes and vias

• Circuit Card mechanical properties (stackup data)

• Thermal Events and associated Thermal Maps

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 645
Plated Through Hole (PTH) Fatigue Analysis

Analysis Properties
The PTH Fatigue Analysis Module allows the user to set the properties shown here:

The IST / HATS Qualification property indicates the type of qualification process performed for the
circuit card during production.

The PTH Quality Factor property indicates the overall quality of the plated through hole.

The PTH Failure Model selects the failure model to use. The Default (IPC-TR-579) model is the default
failure model. Additional models may also be present.

The PTH Wall Thickness property specifies the average thickness of the conductive material used to
coat the PTH.

The Min Hole Size and Max Hole Size specify the range of hole sizes to be analyzed.

The Thermal Events panel allows the specific thermal events to be selected for the analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
646 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Analysis Results
The PTH Fatigue Analysis Module generates the following results:

• Summary Panel showing overall scores, reliability goals, board properties, hole properties, and ana-
lysis statistics

• Life Prediction Curve for the circuit card based on the Cycles to Failure predicted for all holes analyzed

• Score Distribution Chart showing a histogram of scores for all holes analyzed

• Result Table showing key properties, Cycles to Failure and score for each hole analyzed

• Graphical Layers showing the score for each hole analyzed

To see how the various input data and properties affect the PTH Fatigue Results, let's run a couple of
tests with various inputs. We'll start by examining the results provided by the Tutorial Project. If you
haven't already done so, import that project now.

Note:

If you've modified data during the tutorials, it's likely that the PTH Fatigue Results have
been cleared in your project or are different from those shown in this document. If so, the
easiest way to clean things up is to delete the existing Tutorial Project and import it again
from the ZIP file provided.

We’ll start by setting the PTH Fatigue properties as shown below. Afterwards, select Save & Run to
commit the changes and run the analysis.

Afterwards, select Save & Run to commit the changes and run the analysis. Double-click the PTH Fatigue
entry of the Analysis folder in the Project Tree to display the PTH Fatigue Results. Select the Table sub-
tab to show the analysis results for all plated through holes analyzed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 647
Plated Through Hole (PTH) Fatigue Analysis

Now, double-click the PTH Fatigue entry of the Analysis folder in the Project Tree to display the PTH
Fatigue Results. Select the Table sub-tab to show the analysis results for all plated through holes
analyzed.

As is clear by the color-coding and data columns, all holes are predicted to fail within 22.4 to 47 years,
which represents a safety factor between 3 or 5 more times the desired service life.

To see how the calculations are affected by the input properties, right-click the PTH Fatigue entry in
the Project Tree and select the Edit Properties menu option to edit the input properties.

Let's change the PTH Quality Factor to Superior. After changing the property, press the Save & Run
button to commit the changes and re-run the analysis.

While the analysis is being performed, the icon next to the PTH Fatigue entry will be changed to a
clock indicating that a background process is being performed. When the analysis process is complete,
the icon will change back to a GREEN check mark, at which point the PTH Fatigue Results panel will
be refreshed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
648 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Instead of looking at the tabular results, let's look at the Failure Distribution chart to see how the
changes affected the predicted results.

The Failure Distribution Chart is a histogram showing the various Time to Failure values predicted
for all the holes analyzed. The X-axis shows the Time to Failure values, while the Y-axis shows the
number of holes that are predicted to have a given TTF value. The chart allows you to easily see that
our input property change has significantly changed the predicted results. Previously, the minimum
TTF was 22.4 years, now the TTF is >50 years.

Now, let's see how the Thermal Events defined in the Life Cycle affect the PTH Fatigue Results. You
may recall from our previous lesson that two Thermal Events are defined in the Life Cycle used by
the Tutorial Project. The Temp Cycle event models the daily ambient temperate cycle, oscillating
between 10C and 32C over a 24 hour period, every day of the year. On the other hand, the Thermal
Shock event models a drastic temperature change from -40C to 105C over a short period of time, oc-
curring 3 times per day. Essentially, the Temp Cycle event is a relatively mild event that occurs over a
long period of time, while the Thermal Shock event is a relatively severe event that occurs over a short
period of time.

In both cases, the Thermal Events themselves define uniform temperate changes across the entire
circuit card. Furthermore, each of the input properties is also applied to each hole in the same way (for
example, they all have the same PTH Wall Thickness). This uniformity of thermal and input properties
means that that the only differentiation in the analysis results comes from the hole sizes.

We can change the thermal properties seen by each hole by assigning one or more Thermal Maps to
the Thermal Events defined in the Life Cycle. Thermal Maps assign location-specific thermal values
to the circuit card, causing variations in temperate across all the plated through holes. The Tutorial
Project includes a Thermal Map, but until now it has not been assigned to any Thermal Events.

To assign the Thermal Map, right-click the Thermal [Link] entry located in the Files folder of the
Project Tree and select the Edit Properties menu option. Since this file has already been successfully
imported in the past, we know that all the properties, shown below, are correct.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 649
Plated Through Hole (PTH) Fatigue Analysis

Our main focus, therefore, is on the Thermal Profile(s) property, which lists all of the Thermal Events
defined in the project Life Cycle. In this case, we see Min and Max entries for both Thermal Events
discussed above. The property dialog allows us to assign the selected Thermal Map to one or more of
the Thermal Events, representing the minimum or maximum temperatures (or both). Once assigned,
the temperatures defined in the Thermal Map itself will be used for those events, instead of the ambient
values defined in the thermal cycle.

To see how this works, select the profile entry as shown (A, above) and press Save to assign the Thermal
Map to that thermal event.

Since we've effectively changed one of the Thermal Events, all analysis results that depend on thermal
properties will be cleared, including the PTH Fatigue Results. Therefore, you'll need to right-click the
PTH Fatigue entry in the Project Tree and select Edit Properties. Since we have changed the Thermal
Profile to “On The Road/4-Thermal Shock-Max,” we must also toggle the Thermal Event to On "The
Road: 4-Thermal Shock" as shown below:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
650 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Afterwards, click Save &Run to run the analysis and generate the results. Displayed below is the Time
to Failure Graph.

Now if we look at the Failure Distribution, we see most holes are expected to fail during the service
life period.

To get a more detailed view of what happened, select the Table sub-tab to see the analysis details for
each hole analyzed. See image 1 below.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 651
Plated Through Hole (PTH) Fatigue Analysis

You may also overlay the PTH Fatigue Results with the Thermal Map in the Layer Viewer. To that
end, double-click the Thermal [Link] entry in the Project Tree to display the Thermal Map itself in
the Layer Viewer. Then, double-click the PTH Fatigue folder in the Layer Viewer to overlay the PTH
Fatigue results. Finally, double-click the Drill Holes entry to display holes that weren't analyzed. You
may need to enter 0 in the Hole Filter to view all holes. The resulting display should look something
like image 2.

The Thermal Map defines uniform temperatures for a small number of circuit card components. The
color coding shows the relative temperature of each component, from cool blue to hot red.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
652 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Note:

If you hover the mouse over any of the colored regions, the associated temperature will be
displayed in the upper left corner of the layer panel. That provides a convenient way to
verify data and analyze results involving thermal properties.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 653
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
654 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 46: Reporting and Data Export
In addition to the large amount of data maintained for circuit cards, ANSYS Sherlock generates a large
amount of data when analysis tasks are executed. In most cases, Sherlock summarizes such data in
graphical form to help users determine the real sources of problems. But, given the extensive nature
of the analysis performed, even the summary graphics can be overwhelming. More importantly, analysis
results might be used for subsequent analysis or reporting tasks performed outside of Sherlock. For
these reasons, Sherlock has features designed to allow users to export data in various formats including:

• Printable report files (PDF)

• Graphical chart image files (PNG)

• Tabular data files (CSV)

This document shows how each of these types of files can be exported and integrated with other user
data.

Note:

The examples shown in this document are based on the Sample Project provided as part of
the Sherlock Tutorial package as discussed in the Project Overview (p. 11) lesson.

Chapter Sections:
Generating Report Files
Exporting Graphical Data
Exporting Tabular Data

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 655
Reporting and Data Export

Generating Report Files


The fastest and easiest way to export project data is to generate a report file. Report files are formatted
as PDF documents based on a collection of predefined report objects that can be selectively chosen
by the user. Reports can be generated for an entire project or for each circuit card assembly. Report
objects are defined that can be used to:

• Provide an overview of the analysis tasks performed

• Describe the circuit cards analyzed

• Document the Life Cycle assumptions

• Show graphical results

• List the most important circuit card issues

Sherlock report files are formatted so that they can be used as preliminary, intermediate or final reports,
depending on specific user needs.

To generate a Project Report, right-click the Report entry located in the Results Folder of the Project
Tree and select the Generate CCA Report menu option. After selecting Generate Report, the Report
Properties dialog will appear.

The Report Properties dialog allows you to select the report sections to be included in the report. In
this project report example, the report will include an initial set of explanatory sections that describe

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
656 of ANSYS, Inc. and its subsidiaries and affiliates.
Generating Report Files

the analysis tasks performed by Sherlock, followed by a complete list of the Life Cycle phases and
events defined for this project.

After those project-level sections, the report will include circuit-card level results for each of the circuit
cards defined in the project. Depending on the number of circuit cards contained in the project and
your reporting needs, you can select exactly which CCA data should be included for each circuit card.

When generating a circuit card report instead of a project report, on the Circuit Card Results and Circuit
Card Details will be available for selection and the report will be limited to the given circuit card.
Whereas a project report will provide details for all circuit cards. The Circuit Card Details section found
in the circuit card report will include all the select analysis layers generated for each circuit card.

As shown here, the CCA Thermal Maps are NOT included in the report

Although the section list is very long, it is relatively easy to navigate and select desired sections. The
check box to the left of each entry indicates whether it is included in the report. The only important
thing to remember is that if you deselect an item in the tree, then all items below that item will be
excluded from the report as well, regardless of their individual settings. This allows you to quickly include
or exclude report sections without having to change all the individual settings below that item.

When the Generate Report button is pressed Sherlock will generate a PDF report file containing the
selected sections, based on the current analysis inputs and results. A copy of the report file will be kept
in the Sherlock project or circuit card directory for subsequent viewing but will be automatically cleared
if any Sherlock inputs are changed.

Note:

If you want to maintain a collection of reports that address different topics or that cover
different inputs or analysis results, then you should save of copy of the PDF report to your
own directory and change the file name accordingly. Sherlock only keeps the most recently
generated report for a given project or circuit card.

Customized Reports
By creating their own Report Definition File, advanced users can customize the following report
characteristics:

• Logo image, title, keywords

• Section headers, descriptive text, and formatting

• The order that sections are published

• Define additional sections

This allows users to generate reports bearing the logo of their organization, that include organization-
specific information, and that present data in a user-defined order.

Report Definition Files are formatted as an XML file, containing a collection of predefined tags, as
shown here:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 657
Reporting and Data Export

The easiest way to create a custom Report Definition File is to copy the standard [Link] file for
a project report, or the standard [Link] file for a CCA report, or the standard ResultsRe-
[Link] file for archived results reports, contained in the config sub-directory of the Sherlock install-
ation directory (usually c:\Program Files\ANSYS Inc\v211\sherlock) to the Sherlock User Data
Directory. Whenever Sherlock generates a report, any report definition file located in the Sherlock
User Data Directory will be used instead of the standard report definition file located in the Sherlock
Installation Directory. This allow users to make custom changes to their reports without fear of
causing permanent damage. If the report doesn't turn out the way you like, just remove the local
copy of the report definition file and Sherlock will revert to the standard definition file.

The order in which sections are created within the report are the same as they are defined in the
XML file. When moving a section, be sure to copy the entire section defined by the beginning and
ending XML tags.

Additional report sections for static text may also be included. Create a new unique tag with title
and optional attributes, define the text, then end the section with the appropriate ending tag. Any
section that is defined with an optional value of true will be listed in Report Settings dialog. If a
given section is not optional, it will not be listed in the dialog but will always appear in the created
report.

Example user-defined section:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
658 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting Graphical Data

Each report section supports the following HTML tags to adjust formatting.

• <br/> - adds a newline to the report

• <p/> - begins a new paragraph. Optionally may specify the attribute indent to specify the indent
of the paragraph (example: <p indent="40" />)

• <b>text</b> - displays the text between the tags in bold.

• <i>text</i> - displays the text between the tags in italics.

It is beyond the scope of this lesson to explain how XML files are properly formatted and edited.
Users familiar with maintaining XML documents should have no problem modifying the standard report
XML files for their own needs. Users new to XML formatted files should contact ANSYS Technical
Support for help in creating customized reports.

Exporting Graphical Data


ANSYS Sherlock generates and displays several graphical layers and charts to show circuit card designs
and analysis results. Many of these graphical outputs can be included in the PDF report by selecting
the appropriate section. As a convenience, all graphical data shown in Sherlock can also be exported
as image files with just a few mouse clicks, as we describe in this section.

Exporting Data
Chart data can be exported as a Comma Separated Value (CSV) file, that can be subsequently imported
into any spreadsheet or database application for further review or processing. To do so, simply choose
the Export Data menu option from the chart's right-mouse menu. Here, a file chooser dialog will
appear allowing you to specify the name and location of the export file to be created. By default, the
chart title is used as the file name, but it is easily changed to suit your purposes.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 659
Reporting and Data Export

Changing Plot Properties


In some cases you may want to modify or customize the chart for a specific purposes, such as including
it in a presentation or paper. If so, select the Properties... menu option from the chart's right-mouse
menu to display the Chart Properties dialog.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
660 of ANSYS, Inc. and its subsidiaries and affiliates.
Exporting Graphical Data

The Chart Properties dialog allows you to easily change the chart title, axes titles and axes format.
When combined with the built-in zoom and auto-range features, you can easily create a custom chart
such as the one shown below in which we modified the chart title, X-axis title and the data ranges.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 661
Reporting and Data Export

Exporting Tabular Data


Graphics are very useful for summarizing and analyzing large data sets but there are times when you
need to analyze the results in more detail or use them as input for other analysis tasks performed outside
of Sherlock. To satisfy such needs, Sherlock provides the ability to export data from the following tables
to a CSV file:

• Parts List

• Stackup Data

• Analysis Results

In all cases, the export process begins by right-clicking any row in the table and selecting the corres-
ponding export menu option (such as Export Parts List, Export Stackup Data, Export Table).

At that point, a table export dialog will appear, allowing you to specify the rows and columns to be
exported to the CSV file. In the example below, all the CAF result rows will be exported to the file and
for each row the selected columns will be exported.

The Browse button can be used to specify the name and location of the file to be created or you can
enter that directly in the text field provided. When the Export button is pressed the exported file will
be formatted as a CSV file and stored in the specified folder.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
662 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 47: Results Management
ANSYS Sherlock produces a wealth of results and information regarding circuit card reliability. During
the design life cycle it is usually necessary to catalog and compare results during the process. Sherlock
accommodates this need through two results management displays: the Sherlock Result Viewer and
the Sherlock 3D Viewer. With the Sherlock Result Viewer you can save and manage past reliability
results such as Analysis Results, Parts and Layer information. With the Sherlock 3D Viewer you can
interactively view the 3D models and results generated by Sherlock for ICT and Shock/Vibration Ana-
lysis. This document describes the various features provided by these viewers.

Chapter Sections:
Sherlock Result Viewer
Sherlock 3D Viewer

Sherlock Result Viewer


The Sherlock Result Viewer allows you to view the most recent results generated by Sherlock for a
given CCA, as well as result snapshots saved to the file system. The Sherlock Result Viewer can be
launched using any of the following methods:

• To view the current analysis results from within Sherlock, double-click any entry in the Analysis folder
of the Sherlock Project Tree or right-click an entry and select the View Results menu item.

• To view saved analysis results from within Sherlock, double-click any entry in the Results > Saved
Results folder of the Sherlock Project Tree or right-click an entry and select the Show Results menu
item.

• To view saved analysis results directly from the desktop, locate the saved result file in the file system
(saved either automatically in the Sherlock project directory or in a folder designated using the Save
As menu option discussed below). All analysis result files are assigned the .dfr-result file type which
is automatically registered with Windows and associated with the Sherlock Result Viewer during the
Sherlock installation process. As such, you may simply double-click an analysis result file with that
suffix at any time to launch the Sherlock Result Viewer and automatically open the selected result
file.

• To view saved analysis results in a Sherlock Result Viewer that is already running, you may either
use the Results > Saved Results option in the main project tree to open the saved result file or you

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 663
Results Management

may simply drag-and-drop the file onto the viewer window. In either case, any currently open analysis
results will be automatically closed, and the new analysis results will be displayed.

Note:

Only a single result file may be displayed in the Sherlock Result Viewer at a given time. If
you open another file in the same Result Viewer, the previous results will be automatically
closed and removed from the viewer tabs.

The Results Viewer and Memory Management


If you encounter an error message that the Results Viewer has run out of memory, refer to the fol-
lowing section in Lesson One: Results Viewer and Memory Management (p. 9)

Viewing Current Results


Let's get started by viewing the current analysis results for the Tutorial Main Board. In this case, we'll
double-click the Results > Life Prediction entry in the Project Tree for the Main Board to launch
the Sherlock Result Viewer to display the current results:

As shown here, the Result Viewer consists of a main viewing area that is tabbed to organize the
results. The tabs on the left-hand side indicate the types of results that are available. Some analysis
tabs also display sub-tabs along the bottom of the viewing panel to allow you to see various analysis
details.

When viewing current analysis results, there are only two menu options available in the Result Viewer:
Save Results and Exit. The Exit option closes the Result Viewer window and works the same as
pressing the X icon of the window itself. You can save results by selecting File > Save Results from

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
664 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Result Viewer

the upper left-hand corner of the results dialog. The Save Results option is a convenient way to save
the current results for later review.

Saving Results
If we think the results are worthy of being saved, we can do just that by select CCA > Save Circuit
Card Results from the main menu. At that point, you will be prompted to name the results (which
is used as the file name), with a default name provided based on the CCA name and the date/time.
You are free to use any appropriate name for the saved results.

The option Auto-Save Sub-Assembly Results will also save for each CCA which is a sub-assembly
of the current CCA those results with the name provided.

Note:

In addition to the CCA > Save Results menu option available in the Sherlock Result
Viewer, you can save results directly from Sherlock using the Result > Save Circuit Card
Results menu option in the Sherlock Project Tree. In either case, the same dialog will
appear.

When the Save Analysis Results button is pressed, the results will be stored in the file system in a
directory associated with the CCA and will appear in the Circuit Card's Saved Results folder, as shown
here:

Saved results can be opened with the Result Viewer by either double-clicking the name or by right-
clicking and selecting Show Results.

Renaming / Deleting Results


If you need to rename saved results, you can right-click and select Rename Results. Likewise, to remove
past results, select Delete Results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 665
Results Management

Viewing Saved Results


When the Result Viewer is used to view current results, it displays tabs for the following information:

• Score Card

• Life Prediction

• Analysis Results

Other current information, such as the Life Cycle summary and Parts List, can be viewed and/or edited
using the various data displays/editors provided by Sherlock. When analysis results are saved, all
current CCA data is included in the snapshot to allow users to review both inputs and analysis results
at a later time. Specifically, the following information is stored in addition to the results listed above:

• Life Cycle

• Parts List

• Stackup Data

• Result Layers

• 3D Results (if available)

For example, if we double-click the saved result created above the Sherlock Result Viewer will show
the additional tabs that display the input data used to generate the corresponding analysis results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
666 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock Result Viewer

You are free to review any of the information provided, but you will not be allowed to edit any of
the data values.

Note:

Sherlock opens all current and saved results in separate Result Viewer windows, making
it easy to compare and contrast results.

Exporting Saved Results


The Sherlock Result Viewer provides several ways to export and share results data. As mentioned in
the Project Overview (p. 11) tutorial, Sherlock exports data in various formats such as PDF Reports,
tabular data files, and images. Specifically, the following exports may be performed:

• To generate a PDF Report of the saved CCA results, use the File > Generate Report menu item,
select the desired options and click Generate Report. Once the report has been generated, it can
be viewed again by selecting View Report from the View menu. See the Project Overview (p. 11)
tutorial for more details.

• To export data from any of the tables displayed in the Sherlock Result Viewer (e.g., Parts List,
Stackup, Analysis Results), select one or more rows in the table, right-click any entry and select the
Export menu item. See the Project Overview (p. 11) tutorial for more details.

• By default, analysis results are automatically saved in the Sherlock Project Directory. If you would
like to share the results with another user or save them in another file system location use the File
> Save As menu option in the Sherlock Result Viewer. Simply specify the desired file name and
location to create a copy of the analysis results.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 667
Results Management

Console Window
The Sherlock Result Viewer displays debugging and other trouble-shooting information to a console
window. Normally, this window is hidden. If you need to view this information, use the View > Console
menu option to display the Console Window as follows:

During normal viewer processing, messages may be continually written to this window. To pause the
output, click the Pause button. The console text can be conveniently copied to the system clipboard
by clicking the Copy to Clipboard button, thereby allowing you to easily paste the contents into an
email or save them in a text file for future analysis. As indicated by the name, the Clear button clears
the contents of the Console Window.

Sherlock 3D Viewer
The Sherlock 3D Viewer allows users to visualize the 3D models and results generated by Sherlock for
ICT and Shock/Vibration Analysis. You may interactively view a 3D model with element colors based
on calculated displacement or strain values. Users may also optionally warp the model by the displace-
ment results to see exactly how the CCA reacts to simulated loads. Warping may be exaggerated to
help visualize the results.

The 3D Viewer and Memory Management


If you encounter an error message that the 3D Viewer has run out of memory, refer to the following
section in Lesson One: 3D Viewer and Memory Management (p. 8)

Launching the 3D Viewer


The Sherlock 3D Viewer can be launched from within Sherlock itself to view the most recently gen-
erated 3D model and analysis results for a selected CCA or can be launched from within the Sherlock
Result Viewer to view saved 3D results. The Sherlock 3D Viewer can also be launched from the
desktop in several ways to view saved results.

Specifically, the following methods can be used to launch the Sherlock 3D Viewer:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
668 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock 3D Viewer

• To view the most recent ICT or Shock/Vibration Analysis results in Sherlock, right-click either the
ICT Analysis or Shock / Vibration entries in the Sherlock Project Tree for a given CCA and select
the View 3D Results menu item.

• To view saved 3D results from the Sherlock Result Viewer, use the View menu to select the desired
3D result (if any) saved with the result snapshot.

• To view saved 3D results directly from the desktop, locate the 3D result file in the file system (saved
either automatically in the Sherlock project directory or in a folder designated using the Save As
menu option). All 3D result files are assigned the .dfr-3d file type which is automatically registered
with Windows and associated with the Sherlock 3D Viewer during the Sherlock installation process.
As such, you may simply double-click a 3D result file with that suffix at any time to launch the
Sherlock 3D Viewer and automatically open the selected result file.

• To view saved 3D results in a Sherlock 3D Viewer that is already running, you may either use the
File > Open File menu option to open the saved result file or you may simply drag-and-drop the
file onto the viewer window. In either case, any currently open 3D results will be automatically
closed, and the new 3D results will be displayed.

Viewing 3D Results
The Sherlock 3D Viewer provides several convenient ways to view the 3D models and analysis results
generated by Sherlock. The main viewing area shows the 3D model, with selected model features
and color scheme. You can pan, rotate and zoom the 3D display as needed using simple mouse
controls. Press the Help button for a complete list of the mouse controls supported.

The Features panel allows you to select one or more model features to be displayed. Usually, all of
the features are selected, but you are free to choose whichever features suit your needs. The 3D display
panel is automatically updated as features are selected / deselected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 669
Results Management

The Color Schemes panel allows you to select the color scheme to be used for the 3D model. The
number and type of schemes depends on the specific analysis results available when the 3D result
file was generated. The 3D display panel is automatically updated whenever the color scheme is
changed.

The Options panel provides various display options that can be used to alter the 3D rendering to
suit your personal taste and needs. The Quality option determines the number of triangles / quads
used to render the result data. The Coarse setting displays a single element for each element used
in the 3D analysis model and is suitable for most purposes. The Fine setting displays 4 or 5 elements
for each modeled element, thereby yielding a more uniform look. Typically, Coarse is used for general
viewing and Fine is used for publication-ready images.

By default, the displacement values computed for a given analysis result (such as ICT) are applied to
all nodes in the display model. For example, if you are viewing the ICT Disp results, then the model
will be bent and colored to indicate the computed displacements. If, on the other hand, you are
viewing the ICT Strain results, then the model will be bent to indicate the computed displacements,
while being colored to indicate the computed strains. In this way, a single 3D plot can be used to
indicate both displacement and strain results. Since displacements can be relatively small during
various tests, the Warping factor is provided to allow you to amplify the displacement results as
needed to make them easier to see. A warping factor of 0 eliminates all displacement results, a
warping factor of 1 shows the actual results and a warping factor between 2 and 50 multiplies the
displacement values by the given amount.

Note:

You must press the Refresh button after making any changes in the Options panel before
those changes will take effect.

Exporting 3D Images
Publication-ready image files can be created at any time by pressing the camera button and designating
a destination file. Alternatively, you can select the File > Export Image menu item. In either case,
the Export Image dialog window will be displayed, as shown here, allowing you to specify the location
and name of the file to be exported. The Browse button can be used to find the appropriate location
and/or name of the file to be exported.

The file name suffix is used to determine the export file format, with the following formats supported:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
670 of ANSYS, Inc. and its subsidiaries and affiliates.
Sherlock 3D Viewer

*.jpg or *.jpeg - JPEG image file format


*.png - Portable Network Graphics file format
*.pdf- Portable Document Format

The JPEG and PNG file formats provide a 2D representative of the circuit card results that can be
easily incorporated into reports, presentations and email messages. The PDF file format provides a
standard 3D representation of the circuit card results that can be viewed interactively using an Adobe
PDF viewer or a compatible PDF viewer that supports the Adobe 3D PDF standard.

Select one or more of the processing options to customize the export process. The Portrait Layout
option indicates the page layout to be used when generating a PDF file. If not selected, a landscape
layout will be generated. If the Overwrite Existing File option is selected, then Sherlock will automat-
ically overwrite any existing file with the same name without prompting the user for confirmation. If
the Display File After Export option is selected, then Sherlock will attempt to display the resulting
export file using whatever application is associated with the file name suffix in Windows. For example,
if a PDF file is generated, then the user's standard PDF viewer will be launched to display the exported
file.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 671
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
672 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 48: Semiconductor Wearout
ANSYS Sherlock provides the ability to predict semiconductor wearout using multiple methods depending
on the available component-specific data. The prediction is performed with the Semiconductor Wearout
analysis module which will produce wearout results and life prediction for applicable parts. Sherlock
uses a model that follow SAE ARP 6338. More information about SAE ARP 6338 can be found at http://
[Link]/wip/arp6338/.

Chapter Sections:
Input Data
Acceleration Factors
Documents
Analysis

Input Data
The analysis performed depends on the available data available per component. Sherlock supports five
approaches to predict semiconductor wearout.

1. The manufacturer provides a prediction based on the life cycle or the user has actual field data at
the same or similar life cycle.

2. The manufacturer provides temperature-specific prediction and the manufacturer, or the user provides
the acceleration factor.

3. The manufacturer provides the test results or the user provides or assumes the test results, and the
manufacturer or the user provides the acceleration factor.

4. The manufacturer provides temperature-specific prediction and the user uses industry generic
models (JEDEC JEP-122) and user-defined parameters or Sherlock-parameters to calculate an accel-
eration factor.

5. The manufacturer provides the test results or the user provides or assumes the test results and the
user uses industry generic models (JEDEC JEP-122) and user-defined parameter or Sherlock parameters
to calculate an acceleration factor.

Note that options 2 and 4, along with options 3 and 5, are essentially the same basic inputs with the
difference between the two groups being that in the first the acceleration factors are provided,
whereas in the later, the acceleration factors are computed.

The data for each component is provided in the parts list, most of which will be on the Semiconductor
Wearout tab. However, some input items are found on other tabs. Service life data comes from the life
cycle. The data required by each of the options and the location of that data is provided below. If any
of the input data listed above is changed, Sherlock will automatically clear the analysis results for this
analysis module.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 673
Semiconductor Wearout

Option 1: Prediction and User Field Data


All input for option 1 comes from the reliability goals of the life cycle definition and the data defined
on the Semiconductor Wearout and Die tabs of the parts list.

Semiconductor Wearout Tab


Input Data Type – informational field must be one of PREDICTION (TYPE 1) or FIELD DATA for
option 1

Reliability Data Source – optional informational field

Documents – optional informational field containing documents which reference the data

Reliability Metric and Units – required fields from which the life prediction is derived

Die Tab
Process Node – required field, must be less than the selected analysis property size to be included
in analysis

Option 2: Temperature Specific and Acceleration Factors


All input for option 2 comes from the reliability goals of the life cycle definition and the data defined
on the Semiconductor Wearout, Die, Elec, and Test tabs of the parts list.

Semiconductor Wearout Tab


Input Data Type – informational field must be PREDICTION (Type 2) for option 2

Reliability Data Source – informational field

Documents – informational field containing documents which reference the data

Reliability Metric and Units – required fields

Source of AF – required field must be one of MANUFACTURER or USER for option 2

Temperature (Ea) – required field, Arrhenius based acceleration factor (Ea) in electron volts

Voltage Exponent – required field, power law based acceleration factor (n)

Frequency Exponent – required field, power law based acceleration factor (m)

Die Tab
Process Node – required field, must be less than the selected analysis property size to be included
in analysis

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
674 of ANSYS, Inc. and its subsidiaries and affiliates.
Input Data

Electrical Tab
Applied Voltage – required field, used to compute the voltage activation energy

Applied Frequency – required field, used to compute the frequency activation energy

Test Tab
Test Duration – required field, specifies the length of the test

Test Temperature – required field, used to compute the temperature activation energy

Test Voltage – required field, used to compute the voltage activation energy

Test Frequency – required field, used to compute the frequency activation energy

Option 3: Test Results and Acceleration Factors


All input for option 3 comes from the reliability goals of the life cycle definition and the data defined
on the Semiconductor Wearout, Die, Elec, and Test tabs of the parts list.

Semiconductor Wearout Tab


Input Data Type – informational field must be TEST DATA for option 3

Reliability Data Source – informational field

Documents – informational field containing documents which reference the data

Source of AF – required field must be one of MANUFACTURER or USER for option 3

Temperature (Ea) – required field, Arrhenius based acceleration factor (Ea) in electron volts

Voltage Exponent – required field, power law based acceleration factor (n)

Frequency Exponent – required field, power law based acceleration factor (m)

Die Tab
Process Node – required field, must be less than the selected analysis property size to be included
in analysis

Electrical Tab
Applied Voltage – required field, used to compute the voltage activation energy

Applied Frequency – required field, used to compute the frequency activation energy

Test Tab
Test Duration – required field, specifies the length of the test

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 675
Semiconductor Wearout

Number of Devices – required field, specifies the number of devices tested

Confidence Bounds – required field, specifies the confidence bounds for the test

Test Temperature – required field, used to compute the temperature activation energy

Test Voltage – required field, used to compute the voltage activation energy

Test Frequency – required field, used to compute the frequency activation energy

Option 4: Temperature Specific and Calculated Factors


All input for option 4 comes from the reliability goals of the life cycle definition and the data defined
on the Semiconductor Wearout, Die, Elec, and Test tabs of the parts list. Additionally, the Process
Node specified on the Die tab is used to reference parameters used for computing the acceleration
factors for analysis.

Semiconductor Wearout Tab


Input Data Type – informational field must be PREDICTION (Type 2) for option 4

Reliability Data Source – informational field

Documents – informational field containing documents which reference the data

Reliability Metric and Units – required fields

Source of AF – required field must be SHERLOCK for option 4

Die Tab
Process Node – required field, must be less than the selected analysis property size to be included
in analysis; specifies set of acceleration factors components to use (see Acceleration Factors for
more information).

Electrical Tab
Applied Voltage – required field, used to compute the voltage activation energy

Applied Frequency – required field, used to compute the frequency activation energy

Applied Duty Cycle – required field, used to compute acceleration factors

Test Tab
Test Duration – required field, specifies the length of the test

Test Temperature – required field, used to compute the temperature activation energy

Test Voltage – required field, used to compute the voltage activation energy

Test Frequency – required field, used to compute the frequency activation energy

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
676 of ANSYS, Inc. and its subsidiaries and affiliates.
Input Data

Test Duty Cycle – required field, used to compute acceleration factors

Option 5: Test Results and Calculated Factors


All input for option 5 comes from the reliability goals of the life cycle definition and the data defined
on the Semiconductor Wearout, Die, Elec, and Test tabs of the parts list. Additionally, the Process
Node specified on the Die tab is used to reference parameters used for computing the acceleration
factors for analysis

Semiconductor Wearout Tab


Input Data Type – informational field must be TEST DATA for option 5

Reliability Data Source – informational field

Documents – informational field containing documents which reference the data

Source of AF – required field must be SHERLOCK for option 5

Die Tab
Process Node – required field, must be less than the selected analysis property size to be included
in analysis; specifies set of acceleration factors components to use (see Acceleration Factors (p. 678)for
more information).

Electrical Tab
Applied Voltage – required field, used to compute the voltage activation energy

Operating Frequency – required field, used to compute the frequency activation energy

Applied Duty Cycle – required field, used to compute acceleration factors

Test Tab
Test Duration – required field, specifies the length of the test

Number of Devices – required field, specifies the number of devices tested

Confidence Bounds – required field, specifies the confidence bounds for the test

Test Temperature – required field, used to compute the temperature activation energy

Test Voltage – required field, used to compute the voltage activation energy

Test Frequency – required field, used to compute the frequency activation energy

Test Duty Cycle – required field, used to compute acceleration factors

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 677
Semiconductor Wearout

Acceleration Factors
Acceleration factor inputs are chosen based on the Die process node assigned to a given part. When
the inputs are required during analysis, Sherlock will use the Die process node to look up those factors
in the acceleration factors manager and provide them as input to the Semiconductor Wearout analysis
process. The ability to view, create, or modify acceleration factor inputs, is provided with the Acceleration
Factors Manager found in the Libraries menu of Sherlock.

Acceleration Factors Manager Listing


The main acceleration factors manager window is organized into two section. The top section provides
a set of fields to allow filtering of the process nodes in the manager. The bottom table is a list of all
process nodes and some key acceleration factors input data.

Viewing and Editing Acceleration Factors


To view the acceleration factor inputs assigned to a given process node, you may double-click on
the desired process node from the table. You may also right-click the process node and select Edit
Selected Acceleration Factors from the pop-up menu.

After selecting a process node to edit, a new dialog window, shown below, will appear with a listing
of all available acceleration factors input data available for the selected process node.

After making any desired process node changes, use the Save button to save the changes to the
local copy of the Sherlock acceleration factors library. See the Sherlock User Guide - User Data
Files (p. 733) chapter for more information about the location and format of the local acceleration
factors library. If you don't wish to save any changes or are simply viewing the acceleration factors

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
678 of ANSYS, Inc. and its subsidiaries and affiliates.
Acceleration Factors

definition, select the Cancel button when done. The Reset button will revert any changes you have
made to the definition since opening the dialog to the original settings.

If you wish to view additional process node definitions, you may do so without closing the editor
dialog window by simply selecting the process node from the selector at the bottom of the window
or using the Prev and Next buttons. The process node selector and the Prev and Next buttons are
limited to the filtered process nodes from the acceleration factors manager itself. If no filters were
applied, then the entire list of process nodes is available.

Modifying Acceleration Factors


To add a new process node acceleration factor, select Add Acceleration Factors from the Acceleration
Factors menu, or right-click in the table listing and select Add Acceleration Factors from the menu.
The editor dialog will appear with all properties empty, ready for a new process node acceleration
factors to be defined. When you are complete defining a process node acceleration factor, click the
Save button to add the new definition.

To copy a process node acceleration factor, right-click the acceleration factor to be copied from the
table listing and select Copy Acceleration Factors from the menu. A copy of the process node accel-
eration factors will be made. Provide a process node size and type for the copied definition and make
any changes desired to the properties, then click the Save button to add the copied process node
acceleration factor.

Any user-defined process node acceleration factor that is not a Sherlock system definition may be
deleted. Right-click the process node acceleration factor to be delete from the table listing and select
Delete Selected Acceleration Factors from the menu. If the Delete Selected Acceleration Factors
item is not available, this indicates that it is not a user-defined process node acceleration factor.

If a system process node acceleration factors has been modified, the Delete Selected Acceleration
Factors menu item will be available. However, it will not actually delete the definition. Deleting a

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 679
Semiconductor Wearout

system process node acceleration factor that has user-defined properties will simply remove all the
user-defined properties and allow the definition to revert to being completely system defined.

Documents
ANSYS Sherlock provides a repository of documents received from a supplier for a part, related to
semiconductor wearout. Each repository is specific to a circuit card and are not shared amongst projects.
However duplicate parts within a project may reference the same set of documents.

Assigned documents may be viewed from the Semiconductor Wearout tab of the Parts List. The
Documents field will list all uploaded documents. To view any of the documents, double-click the desired
document from the field.

Alternatively, you may click the "…" button located next to the available documents. This will open the
Document Manager shown below. When the underlying part is open for editing, the document manager
will allow for documents to be uploaded, deleted or viewed. When the underlying part is being viewed
only, the document manager will only allow a given document to be viewed.

To view a given document right-click click or double-click the desired document and Sherlock will open
the selected document with the default application assigned by the operating system for viewing such

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
680 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis

documents. To upload a new document, make sure that the part editor is enabled, or else you will not
be able to upload a document.

Select the Upload button and a dialog will appear to allow for selection of the document to be uploaded
along with assigning a name and a document date. If no name is specified, the document will be named
the same as the file name of the document.

When a document is uploaded and is assigned to another part, a warning dialog will appear and allow
the document to be uploaded and assigned to both parts.

Analysis
To perform semiconductor wearout analysis, locate the Semiconductor Wearout item from the Ana-
lysis folder of the circuit card for which to perform analysis. Right-click and select Run Analysis Task
from the popup menu. The analysis properties dialog will appear. Analysis is performed on IC components
with a feature size less than 0.05 microns by default. With the analysis properties dialog, you may change
the maximum feature size and to select the required thermal event to use while performing analysis.
Each temperature defined by the selected thermal events is used as input for Temperature Specific
and Test Results semiconductor wearout data types. The acceleration factors are computed using this
temperature and weighted based on the amount of the time the temperature is active.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 681
Semiconductor Wearout

Analysis Results
The Semiconductor Wearout analysis module generates the following results:

• Summary panel showing overall scores, reliability goals, and analysis statistics

• Life prediction curve for the circuit bard based on the part with the worst calculated life prediction

• Result table show key properties, characteristic life, and score for each analyzed part

• Graphical layers showing the score for each part analyzed

Analysis Computations
For option 1, the failure rate is computed from the provided reliability metric, the characteristic
lifetime is computed, and the life prediction is computed.

For option 2, the failure rate is computed from the provided reliability metric, then acceleration
factors are applied to the failure rate to determine the characteristic lifetime.

For option 3, the provided test results are converted to reliability and failure rate data, then the
acceleration factors are applied to the failure rate to determine the characteristic lifetime.

Options 4 and 5 are done exactly as options 2 and 3 respectively, however, instead of using the
provided acceleration factors, the acceleration factors are computed by using acceleration factor
input components referenced by the selected Die Process Node and uses industry generic models
(JEDEC JEP-122) and user-defined parameter or Sherlock parameters to calculate an acceleration
factor.

Failure mechanisms that determine long term reliability of ICs are intrinsic in nature and are driven
by material degradation over time. Degradation mechanisms at the wear out stage for a semicon-

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
682 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis

ductor component are; Time Dependent Dielectric Breakdown (TDDB), Negative Bias Temperature
Instability (NBTI), Hot Carrier Injection (HCI) and Electromigration (EM). Acceleration factors for options
4 and 5 are calculated based on these four failure mechanisms. One or more of these mechanisms
are likely to dominate and impact the lifetime of an IC and the overall system.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 683
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
684 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 49: Solder Fatigue Analysis
Solder joints provide electrical, thermal, and mechanical connections between electronic components
and a printed board. During changes in temperature, the component and printed board will expand
or contract by dissimilar amounts due to differences in the coefficient of thermal expansion (CTE). This
difference in expansion or contraction will place the second-level solder joint under a shear load. Repeated
exposure to temperature changes, such as power on/off or diurnal cycles, can introduce damage into
the bulk solder. With each additional temperature cycle this damage accumulates, leading to crack
propagation and eventual failure of the solder joint. Thermo-mechanical solder joint fatigue is influenced
by maximum temperature, minimum temperature, dwell time at maximum temperature, component
design, component material properties, solder joint geometry, solder joint material, printed board
thickness, and printed board in-plane material properties. ANSYS Sherlock calculates a time to failure
using strain energy, which requires determining the applied force, the strain range, and then extrapol-
ating cycles to failure from the derived strain energy.

Chapter Sections:
Input Data
Pad Properties
Analysis Properties
Analysis Results

Input Data
The Solder Fatigue Analysis Module makes use of the following input data for the analysis calculations:

• Life Cycle Reliability Goals

• Parts List

• Circuit Card mechanical properties (stackup data)

• Component sizes and locations

• Solder properties

• Thermal Events and associated Thermal Maps

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 685
Solder Fatigue Analysis

Pad Properties
Sherlock uses a variety of models to predict solder fatigue for individual parts based on the package
type. For the following package types, the solder fatigue models depend specifically on the size of the
pads to which the component is soldered:

• Ball Grid Array (BGA / CBGA)

• Chip Component (CC / SMD)

• Lead-less Chip Carrier (LCCC / CLCC / LCC)

• Quad Flat No-Leads (QFN)

• Bottom Terminated Components (BTC)

By default, Sherlock estimates the Pad Length and Pad Width properties for each part based on the
package type and dimensions.

Note:

The pad size guesses made by Sherlock provide only a rough estimate for solder fatigue
analysis purposes and users are encouraged to review the pad dimensions for all parts using
data from their specific PCB layout.

To help automate the process of entering accurate pad dimensions, the Update Pad Properties feature
can be used to automatically extract pad dimensions for one or more parts from the top and bottom
copper layers defined for the PCB. The pad dimensions are stored in the Parts List for each updated
part and the property values are assigned a data priority greater than the data provided by the Package
Library or Part Libraries.

Extracting Pad Data from Copper Layers


Sherlock automatically extracts pad data whenever the Top or Bottom copper layer files are parsed.
The pad data is stored as binary data files in the meta-data folder within the Sherlock CCA folder. No
user inputs are required for the extraction process.

After pad data has been extracted, you can use the Update Pad Properties feature whenever and as
often as needed.

Update Pad Properties


The Update Pad Properties feature can be accessed from the Parts List by selecting one or more
parts and either pressing the Update Pad Properties button at the bottom of the Parts List panel
or by right-clicking on any selected part and selecting Update Pad Properties from the pop-up menu.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
686 of ANSYS, Inc. and its subsidiaries and affiliates.
Pad Properties

The Update Pad Properties feature can also be accessed while editing one or more parts in the Part
Editor by pressing the Update Pad Properties button.

Update Pad Properties

Regardless of how the feature is invoked, the following processing is automatically performed by
Sherlock for each selected part:

• The current location and package size are used to find all covered pads

• Extraneous pads, such as via pads, are ignored

• The dimensions of the smallest pad found are assigned to the part

• The copper layer is assigned as the property value source

When invoked from the Parts List, Sherlock automatically saves all part updates and displays a message
indicating the number of parts updated. When invoked from the Part Editor, Sherlock will update
the Pad (or Ball) tab to reflect the newly assigned properties and will display a status message.

In this case, the updates are temporary, just like any other editor changes, requiring the user to press
the Apply or Save buttons to update the Parts List itself.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 687
Solder Fatigue Analysis

Edit Solder Properties


To edit solder properties, select a part from the parts list, and then open up the part editor shown
below.

In this case, we are editing parts U1 and U2 through the Multi-Part Editor. From the Multi-Part Ed-
itor, select Solder on the side tab. We will now change the Solder Material to LEAD-FREE (SN100C)
and press the Save the part editor changes and exit the editor icon

Save the part editor changes and exit the editor.

Supported solder materials are defined in the solder data file provided by Sherlock and can also be
defined by a user-defined data file. More information can be found in the Solder Management
(p. 695)User Guide. In addition to solder material, solder thickness as well as solder model can be
defined. The default solder model is determined from the Package Type specification for the part.
Solder models supported by Sherlock include:

• BGA MODEL

• CBGA MODEL

• CC MODEL

• CGA MODEL

• DIE MODEL

• IMS MODEL

• LCCC MODEL

• LEADED MODEL

• QFN MODEL

• THRUHOLE MODEL

Changing any of the solder properties will have an impact on solder fatigue analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
688 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Properties

Analysis Properties
The Solder Fatigue Analysis Module allows the user to set the properties shown below.

The Solder Material property value is used as the default solder type for all components in the Parts
List for which a Solder Material property value has not been specifically defined. This allows users to
easily change the solder type used for the entire circuit card, while still allowing them to assign specific
solder types to individual parts, depending on how the circuit card is assembled.

The Part Temp Rise property value is used as the component temperature rise (that is, the number of
degrees above the ambient temperature) for all components in the Parts List for which a Part Temp
Rise property value has not been specifically defined and for which the component is not covered by
any Thermal Map assigned to a Thermal Event. That is, the Solder Fatigue calculation uses thermal
data in the following prioritized order to determine the minimum and maximum operating temperatures
for each part analyzed, for each Thermal Event in the Life Cycle:

1. Average temperature defined by the region that covers a specific part in a Thermal Map that has
been assigned to the Thermal Event

2. Ambient temperature defined in the Thermal Event plus the Part Temp Rise assigned to a specific
part in the Parts List

3. Ambient temperature defined in the Thermal Event plus the default Part Temp Rise assigned in
Solder Fatigue Analysis Properties

The Apply Min Temp Rise parameter allows users to prevent the part temperature rise value from
being applied to the minimum temperature defined in a thermal cycle. By default, it is applied to the
minimum temperature.

The Part Validation parameter, when enabled, causes the Part Validation Analysis (p. 591) to be performed
prior to Solder Joint Fatigue analysis if it has not yet been successfully run.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 689
Solder Fatigue Analysis

Note:

Sherlock makes use of an internal library that defines mechanical and chemical properties
for a collection of solder types. Users can override or augment solder data with the Solder
Manager. See the Solder Management (p. 695) user guide for more details.

Analysis Model
Sherlock automatically determines the solder joint fatigue analysis model for each component based
on the package assigned to the component. To use a different model, typically, the proper package
should be assigned to a given component, however the solder model may be changed for each part
by changing the Solder Model property found on the Solder tab of the Part Editor. The default
value for this property will always be the Sherlock default for the given part, but the user may wish
to override this value.

Analysis Results
The Solder Fatigue Analysis Module generates the following results:

• Summary Panel showing overall scores, reliability goals, board properties, and analysis statistics

• Life Prediction curve for the circuit card based on the Cycles to Failure predicted for all parts analyzed

• Score distribution chart showing a histogram of scores for all parts analyzed

• Result table showing key properties, Cycles to Failure and score for each part analyzed

• Graphical layers showing the score for each part analyzed

Note:

The characteristic life is shown in the console, and the time to failure due to your life cycle
service is shown in the results viewer.

To see how the various input data and properties affect the Solder Fatigue Results, let's run a couple
of tests with various inputs. We'll start by examining the results provided by the Tutorial Project. If you
haven't already done so, import that project now, and make the changes to part U1 and U2 as described
earlier in the Edit Solder Properties section.

Note:

If you've modified data during the tutorials, it's likely that the Solder Fatigue Results have
been cleared in your project or are different from those shown in this document. If so, the
easiest way to clean things up is to delete the existing Tutorial project and import it again
from the ZIP file provided.

Let's begin by looking at the distribution of results included in the ZIP file that we used to import the
Tutorial project. Double-click the Solder Fatigue entry of the Analysis folder in the Project Tree to
display the Solder Fatigue Results panel. Select the Summary sub-tab to review the overall results,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
690 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

as shown below. We've re-arranged things a little for display purposes, but the content should be the
same.

The Summary Panel shows that 219 of the 221 parts analyzed were assigned excellent scores, repres-
enting a safety factor of 7X or better. The remaining 2 parts received scores with safety factors less than
3X.

If we select the Table sub-tab we can examine the detailed results generated for each part analyzed.

The tabular view allows us to quickly see that the two parts with less than perfect (yet still quite accept-
able) scores are the two large BGA parts. We also see that all parts have been assigned the same Solder
type and they all experience the same maximum temperature delta. Basically, for Solder Fatigue cal-
culation purposes, the only differences between the parts is their relative sizes, with the largest parts
being assigned the lowest scores.

To see the effect of solder type on the Solder Fatigue calculation, double-click the Parts List entry in
the Project Tree to display the Parts List. Enter U in the Ref Des filter field to show all parts with a
reference designator starting with U (all IC parts). Finally, right-click the U1 row and select Edit Selected
Parts to edit the U1 part properties. Select the Solder tab in the Part Editor and change the Solder
Type property to TIN-LEAD. Press Save the part editor changes at the top of the Part Editor to apply
the change to only the U1 part and return to the Parts List.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 691
Solder Fatigue Analysis

At that point, all results depending on the Parts List will be cleared, including the Solder Fatigue
Results. Right-click on the Solder Fatigue entry in the Project Tree and select Run Analysis Task to
generate the analysis results and refresh the Solder Fatigue Results panel.

Now if we look at the tabular results, we can see that our solder type change has improved the predicted
results for the U1 LCCC.

With all other properties being equal, the TIN-LEAD solder used to mount the U1 LCCC provides a more
reliable solder connection (with regard to solder joint fatigue caused by thermal cycling) than the lead-
free solder used to mount the U2 LCCC.

To test the effect of the temperature ranges seen by each part, let's go back to the Parts List and edit
the properties for part U1 again. This time, however, select the Thermal tab in the Part Editor and
change the Part Temp Rise property to 30 and the Thermal Units property to C as shown below.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
692 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Press Save to save the changes for the U1 part only. Then press Update Layers to commit the changes
and clear all analysis results.

Finally, run the Solder Fatigue Analysis task again to refresh the analysis results.

Note:

In the PTH Fatigue chapter we showed how to change the temperatures seen by some or
all the circuit card components by assigning a Thermal Map to one of the Thermal Events
defined in the Life Cycle. In this chapter, without any Thermal Map assigned, we changed
the temperature rise of a specific part using the Part Editor. See the PTH Fatigue (p. 645)
chapter for more details concerning how part temperatures are determined.

One last look at the detailed Solder Fatigue Results table shows that the increased part temperature
rise for the U1 LCCC component has indeed decreased its predicted lifetime.

In fact, despite using better solder, the U1 part now has the worst predicted Time to Failure (just under
13 years) because of the increased part operating temperature over its lifetime. That is, although the
maximum temperature differential is still the same as all other parts (which is determined by the Thermal
Shock event), the higher operating temperature (which is determined by the Thermal Cycle event and
the Parts List property) causes more joint damage over time.

Although we've been looking at the tabular results to focus on a specific part, it's important to note
that the color-coded graphical layers generated by the Solder Fatigue Analysis Module clearly display
the results for all analyzed parts, as shown here. Green parts have very good scores, yellow parts are
OK, red parts will fail, and gray parts were not analyzed (because they are through-hole mounted parts).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 693
Solder Fatigue Analysis

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
694 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 50: Solder Management
The Sherlock Solder Manager allows for a user to create and modify Sherlock solder definitions.
Properties modified in the Solder Manager are used during analysis. The Solder Manager is accessible
by selecting Libraries > Solders from the Sherlock menu and is also a standalone utility accessible
from the Sherlock start menu folder.

Chapter Sections:
Solder Manager Listing
Solder Editor
Temperature-Dependent Material Properties
Export Solders
Import Solders

Solder Manager Listing


The main Solder Manager window is organized into two sections. The top section provides a set of
fields to allow filtering of the solders in the manager. The bottom table is a list of all solders or those
solder matching any selected filters from above.

To filter the solder definitions to only the TIN-LEAD solder types, enter or select TIN-LEAD in the Solder
Type column filter and press Enter. This will immediately filter the solder table to only display solders
that at TIN-LEAD. Multiple filters may be applied. The table is filtered when all applied filter definitions
match a given solder.

This main window for the Solder Manager can be customized and filtered in ways similar to the cus-
tomization and filtering detailed in the Parts List Management (p. 597) users guide. The actions include,
selecting the visible columns and advanced filtering techniques. Please refer to the Parts List Manage-
ment (p. 597) users guide for details on using these features.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 695
Solder Management

Solder Editor
Selecting a Solder to Edit
To view or edit a given solder, you may double-click on the desired solder from the solder table listing.
You may also right click the solder in the solder table listing and select Edit Selected Solders from
the pop-up menu.

After selecting a solder to edit, the Solder Editor dialog window will be displayed. This window
provides a look at all the property values defined for the selected solder and allows for those property
values to be modified.

Using the Solder Editor


After selecting a solder to edit a new dialog window will appear with a listing of all the available
material properties for the selected solder. From the Solder Editor a user can view and make changes
to any of the material properties. The Solder Editor Groups properties into different categories,
represented by tabs in the editor.

For properties which indicate a unit of measure, the currently selected unit of measure for that
property is displayed next to the field. By selecting a new unit of measure from the list, the value

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
696 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Material Properties

displayed in the form will automatically be converted to the selected units. These includes fields
which may have specified multiple temperature-dependent properties.

The User tab provides a place to specify notes about a given solder and indicate the creator of the
solder and also user that last modified the solder. If a solder does not have any customized values,
then the Created By and Modified By fields will be listed as ANSYS, Inc..

After making any desired solder changes, use the Save button to save the changes to the local copy
of the Sherlock Solder Library. See the Sherlock User Guide - User Data Files (p. 733) chapter for more
information about the location and format of the local Solder Library. If you don't wish to save any
changes or are simply viewing the solder definition, select the Cancel button when done. The Reset
button will revert any changes you have made to the definition since opening the dialog to the ori-
ginal settings.

If you wish to view additional solder definitions, you may do so without closing the solder editor
dialog window by simply selecting the solder from the selector at the bottom of the window or using
the Prev and Next buttons. The solder selector and the Prev and Next buttons are both limited to
the filtered solders from the solder manager itself. If no filters were applied, then the entire list of
solders is available.

Temperature-Dependent Material Properties


Temperature-dependent values can be specified for the following properties:

• Elastic Modulus (MPa)

• Poisson Ratio

• CTE (1/C)

• Density Properties (tonne/mm3)

• Thermal Conductivity (W/m-K)

• Fatigue Exponent, Fatigue Coefficient, FEA Power, Critical Strain, and Shock Strain (used for shock
and vibration fatigue cycles to failure calculations)

Temperature-dependent values are defined as a set of temperature-value pairs and are passed directly
to the FEA engine for all materials used during a given analysis. FEA engines typically use the given
data points to determine the property value for a specific temperature by using linear interpolation
between the bounding data points. For all temperatures below the minimum temperature specified,
the value associated with the minimum temperature will be used. Similarly, for all temperatures above
the maximum temperature specified.

Temperature-value pairs are specified using the following notation:

<Value> @ <Temp> <Units>

where <Value> is the property value, <Temp> is the temperature and <Units> are the temperature
units. (NOTE: The value units must be those specified in the list above.) Two or more temperature-value
pairs must be comma separated. For example, the following notation:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 697
Solder Management

400@20C, 320.5@212F

specifies a value of 400 at 20 degrees centigrade and a value of 320.5 at 212 degrees Fahrenheit.
Temperature units can be freely mixed in a given list of temperature-value pairs.

In situations where Sherlock needs to determine a temperature-dependent material property value


when no explicit temperature is defined (such as when mixing material property values in a given PCB
layer to determine the average layer property value), a room temperature value of 20C is used for inter-
polation purposes.

CTE and Elasticity Modulus Calculators


To assist with computing temperature dependent values for the CTE and Elastic Modulus properties,
Sherlock provides a temperature value calculator for these properties. This calculator takes in a base
CTE or Elastic Modulus value, a Tg value, temperature range, and inputs that control the number of
temperature values to produce to provide a set of temperature dependent values.

From the Solder Editor for the solder 63SN37PB, select the Mechanical tab to reveal the current CTE
and Elastic Modulus values.

The default solder contains several CTE and Elastic Modulus values. To use the calculator to expand
this list, click on the calculator icon button next to the desired field.

When you click the calculator for Elastic Modulus, the Temperature-Dependent Properties Calcu-
lator launches. As shown below, the calculator provides a set of default input properties used to
compute additional material temperature values for the selected property. The default Tg and Mod-
ulus < Tg (or CTE values) originate from the source material. Note the default values shown below:
The Number of Points is 10 which means the calculator will generate ten material temperature values
for elasticity within the range of -60° and 140° Celsius. Because the calculator generates additional
temperature values at the Max and Min Temperatures, the total number of values generated will
be twelve.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
698 of ANSYS, Inc. and its subsidiaries and affiliates.
Temperature-Dependent Material Properties

Upon clicking the Compute button, the values will be computed, and the underlying field updated
with new material temperature values. To accept these values, click the Save button for the solder
and they will be committed.

Note:

The default values of any system provided solder can be restored by using the Delete
Selected Solders menu item from the Solder Manager listing. Deleting system provided
solders simply resets those material property values.

Adding and Copying Solders


To add a new solder, select Add Solder from the Solder menu, or right-click in the solder table listing
and select Add Solder from the menu. The solder editor dialog will appear with all material properties
empty, ready for a new solder to be defined. When you are complete defining a solder, click the Save
button to add the new solder.

To copy a solder, right-click the solder to be copied from the solder table listing and select Copy
Solder from the menu. A copy of the solder will be made. Provide a solder name for the copied solder
and make any changes desired to the material properties, then click the Save button to add the
copied solder.

Deleting Solders
Any user-defined solder that is not a Sherlock system solder may be deleted. Right-click the solder
to be deleted from the solder table listing and select Delete Solder from the menu. If the Delete
Solder item is not available, this indicates that it is not a user-defined solder.

If a system solder has been modified, the Delete Selected Solders menu item will be available.
However, it will not actually delete the solder. Deleting a system solder that has user-defined properties
will simply remove all the user-defined properties and allow the solder to revert to being completely
system defined.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 699
Solder Management

Export Solders
Solder definitions may be exported to CSV or XLS spreadsheet files to allow external viewing or modi-
fications. Exported files can then be used to import solder definitions back into the solder manager.

To export all Solder Definitions, select from the File menu Export Solders or right-click in the solder
table listing and select Export Solders from the pop-up menu. If you wish to export only specific solders,
select the solders you wish to export from the solder table listing, then right-click the table and select
Export Solders. In either case, the Export Solder Library dialog will be displayed.

The Rows and Columns selections allow you to customize which rows and/or columns should be ex-
ported. Select All Rows if all rows should be exported or select Selected Rows if only the rows selected
in the solder table listing should be exported. Similarly, select All Columns if all columns should be
exported or select only specific columns to be exported.

After specifying the output file location, click the Export button. Supported file extensions are .csv,
.xls, and .xlsx. If successful, a message will appear indicating the number of rows selected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
700 of ANSYS, Inc. and its subsidiaries and affiliates.
Import Solders

Import Solders
Solder definitions may be imported into the Solder Manager from a CSV, XLS or XLSX spreadsheet file
by selecting the File > Import Solders option from the main menu. At that point, a file dialog will be
displayed allowing you to designate the file to be imported.

After selecting the file, the Import Solder File dialog will appear, allowing you to verify the column
mapping for each file/sheet that is imported. Sherlock scans each file in an attempt to determine the
number of header rows, the column names and which columns should be mapped to the various
Sherlock solder properties. Such guesses are usually right, but you should check them anyway by
viewing the import file using an appropriate spreadsheet application.

When the import form is filled out properly, press the Import Solders button to import the data.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 701
Solder Management

When the import process has completed, you will see a confirmation dialog. If any solder definitions
fail to import, then none of the rows in the file will be imported and an error dialog will be displayed
with the information regarding why a particular solder definition failed to be imported.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
702 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 51: Thermal Derating
The Thermal Derating Analysis Module allows ANSYS Sherlock users to compare life cycle Thermal
Events to the minimum and/or maximum rated operating and storage temperature of parts used in a
selected circuit card assembly (CCA). To perform this analysis, Sherlock compares the rated temperature
properties of each part to the temperature experienced by that part during each of the thermal profiles
defined in the product life cycle. Scores are computed for each part, during each event and combined
to yield an overall score for each part and for the entire circuit card over the expected life cycle. Each
part may define both max and min operating and storage temperatures. The type of temperature used
during the analysis is defined by the thermal event life cycle state which may be either operating (default)
or storage. When using part storage temperature and no storage temperature is defined for the part,
the analysis will fallback and use the operating temperature.

Note:

The examples shown in this document are based on the Tutorial Project provided as part of
the Sherlock Tutorial package as discussed in the Project Overview (p. 11) lesson.

Chapter Sections:
Input Data and Analysis Options
Analysis Results

Input Data and Analysis Options

Input Data
The Thermal Derating analysis Module makes use of the following input data for the analysis calcu-
lations:

• Parts List

• Thermal Events

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Analysis Options
As shown in the dialog box below, the required input properties necessary to perform Thermal Derating
analysis are:

The Default Part Temp Rise defines the temperature (above/below ambient) to be assigned to each
part for which the Part Temp Rise property has been assigned the DEFAULT value in the Parts List.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 703
Thermal Derating

The Part Temp Rise is added to temperatures defined in Thermal Event profiles and is ignored when
a Thermal Map is assigned to a specific Thermal Event.

The Apply Min Temp Rise parameter allows users to prevent the part temperature rise value from
being applied to the minimum temperature defined in a thermal cycle. By default, it is applied to the
minimum temperature.

The Part Validation parameter, when enabled, causes the Part Validation Analysis (p. 591) to be per-
formed prior to Thermal Derating Analysis if it has not yet been successfully run.

Additionally, the specific Thermal Event to perform the analysis for must be selected. At least one
Thermal Event must be selected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
704 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Analysis Results
The Thermal Derating Analysis Module generates the following results:

• Summary Panel showing overall score and analysis statistics

• Table of Thermal Event results

• Table of individual part and Thermal Event results

• Table of individual part results for all Thermal Events analyzed against the part

• Score distribution chart showing a histogram of scores for all parts analyzed

• Score distribution chart showing a histogram of scores for all parts by Thermal Events analyzed

To perform Thermal Derating Analysis, we'll start by defining some thermal part properties and re-
viewing all the analysis results. Start by examining the results provided by the Tutorial Project. If you
haven't already done so, import that project now.

Note:

If you modified data for the Tutorial project during the tutorial lessons, it is likely that some
of the Parts List properties have changed and are different than those shown here in this
document. If so, the easiest way to clean things up is to delete the existing Tutorial project
and import it again with the ZIP file provided.

Double-click the Parts List entry of the Inputs folder found in the Main Board folder of the Project
Tree. This will display the Parts List. Right-click on part C1 and select Edit Selected Parts. After the parts
editor for part C1 opens, select the Thermal tab if it isn't already selected. Note that Max Rated Temp
is 70 and Part Temp Rise is set to DEFAULT. The maximum rated temperature is just a guess, so let's
set it to the correct value of 155 degrees for this part and click Save the part editor changes to apply
the change to all parts with the same part number. This should change parts C1-C10.

Using the method employed for modifying part C1, modify part C12-C20 to set the Max Rated Temp
to 125 degrees and apply the changes. Similarly modify parts C21 – C30 to set the Max Rated Temp
to 105.

Finally, select all parts in the Parts List and choose the Edit Selected Properties menu option to set
the Thermal Units property is set to C and the Min Rated Temp to -50 for all parts.

To run the analysis, right-click the Thermal Derating entry of the Analysis folder in the Project Tree
and select Edit Properties. Use a Default Part Temperature Rise of 0 and click Save & Run. The
analysis of the Parts List against the Thermal Events defined in the Environmental and On The Road
life cycles will execute. When it has completed, the icon for Thermal Derating will change to a GREEN
check mark. Right-click again on the Thermal Derating entry and select View Results.

Summary Results
The Summary tab shows the overall thermal derating score, including the number of parts that fall
within the three score levels. The Analysis Statistics section shows the number of parts analyzed,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 705
Thermal Derating

the number of thermal profiles analyzed, the default derating factor, and the number of analysis errors
found.

The Thermal Cycle section shows the number of failing parts, the number of profiles that produced
failing parts, and the number of parts and profiles combined that produced failures. The thermal
profile that produced the worst score for all parts is listed with the score of that profile against those
parts.

Score Distribution Chart


The score distribution chart shows a histogram of scores for all parts analyzed. As is evident from this
chart, 18 parts passed thermal derating analysis. As will be shown during the review of the individual
table results, the parts that passed are the C1 – C10 and C12 - C20 which have a maximum rated
temperature above 105 degrees defined by the Thermal Shock event. Parts C21 -C30 have a maximum
rated temperature of 105 degrees Celsius with the remaining parts having a temperature of 70 degrees
Celsius which is below the maximum temperature of the Thermal Shock profile.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
706 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Event Score Distribution Chart


The event score distribution chart shows a histogram of scores for all parts against each Thermal
Event analyzed. Compare this chart to the Score Distribution Chart and see that many of the parts
that failed overall actually pass one of the Thermal Events. The details can be found when the Part
/ Event scores are reviewed.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 707
Thermal Derating

Table of Individual Results


Sherlock provides three different tables to provide more analysis detail.

Event Scores
By selecting the Event Scores tab, the average score for each Thermal Event across all parts is
displayed. Reviewing these results shows the On the Road phase produced the lowest score.

Part Scores
To see the overall score for each part for each part analyzed, select the Part Scores. This view shows
the failing parts in red which is all of the parts except the 19 parts that were modified in the Parts
List to update the max rated temperature.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
708 of ANSYS, Inc. and its subsidiaries and affiliates.
Analysis Results

Note:

As with all Sherlock analysis results tables, you can double-click any of the rows to view
the part properties for the selected part or right-click any row to export all or part of
the results table to a spreadsheet file.

Part / Event Scores


By selecting the Part / Event Scores tab, the Part Scores view is broken down such that for each
part, the score that part received for each Thermal Events profile is provided. Note how part C21
received an overall score of 0.0 on the Part Scores tab, but reviewing that same part on the Part
/ Event Scores tab reveals that it received a 10.0 for the Temp Cycle event profile but received a
0.0 for the Thermal Shock profile. Since it failed during one of the Thermal Cycles, it is given an
overall score of 0.0 for the entire life cycle.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 709
Thermal Derating

Layer Viewer
Right-click the Thermal Derating entry of the Analysis folder in the Project Tree and select View
Layers. The layer viewer will color-code each part analyzed for thermal derating based on the overall
score that part received.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
710 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 52: Thermal Mech Analysis
All materials expand and contract depending on temperature. The amount of change is characterized
by the Coefficient of Thermal Expansion (CTE) material property, which itself can be temperature de-
pendent. For example, a material may expand more at higher temperatures. In ANSYS Sherlock, CTE
values can be specified for any material in the Material Manager across a range of temperatures. Those
values are then used to determine the best CTE value for a specific temperature during analysis.

When a structure is held in place in two or more locations (such as PCB mount points) and the materials
expand because of a temperature change, the structure necessarily bends, causing stresses throughout
the structure. Such stresses are not caused by any external force, they are caused by the deformation
of the structure itself, pushing against the fixed locations.

The Thermal Mech Analysis Module simulates structural deformation using a Finite Element Analysis
(FEA) model of a PCB and the temperature-dependent properties defined in the Material Manager to
determine the likelihood of solder joint failures for one or more temperatures.

Note:

Thermal Mech Analysis is only supported with Calculix as the FEA engine. When Sherlock
is configured with another FEA engine, Calculix will automatically be used for Thermal Mech
FEA analysis. Importing Thermal Mech results from other FEA engines is not currently suppor-
ted.

Chapter Sections:
Thermal Mech Input Data
Example Model
Thermal Profile Analysis
Thermal Map Analysis
Thermal Image Analysis
Material Properties and Analysis Results

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 711
Thermal Mech Analysis

Thermal Mech Input Data


The Thermal Mech Analysis Module makes use of the following input data:

• Parts List

• Size and location of all parts, plated through-holes, and cutouts

• Size and location of all test points and test fixtures

• Circuit card mechanical properties (stackup data)

• Circuit card outline

• Mesh Properties

If any of the input data listed above is changed, Sherlock will automatically clear the analysis results
for this analysis module.

Note:

For BGAs, you may choose to import a Net list. This allows you to change the location of the
solder balls.

The following input data are also used for Thermal Mech Analysis:

• Temperature-dependent material properties

• Thermal Events

Unlike the previously listed inputs, however, the analysis results will not be automatically cleared if
these inputs are subsequently changed.

As depicted in the image below, the inputs required for Thermal Mech Analysis are organized into
the following groups:

• Analysis Properties

• Modeling Properties

• Thermal Properties

• Thermal Events

Analysis Properties
The TM Result Count (see image below) property specifies the number of results to be retained when
multiple temperatures are specified. In such cases, the analysis results are sorted by maximum strain
values.

The Part Validation property specifies whether or not part property validation should be performed
before the Thermal Mech model is built. This helps prevent long-running analysis based on part

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
712 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Mech Input Data

properties that have not been validated against the Part Library (p. 557) and/or the Approved Vendor
List (p. 87).

Modeling Properties
The Finite Element Analysis (FEA) (p. 209) model created by Sherlock for Thermal Mech Analysis is
basically the same as those created by other analysis modules, such as Mechanical Shock (p. 409),
Harmonic Vibration and Random Vibration (p. 419). The only difference is that temperature dependent
material properties are included in the model for each of the temperatures being tested. All other
model properties, such as the inclusion of PCB traces (p. 259), parts (p. 305), leads (p. 317), heat
sinks (p. 339), etc. are used the same as in the other analysis modules.

Thermal Inputs
The Thermal Properties and Thermal Events tabs can be used to specify one or more analysis runs
to be performed using any combination of the following thermal inputs:

• Thermal Map with Thermal Map

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 713
Thermal Mech Analysis

• Thermal Map Spreadsheet

• Thermal Map Image

The Reference Temp property specifies the base temperature used to determine the amount of
thermal expansion experienced by each material in the model. The Reference Temp is the temperature
at which the model exhibits no thermal expansion. Typically, room temperature (20C) is used as the
reference temperature.

The Temperature Increment property specifies the temperature increment for which to perform the
heat transfer analysis. The analysis is performed in step increments from the reference temperature
to the maximum thermal profile temperature and from the reference temperature to the minimum
thermal profile temperature. The difference from the maximum or minimum temperature and the
reference temperature divided by the temperature increments determines the number of steps in
the heat transfer analysis.

The following sections provide examples for each of these thermal inputs.

Example Model
We will make use of the following relatively simple PCB model to illustrate each of the types of Thermal
Mech analysis that can be performed:

The example model consists of a 3 layer PCB (with traces defined for the top layer), a small number of
parts (some of which have leads defined) on the top of the board and mount pads on each bottom
corner.

Note:

See the Results Management (p. 663) user guide section for details about how the 2D and
3D result viewers can be used to view model properties. See the Project Overview
(p. 11)tutorial for details about the Stackup.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
714 of ANSYS, Inc. and its subsidiaries and affiliates.
Example Model

In the example model, the CTE material property values range from roughly 1e-5 to 1e-4. We can clearly
see the differences in CTE values for the copper and resin materials used to model the top PCB layer.
The Stackup display defines the materials assigned to each PCB layer:

The Parts List is used to define the materials assigned to each part and lead in the model:

Finally, the Material Manager (p. 535) is used to assign the properties to each material used in the
model. In this case, we see the properties assigned to the resin assigned to the top and bottom PCB
layers:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 715
Thermal Mech Analysis

Thermal Profile Analysis


ANSYS Sherlock allows users to define one or more Thermal Events that specify the range of temper-
atures seen during a given operational phase. Sherlock also allows users to specify individual Part Temp
Rise property values in the Parts List for each modeled part. These thermal inputs are combined by
Sherlock during Thermal Mech Analysis to simulate the effects of temperature variation across the CCA.

Note:

See the Life Cycle Management (p. 511) and Parts List Management (p. 597) user guide sections
for details about managing Thermal Event and Part Properties, respectively.

It is important to note that you do NOT have to assign individual Part Temp Rise property values to
all parts in the Parts List. Once all initial part temperatures have been assigned, a preliminary heat
transfer analysis will be performed to determine the temperature of all elements in the FEA model. The
temperature results of the thermal flow analysis will then be used as constraints in a static analysis to
determine the displacement and strain results.

For purposes of illustration, consider the simple Thermal Profile Thermal Event definition shown below.
It defines a thermal cycle from 0 to 30 C that cycles continuously every 140 minutes during the Oper-
ating state of the device.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
716 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Profile Analysis

The Thermal Profile thermal event can be used as input for Thermal Mech Analysis by simply selecting
it in the Thermal Events tab.

If the Use Part Temp Rise property is set to YES, then Sherlock will automatically determine the initial
temperature assigned to each part based on the Part Temp Rise values defined in the Parts List. If that
property is set to NO, then all parts will be assigned the same profile temperature.

For example, if the adjacent Part Temp Rise values are defined in the Parts List, when they are combined
with the Max Temperature in the Thermal Profile event (30C), the initial temperature of the J3, R1
and R2 parts will be set to 50C, 35C and 40C, respectively. After the heat transfer analysis is performed,
the temperatures used for Thermal Mech Analysis would be as follows:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 717
Thermal Mech Analysis

The J3 part is colored with red at 50C, the R2 part is colored mostly with green at 40C and the R1 part
is colored with light blue at 35C. Most of the other elements are colored with blue at 30C, except for
the PCB elements where the hotter part temperatures have flowed outside the part footprint. The PCB
has a relatively low thermal conductivity property, which accounts for the small outflow of heat from
those parts.

Using the thermal flow temperatures, Sherlock computes the displacement and strain results:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
718 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Profile Analysis

Or as seen from below:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 719
Thermal Mech Analysis

Thermal Map Analysis


Thermal Map Spreadsheets are a convenient method for specifying individual temperatures for some
or all of the parts being modeling in a CCA. Unlike the thermal cycle approach described in the previous
section (in which the individual part temperatures are determined by a thermal profile and the Part
Temp Rise values defined in the Parts List), when a Thermal Map spreadsheet is used the individual
part temperatures are taken directly from the spreadsheet file. This gives users direct control over the
temperatures assigned to each part.

It is important to note that you do not have to specify a temperature for every part in the CCA. Sherlock
will assign an initial temperature only to the FEA model elements associated with those parts defined
in theThermal Map spreadsheet. The temperature of all other FEA elements will be determined auto-
matically by running a preliminary heat transfer analysis. Once the thermal flow step has been performed,
the resulting temperatures determined for all model elements will be used to determine the displacement
and strain results.

For purposes of illustration, consider this Thermal Map spreadsheet that defines the temperature for
three different parts.

In order to make use of the spreadsheet data in Sherlock we need to:

1. Add the file to the Sherlock CCA folder,

2. Edit the file properties and assign to one or more Thermal Events and

3. Select the Thermal Events for Thermal Mech Analysis.

1. Add Thermal Map to CCA Folder


Thermal Map Spreadsheet files are added to the Sherlock CCA Files folder using the CCA > Add
File(s) option in the Sherlock Main Menu. At that point you'll be prompted to locate the source file,
which will then be copied into the current Sherlock CCA Folder. The file will remain in the Sherlock
CCA folder until it is deleted using the Delete File menu option in Sherlock.

Note:

All files added to the Files folder of a given CCA are copied from the original source folder
to the CCA folder. As such, if you want to change the values in a Thermal Map Spreadsheet
file you'll need to access the copy in the CCA folder, not the original source folder.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
720 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Map Analysis

2. Edit Thermal Map File Properties


After adding the file to the Files folder, right-click on the file name and select the Edit Properties
option to change the file properties so that Sherlock can process it properly.

Set the File Type to either Thermal Map (CSV) or Thermal Map (Excel) depending on the spreadsheet
format. At that point, Sherlock will attempt to guess the names of the columns to be processed.
Change the number of header rows and/or column names as needed to indicate the proper format
of the file.

The Thermal Profile(s) selection list shows all the Thermal Events currently defined in the project.
In addition to the Thermal Event already present in Phase 1, we will create another event titled
Thermal Map by right clicking Phase 1 from the project tree and selecting Add Thermal Cycle. You
can map the spreadsheet to one or more thermal events depending on your analysis needs. In this
case, we have created a thermal event titled Thermal Map, and will only be using the spreadsheet
to define the Max temperature of the Thermal Map thermal event.

You only need to add the spreadsheet file once to the CCA folder. It can be used anytime thereafter
for various analysis purposes. Moreover, you can change the Thermal Event(s) associated with the
spreadsheet file at any time.

You can visually verify the proper processing of a Thermal Map Spreadsheet file by viewing it in
the 2D Layer Viewer as shown below. In this case, we see that the L1, R1 and D4 parts are colored
properly based on the values in the spreadsheet.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 721
Thermal Mech Analysis

Note:

Thermal map spreadsheet files are only read when the Save button is pressed in the Edit
Properties, storing the results internally in Sherlock. If you need to modify the spreadsheet
after it has been added to a Sherlock CCA, you must use the Edit Properties dialog to re-
process the spreadsheet values.

3. Select Thermal Event for Thermal Mech Analysis


Once a thermal map spreadsheet has been added to the CCA folder and has been mapped to one
or more Thermal Events, you can make use of the part temperature data by simply selecting the
appropriate thermal event in the Thermal Events tab, as shown here:

Note:

The Use Part Temp Rise property is ignored when running Thermal Map analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
722 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Map Analysis

A heat transfer analysis based on the spreadsheet described above would result in the following
overall PCB temperatures:

The parts referenced in the spreadsheet are colored properly based on their specified colors. All
other elements are colored based on the temperatures found during the thermal flow analysis step,
ranging from a minimum of 25C to a maximum of 35C.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 723
Thermal Mech Analysis

Thermal Image Analysis


Thermal Image Maps allow users to perform Thermal Mech Analysis based on thermal images of a
CCA taken during actual usage. Unlike thermal map spreadsheets that define temperatures for individual
parts, a thermal image defines temperatures across the entire PCB. This provides a more accurate input
for the analysis process, but it requires additional pre-processing to ensure that the thermal image is
mapped properly to the PCB being modeled. Sherlock uses the thermal image to automatically determine
the initial temperature of all PCB elements in the FEA model. Then, a heat transfer analysis step is per-
formed to determine the temperature of all elements in the FEA model, including all the parts and
leads. The thermal flow results are then used to determine the displacement and strain of the FEA
model.

For purposes of illustration, consider the following thermal image file showing a hot-spot in the left
center of the board and cool areas on the corners, with temperatures ranging from 50C to 82C.

The image file contains a Thermal Map, a Thermal Legend and an axis orientation diagram. In order
to make use of the image, we need to:

1. Add the file to the Sherlock CCA Folder

2. Edit the File Properties and assign to one or more Thermal Events

3. Align the Thermal Map with the CCA outline

4. Designate the Thermal Legend area and

5. Select the Thermal Event for Thermal Mech Analysis.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
724 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Image Analysis

1. Add Thermal Image to CCA Folder


Thermal image files are added to the Sherlock CCA Files folder using the CCA > Add File(s) option
in the Sherlock Main Menu. At that point you'll be prompted to locate the source file, which will
then be copied into the current Sherlock CCA Folder. The file will remain in the Sherlock CCA Folder
until it is deleted using the Delete File menu option in Sherlock. Add the Thermal [Link] file.

2. Edit Thermal Image File Properties


After adding the file to the Files folder, right-click on the file name and select the Edit Properties
option to change the file properties so that Sherlock can process it properly. At that point, the Edit
File Properties dialog will appear.

Set the File Type property to Thermal Map (Image).

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 725
Thermal Mech Analysis

The Board Side property specifies which side of the board is associated with the thermal image, al-
lowing you to use different thermal images for the top and bottom of the PCB.

The Legend Orientation property specifies how the legend is displayed in the image file, either
Vertical or Horizontal.

The Min Temperature and Max Temperature values indicate the overall range covered by the color
legend in the thermal image.

The Thermal Profile(s) selection list shows all the Thermal Events currently defined in the project.
You can map the spreadsheet to one or more Thermal Events depending on your analysis needs. In
this case, we have already added another Life Cycle Phase named Phase 2, and created a Thermal
Event in Phase 2 named Thermal Image. We will only be using the spreadsheet to define the Max
temperature of the Thermal Image thermal event.

You only need to add the image file once to the CCA folder. It can be used anytime thereafter for
various analysis purposes. Moreover, you can change the Thermal Event(s) associated with the
spreadsheet file at any time.

3. Align Thermal Map With CCA Outline


Typically, there is some amount of distortion in a thermal image caused by the orientation of the
camera and/or other real-world factors. As such, it is necessary to align the thermal image with the
board outline. Once aligned, Sherlock can then automatically determine the temperature for any
point on the PCB surface.

The alignment process begins by right-clicking the thermal image file in the CCA Files folder and se-
lecting the Edit Layer menu option to display the Layer Editor tab in the Sherlock main window.

The Layer Editor displays the thermal image file (shown below) which includes a blue rectangle and
a red rectangle. The blue rectangle indicates the alignment of the Thermal Map to the board outline,
while the red rectangle indicates the Thermal Legend region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
726 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Image Analysis

Note:

When a thermal image file is initially added to Sherlock, the blue and red rectangles will
be set to default locations that need to be modified in order to use the thermal image
properly.

Press the Align Board button at the bottom of the Layer Editor on the Mapping tab to start the
board alignment process. At that point, the corners of the blue rectangle will be highlighted, and a
different set of buttons will be enabled at the bottom of the editor panel.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 727
Thermal Mech Analysis

Left click and drag each of the blue rectangle corners to the appropriate location over the thermal
image. If the board outline is not a simple rectangle, drag the corners of the blue rectangle to locations
that align the map as closely as possible.

After aligning the corners of the blue rectangle, the display should look like this. Press the Done
button to save the alignment parameters.

The Max Bounds button can be used to reset the blue rectangle to the maximum bounds of the
image.

4. Designate Thermal Legend Area


Thermal color legends can be in a variety of places on thermal images. As such, along with the Legend
Orientation property specified in the File Properties dialog, we need to designate the location of the
color legend on the thermal image itself. The process begins by right-clicking the thermal image file
name in the Files folder and selecting the Edit Layer menu option to display the Layer Editor tab in
the Sherlock main window.

The Layer Editor, shown below, displays the thermal image file, a blue rectangle and a red rectangle.
The blue rectangle indicates the alignment of the Thermal Map to the board outline, while the red
rectangle indicates the thermal legend region.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
728 of ANSYS, Inc. and its subsidiaries and affiliates.
Thermal Image Analysis

Press the Align Legend button at the bottom of the Layer Editor on the Mapping tab to start the
board alignment process. At that point, the corners of the red rectangle will be highlighted, and a
different set of buttons will be enabled at the bottom of the editor panel.

Left click and drag each of the red rectangle corners to the appropriate location over the colored
portion of the color legend (not over the legend labels).

After aligning all four red corners, press the Done button to save the alignment parameters.

You can verify correctness of the legend and map alignment by simply moving the mouse pointer
over the image. As the mouse is moved, the temperature determined by Sherlock for that location
will be displayed in the upper left corner of the editor panel. If the values don't appear to be correct,

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 729
Thermal Mech Analysis

check the alignment of the legend to ensure that only the legend colors, not the legend labels or
border, are included inside the red rectangle.

Thermal image maps can also be verified using the 2D Layer Viewer. Simply select the desired thermal
image map and move the mouse over the image. The temperature will be displayed in the upper left
corner of the layer viewer panel as the mouse is moved.

5. Select Thermal Event in Thermal Mech Analysis


Once a thermal image has been added to the CCA folder and has been mapped to one or more
Thermal Events, you can make use of it by simply selecting the appropriate thermal event in the
Thermal Events tab. In this example, we select the Thermal Image event.

Note:

The Use Part Temp Rise property is ignored when running Thermal Map analysis.

When a thermal image is used for Thermal Mech Analysis, Sherlock assigns the temperatures defined
by the thermal image to all the PCB elements on the designated board side. Then, a preliminary heat
transfer analysis step is performed to determine temperatures for all other PCB elements, if any, as
well as elements associated with parts, leads, heat sinks, etc. Using the example thermal image file,
the temperature results would be as follows:

The hot-spot in the middle of the PCB is clearly evident, with cool spots on the corners. The thermal
flow analysis step filled in the temperatures for all parts, leads and mount points.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
730 of ANSYS, Inc. and its subsidiaries and affiliates.
Material Properties and Analysis Results

Material Properties and Analysis Results

Material Properties
The Thermal Mech Analysis Module makes use of the following material properties when building
FEA models:

• Density

• Elastic Modulus

• Poisson Ratio

• CTE

• Thermal Conductivity

• Secant Modulus (BGA's only)

In Sherlock, all these material properties can be defined by either a single value or a list of temperature
dependent values. For most analysis tasks in Sherlock, a single value is usually sufficient. Typically,
the value defined is for room temperature. However, Thermal Mech Analysis is particularly sensitive
to the CTE and Thermal Conductivity values, so users are advised to enter temperature dependent
values for these properties whenever possible. Such updates only need to be done once using the
Material Manager. Organizations can share updates using the import/export capabilities provided
by the Material Manager. See the Material Management (p. 535) User Guide section for more details.

Missing Property Values


The Thermal Conductivity material property was added to Sherlock when the Thermal Mech Ana-
lysis Module was introduced. As such, it is likely that no thermal conductivity value will be defined
for one or more materials on a given system. When such a situation is encountered, Sherlock logs
an analysis issue (and console message) such as the one shown here:

TM: No thermal conductivity defined for FERRITE, using 1.0e-4 W/m-K

As the message indicates, Sherlock automatically uses a default thermal conductivity value of 1E-4
W/m-K.

To eliminate such warnings, use the Material Manager to add the proper value. For example, here
is the edit dialog for the FERRITE material cited in the previous warning. See the Material Manage-
ment (p. 535)User Guide section for more details.

Analysis Results
When Thermal Mech Analysis is performed, Sherlock will generate tabular results for each part,
modeled lead, mount point, and wire bond.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 731
Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
732 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 53: User Data Files and Documents
ANSYS Sherlock uses a collection of data files that define various properties used for data gathering
and analysis. These data files are usually enough to handle most analysis tasks. Nonetheless, if users
need to augment or replace specific properties, they can do so by creating their own CSV data files.
Additionally common document and spreadsheet file types may also be included within a Sherlock
project as a reference or additional documentation. This guide describes the required contents and
location for each of the user-defined CSV data files that are supported.

Chapter Sections:
User Defined Data Files
User Document Files

User Defined Data Files


Users may create their own CSV data files for each of the following types of data:

Table 53.1: User Defined Data Files

Data Type Default Filename / Folder


Material Properties [Link]
Laminate Properties [Link]
Laminate Glass Properties [Link]
Solder Properties [Link]
Package Properties [Link]
Package Images packageImages
Part Type Properties [Link]
PTH Quality Factors [Link]
Acceleration Factors [Link]
Manufacturer Names [Link]

In Versions 4.2 and earlier, all data files must be stored using the filenames listed above in the Sherlock
User Data Folder, which is in the following O/S dependent location (where USERID is the Window user
ID):

Windows XP: c:\Documents and Settings\USERID\Application Data\Sherlock


Windows Vista: c:\Users\USERID\AppData\Roaming\Sherlock
Windows 7: c:\Users\USERID\AppData\Roaming\Sherlock

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 733
User Data Files and Documents

Shared Data Files


Sherlock users may specify the exact name and folder location of each data file by using the Settings
> General Settings option from the main menu, and then selecting Data Store from the side tab.

For example, in the settings shown here, the location of the Material, Laminate, and Package
properties, as well as the Package Images folder, has been moved to the g:\shared data folder.

If that folder is implemented as a network shared folder, then Sherlock users across the network can
share those data files. This not only reduces data maintenance tasks, but it also helps to ensure con-
sistency between users in the same organization. For example, by sharing the Package Properties
data file, as soon as one Sherlock user in the organization adds a new package, that package data
can be used by all other Sherlock users.

For consistency, the default filename is still used in this example, but you are free to use whatever
file name works best for your organization. For example, you may want to include a version number
for each file to be able to better coordinate changes across all Sherlock users.

The Data Store Settings dialog allows you to enter either relative or absolute folder locations. Rel-
ative folder locations are always interpreted using the Sherlock User Data Folder (described above)
as the base folder. For example, the [Link] file specified in the example indicates that the file
should be in the Sherlock User Data Folder itself.

Note, filenames may be specified in the Data Store Settings dialog even if the file doesn't currently
exist. On startup, Sherlock checks for the existence of each file and loads them if found.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
734 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

We now describe the required and optional contents of each of the data files.

Material Properties
The Material properties file may be edited directly as noted here; however, it is recommended that
any changes to the material properties file be made through the Material Manager. See the Material
Management (p. 535) user guide section for more information. The Material properties file may define
the following data columns. Unless noted otherwise each column is required:

Table 53.2: Material Properties File

Column Name Type Description Example


Name String Material Name COPPER
Type Choice ELASTIC, ELASTIC
DEFORMATION_PLASTICITY
SubType Choice ISO, ORTHO, ISO
ENGINEERING_CONSTANTS,
ANISO
Elastic Modulus Numeric Elastic Modulus (MPa) 113000
Poisson Ratio Numeric Poisson's Ratio 0.4
Expansion Type Choice NONE, ISO, ORTHO, ANISO ISO
Expansion Zero Numeric Expansion Zero 0
CTE Numeric CTE (1/C) 1.8
Density Properties Numeric Density (tonne/mm3) 1.70E-009
Usage Choice Slash delimited list of LEAD, LEAD / PAD
PAD, RESIN, FIBER,
HEATSINK, WIREBOND,
POTTING (or empty)
Fatigue Exponent Numeric Fatigue strength exponent -8.6e-2
Fatigue Coefficient Numeric Fatigue strength coefficient 3.2e-03
Thermal Conductivity Numeric Thermal Conductivity 400
(W/m-K)
Tg Numeric Glass transition temperature 150
Class (optional) Choice ALLOY, CERAMIC, POLYMER ALLOY
Shape Factor Numeric Used as input to Material 20
Temperature Values
Calculator
Fracture Strength (optional) Numeric Fracture strength in units 345
MPa for CERAMIC materials
Created By (optional) String Indicates who modified and Sherlock @
when the material was 2017-12-01
created
Modified By (optional) String Indicates by whom and Sherlock
when the material was @2018-01-12
modified.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 735
User Data Files and Documents

Notes (optional) String Free-form text of


user-supplied notes.

The Name column is used as the unique key to determine if a material should be added to the
database or overwritten by the values in the user defined file. Rows that have a blank value for Name
will be ignored.

If one or more values are defined in the Usage column then they must be separated by a slash (/).
Materials that are designated as LEAD materials will appear in the choice list displayed for component
leads. Materials that are designated as PAD materials will appear in the choice lists displayed for
conductor layers and pads. Materials that are designated as RESIN materials will appear in the choice
list displayed for resin layers. Materials that are designated as FIBER materials will appear in the
laminate manager when a glass style is selected.

All other columns defined in the CSV file will be ignored by Sherlock when loading the material data.

Temperature-Dependent Material Properties


Temperature-dependent values can be specified for the following properties:

• Elastic Modulus (MPa)

• Poisson Ratio

• CTE (1/C)

• Density Properties (tonne/mm3)

• Thermal Conductivity (W/m-K)

• Fatigue Exponent and Fatigue Coefficient (used for shock and vibration fatigue cycles to failure
calculations)

Temperature-dependent values are defined as a set of temperature-value pairs and are passed
directly to the FEA engine for all materials used during a given analysis. FEA engines typically use
the given data points to determine the property value for a specific temperature by using linear
interpolation between the bounding data points. For all temperatures below the minimum temper-
ature specified, the value associated with the minimum temperature will be used. Similarly, for all
temperatures above the maximum temperature specified.

Temperature-value pairs are specified using the following notation:

<Value> @ <Temp> <Units>

where <Value> is the property value, <Temp> is the temperature and <Units> are the temperature
units. (NOTE: The value units must be those specified in the list above.) Two or more temperature-
value pairs must be comma separated. For example, the following notation:

400@20C, 320.5@212F

specifies a value of 400 at 20 degrees centigrade and a value of 320.5 at 212 degrees Fahrenheit.
Temperature units can be freely mixed in a given list of temperature-value pairs.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
736 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

In situations where Sherlock needs to determine a temperature-dependent material property value


when no explicit temperature is defined (such as when mixing material property values in a given
PCB layer to determine the average layer property value), a room temperature value of 20C is used
for interpolation purposes.

Laminate Properties
The Laminate properties file may be edited directly as noted here, however, it is recommended that
any changes to the material properties file be made through the Laminate Manager. See the Laminate
Management (p. 499) user guide section for more information. The Laminate Properties file may
define the following data columns. Unless noted otherwise each column is required:

Table 53.3: Laminate Properties File

Column Name Type Description Example


Company String Manufacturer's name ANSYS, Inc.
Material String Material name FR-4
Product Name String Product Name DfR FR-4 Super
CTExy Numeric CTE in XY plane (pre-Tg, 15
max)
CTEz Numeric CTE in Z direction 70
(pre-Tg)
Exy Numeric Tensile Modulus (MPa) 27000
Ez Numeric Out of Plane Modulus 3450
(MPa)
Density Numeric Density (g/cc) 1.8
Conductivity Numeric Thermal Conductivity 400
(W/m-K)
Created By (optional) String Indicates who modified Sherlock @ 2017-12-01
and when the laminate
was created
Modified By (optional) String Indicates by whom and Sherlock @2018-01-12
when the laminate was
modified.
Notes (optional) String Free-form text of
user-supplied notes.

The Company, Material and Product Name columns are used as the unique key to determine if a
laminate should be added to the database or overwritten by the values in the user defined file. Rows
that have a blank value for Company will be ignored.

Values must be specified in all columns listed above.

All other columns defined in the CSV file will be ignored by Sherlock when loading the laminate data.

Temperature-Dependent Laminate Properties


Temperature-dependent values can be specified for the following properties:

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 737
User Data Files and Documents

• CTExy, CTEz (MPa)

• Exy, Ez (ppm/C)

• Density Properties (g/cc)

• Thermal Conductivity (W/m-K)

See the Temperature-Dependent Material Properties (p. 736) section for more information.

Laminate Glass Properties


The Laminate Glass Properties file must define the following data columns:

Table 53.4: Laminate Glass Properties File

Column Name Type Description Example


ID String Unique identifier for glass GS1
style
Construction String Glass style construction 1x 106 0.002 in
description
Resin By Weight (%) Numeric Percentage of resin by 0.75
weight (0-1)
Thickness Numeric Thickness of glass style 0.002
construction
Thickness Units String Units of measure for in
thickness
Resin By Volume (%) Numeric Percentage of resin by 86
volume (0-100)

The Construction column is used as the unique key to determine if a laminate glass style should be
added to the database or overwritten by the values in the user defined file. Rows that have a missing
value for Construction will be ignored. Additionally, the ID column is unique per glass style. When
overriding an existing glass style, use the same ID value.

The glass styles defined in the file will be displayed in the Stackup editor, allowing users to select the
exact type of glass used by a given PCB layer. The resin by weight and thickness are used by Sherlock
when determining the overall mechanical properties of each PCB layer.

Values must be specified in all columns listed above.

All other columns defined in the CSV file will be ignored by Sherlock when loading the laminate glass
data.

Legacy Laminate Glass Properties

Some Sherlock beta version users may have previously used an older format for the Laminate Glass
Style properties. This format is no longer supported, however Sherlock will convert any legacy file to
the new format, however the thickness assigned to a given stackup layer may not be as expected.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
738 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

The new file should have the format above. The following legacy properties should be converted as
following:

• The Glass Style column should be renamed Construction. The best-practice for the format for the
data of this column is 1x 106 0.002 in where 1x is the number of layers, 106 is the glass style, and
0.002 in is the thickness of this given construction.

• The Resin By Weight (%) column was previously defined percentage values between 0 and 100.
The new format should be between 0 and 1.

• The Resign By Volume (%) column is no longer read by Sherlock and is computed automatically.
This column should be removed.

Solder Properties
Unlike the other data files, the solder data file is defined as a VERTICAL CSV file, in which each row
of the file represents a specific property and each column represents a specific solder type. The first
column denotes the property name. For example, the following data file would be acceptable:

Table 53.5: Solder Data File, Example

Solder Name 63Sn37Pb SAC305


Solder Type TIN LEAD LEAD FREE
Elastic Modulus 18996.1@150C 31322.9@150C

The User Defined Solder Properties file MUST define the following data rows:

Table 53.6: Solder Data File, Required Data

Row Name Type Description Example


Solder Name String Unique solder name 63Sn37Pb
Solder Type Choice Tin Lead, Lead Free Tin Lead

The Solder file MAY define the following data rows. If any row is not defined, the value listed as the
example may be used depending on the property:

Table 53.7: Solder Data File, Optional Data

Row Name Type Description Example


Elastic Modulus Numeric Elastic Modulus (MPa) 52755
CTE Numeric CTE (1/C) 2.59E-005
PoissonRatio Numeric Used as the solder material 0.36
Poisson ratio
CTEAtZero Numeric Combined with CTESlope 2.22E-05
and temperature for solder
CTE
CTESlope Numeric Combined with CTEAtZero 8.90E-09
and temperature for solder
CTE

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 739
User Data Files and Documents

ThermalConductivity Numeric Thermal Conductivity 50.6


(W/m-K)
Density Properties Numeric Density (tonne/mm3) 8.49e-9
Fatigue Exponent Numeric Fatigue strength exponent -8.6e-2
Fatigue Coefficient Numeric Fatigue strength coefficient 3.2e-03
CriticalDwellTime Numeric Used to determine strain 20C
energy
Critical Strain Numeric Used when computing 3.75E-004
cycles to failure during
vibration fatigue analysis
ActivationEnergy Numeric Used to determine strain 1414
energy
CriticalMaxTemp Numeric Used to determine strain 368
energy
StrainEnergyCoefficient Numeric Used to determine Cycles to 0.0006061
Fail
LeadedCalibrationFactor Numeric Used by Leaded model to 2
compute Strain Energy
WeibullBetaBGA Numeric BGA model Solder beta 4
WeibullBetaCC Numeric CC model Solder beta 3
WeibullBetaLCCC Numeric LCCC model Solder beta 3
WeibullBetaLeaded Numeric Leaded model Solder beta 3
WeibullBetaThruHole Numeric ThruHole model Solder beta 3
WeibullBetaQFN Numeric QFN model Solder beta 3
FEAPower Numeric Exponent used when 6.4
computing cycles to failure
for shock and vibration
analysis
Correction Factor Numeric List of correction factors for BGA,2.0|
each package used during CBEND,1.26|
harmonic and shock TSOP,1.26
analysis. Each tuple is
separated by a vertical bar.
Within each tuple is the
package name with the
correction factor separated
by a comma.
Random Factor String List of correction factors for BGA,2.0|
each package used during CBEND,2.0|
random vibration analysis. TSOP,2.1
Each tuple is separated by
a vertical bar. Within each
tuple is the package name
with the random correction

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
740 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

factor separated by a
comma.
ThermalShockFactorBGA Numeric List of thermal shock factors 15,1.0|30,1.25|
for BGA model. Each tuple 60,1.5
is separated by a vertical
bar. Each tuple is the hurdle,
comma-separated with the
factor.
ThermalShockFactorCC Numeric List of thermal shock factors 15,1.0|30,1.25|
for CC model. 60,1.5
ThermalShockFactorLCCCC Numeric List of thermal shock factors 15,1.0|30,1.25|
for LCCC model. 60,1.5
ThermalShockFactorLeaded Numeric List of thermal shock factors 15,1.0|30,1.25|
for Leaded model. 60,1.5
ThermalShockFactorThruHole Numeric List of thermal shock factors 15,1.0|30,1.25|
for ThruHole model. 60,1.5
ThermalShockFactorQFN Numeric List of thermal shock factors 15,1.0|30,1.25|
for QFN model. 60,1.5
ThermalShockFactorDefault Numeric List of default thermal shock 15,1.0|30,1.25|
factors. 60,1.5
ShockStrain Numeric Maximum shock strain 7.59E-094
CCCalibration String CC solder model calibration 1:0.0:1.0;
factors. Each tuple is 1:3.2:0.75;
separated by a semi-colon 2:0.0:1.0;
(;). Within each tuple is the 2:3.2:1.0;
calibration factor number, 3:0.0:1.0;
the minimum package size 3:3.2:1.5
to which the factor applies,
and the calibration factor
value.
Created By String Indicates who modified and Sherlock @
when the solder was created 2017-12-01
Modified By String Indicates by whom and Sherlock
when the solder was @2018-01-12
modified.
Notes String Free-form text of
user-supplied notes.

Some properties may allow temperature-dependent material values. See the Temperature-Dependent
Material Properties (p. 736) section for more information.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 741
User Data Files and Documents

Package Properties
The Package Properties file must define the following data columns:

Table 53.8: Package Properties File

Column Name Type Description Example


Package Name String Common Package Name LQFP-64
JEP95 String JEDEC JEP95 designator MS-026
Package Units Choice in, mm, mil, micron mm
Package Length Numeric Package length (long dimension) 10
Package Width Numeric Package width (short dimension) 10
Package Thickness Numeric Package thickness 1.6
Lead Count Integer Number of pins/balls 64
Lead Geometry Choice C_LEAD, GULLWING, J_LEAD, L_LEAD, GULLWING
LEADLESS, STUB, THRUHOLE

The Package Name column is used as the unique key to determine if a part type should be added
to the database or overwritten by the values in the user defined file. Rows that have a blank value
for Package Name will be ignored.

If a value is specified in the JEP95 column then it will be automatically appended to the Package
Name value to create a unique package identifier. Blank values may be specified in the JEP95 column
if no JEDEC designator is known for a given package.

The following optional column may be defined in the Package properties file:

Table 53.9: Package Properties File, Optional Data

Column Name Type Description Example


Aliases String Comma separated list of prefixes LQFP, TQFP

If an Aliases value is defined, then each of the prefixes defined in that list (along with the prefix
defined in the Name column) will be incorporated into a wild-card pattern used to match package
names when importing data. The pattern will automatically include any suffix defined in the Name
column, so only prefix values should be specified in the Aliases column.

The Package Properties file may also define any of the other available package properties. These
properties are listed in the Help > Part Properties document. Any of the properties listed that is
tagged with [PKG] are valid package properties that may be defined. Any other properties defined
will be ignored by Sherlock when loading the package data.

All of the numeric measurements should be specified using the units indicated by the Units column
value.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
742 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

Package Images
The Package Chooser attempts to display an image for each package name or package type selected.
Default images are in the Sherlock Installation directory and are automatically updated whenever
Sherlock is upgraded.

Users can override or augment the default images by placing one or more image files in the pack-
ageImages sub-directory located in the Sherlock User Data Folder, by default. Image files stored in
that directory must satisfy the following conditions:

1. Image files must be in JPEG format, with a suffix of .jpg. For best viewing, the images should be
160x160 pixels, with a white background if possible. Sherlock will automatically re-size images
larger than that size.

2. Image files must be placed in the sub-folder corresponding to the Package Type of the package
being represented. For example, all images to be displayed for CDIP packages should be in the
CDIP sub-folder.

3. Image files must be named using either the standard Sherlock Package Name or the JEP95
identifier. For example, the image file for the CDIP-08 (MO-036AA) package must use either the
[Link] or the [Link] file name.

A default image file can be defined for each Package Type by using the Package Type as the file
name. For example, the default CDIP image would be stored in the CDIP sub-folder using the [Link]
file name. Default images are displayed if no package-specific image file is found in either the Sherlock
Installation Directory or the user defined packageImages directory.

Part Type Properties


The Part Type Properties file must define the following data columns:

Table 53.10: Part Type Properties File

Column Name Type Description Example


designator String Part Designator C
partType String Part Type Capacitor
partMaterial Choice Must be a valid Material Name BARIUMTITANATE

The designator column is used as the unique key to determine if a part type should be added to the
database or overwritten by the values in the user defined file. Rows that have a blank value for des-
ignator will be ignored.

The following optional columns may be defined in the [Link] file:

Table 53.11: Part Type Properties File, Optional Data

Column Type Description Example


Name
dieEnabled String Indicates if DIE tab should be on
enabled for a given part type in the
part editor. Values: on, off

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 743
User Data Files and Documents

frType String Indicates the default failure rate CAP, FIXED, ALUMINUM, DRY
type for the given part type. The
value must be a valid failure rate
type.

All other columns defined in the CSV file will be ignored by Sherlock when loading the part type data.

PTH Quality Factors


The PTH Quality File must define the following data columns:

Table 53.12: PTH Quality File

Column Name Type Description Example


QualityFactor String Unique quality factor name Good
QualityValue Numeric Value associated with quality factor between 6.75
0.0 and 10.0
StrainDistFactor Numeric Strain distribution factor 1.75
WeibullBeta Numeric Weibull beta value used when computing 4
life prediction
PredictionProb Numeric Prediction probability 0.01

The PTH Quality File may optionally define the following additional data columns for each quality
factor:

Table 53.13: PTH Quality File, Optional Data

Column Name Type Description Default


CopperYieldStrength String Copper yield strength in PSI 25000
CopperCTE Numeric CTE of Copper 0.0000185
CopperElasticModulus Numeric Elastic modulus of Copper in PSI 12000000
CopperPlasticModulus Numeric Plastic modulus of Copper 100000
CopperDuctility Numeric Copper ductility 0.3
CopperTensileStrength Numeric Tensile strength in PSI 40000

All other columns defined in the CSV file will be ignored by Sherlock when loading the data.

The following are the default PTH Quality Factors as defined by Sherlock.

Table 53.14: Default PTH Quality Factors

QualityFactor QualityValue StrainDistFactor WeibullBeta PredictionProb


Extraordinary 10.0 1.0 6 0.01
Superior 8.75 1.25 5 0.01
Good 6.75 1.75 4 0.01
Marginal 4.75 2.0 3 0.01
Poor 3.5 2.5 2 0.01

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
744 of ANSYS, Inc. and its subsidiaries and affiliates.
User Defined Data Files

Die Process Node Acceleration Factors


The acceleration factors data file is defined as a vertical CSV file, in which each row of the file represents
a specific property and each column represents a specific process node type. The first column denotes
the property name and the remaining columns denote the values for each of the die process nodes
indicated by that column. Most of the data in this file is used for computing semiconductor wearout
acceleration factors. See the Semiconductor Wearout Analysis (p. 673) user guide section for more in-
formation.

The user defined acceleration factors file MUST define the following data rows:

Table 53.15: Acceleration Factors Data File

Row Name Type Description Example


dieProcessSize Numeric Die feature size 35
dieProcessType Choice PLANAR, FINFET PLANAR
currentDensityExponentVM Numeric EM acceleration factor (n) 2
frequencyExponentEM Numeric EM acceleration factor (m) 2
voltageExponentEM Numeric EM acceleration factor (γ) 2
activationEnergyEM Numeric EM acceleration factor (Ea) 0.6
voltageExponentTDDB Numeric TDDB acceleration factor (γ) 0.5
activationEnergyTDDB Numeric TDDB acceleration factor (Ea) 0.7
frequencyExponentHCI Numeric HCI acceleration factor (n) 1
voltageExponentHCI Numeric HCI acceleration factor(γ) 45
activationEnergyHCI Numeric HCI acceleration factor (Ea) -0.15
voltageExponentNBTI Numeric NBTI acceleration factor (γ) 6
activationEnergyNBTI Numeric NBTI acceleration factor (Ea) 1

Manufacturer Names
Starting in Version 5.2, the user-defined Manufacturer file can be used to define one or more manu-
facturer names and numeric identifiers that are not already recognized by Sherlock. The manufacturer
names can then be searched and selected using the Manufacturer Chooser dialog when adding or
editing a part to ensure that only standard manufacturer names are stored in the Parts List and/or
Part Library.

The Manufacturer file must define the following data columns:

Table 53.16: Manufacturer File

Column Name Type Description Example


manufacturerName String Unique manufacturer name AVX / KYOCERA

(case insensitive)
manufacturerID Numeric Unique manufacturer ID 10002

(must be greater than 10000)

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 745
User Data Files and Documents

If either the manufacturerName or manufacturerID value is not specified in a given CSV row, then
the entire row will be ignored when importing data from the Manufacturer file.

All manufacturer names are converted to upper case when stored or displayed in Sherlock. The nu-
meric manufacturerID is used when storing parts in large part libraries to reduce space requirements
and to speed up queries. As such, once a numeric value is assigned it should never be deleted. Oth-
erwise, Sherlock will not be able to convert the numeric value back to a manufacturer name when
retrieving from a Part Library and will not be able to query the Part Library using that manufacturer
ID.

All other columns defined in the CSV file will be ignored by Sherlock when loading the data.

User Document Files


Along with project specific input files used by Sherlock to model circuit cards, users may wish to also
add other files such as PDF's, Word, and Excel to be use for reference or additional documentation.
These files can be opened directly from within Sherlock. Supported file types include .pdf, .doc, .docx,
.odt, .csv, .ods, .xls, and .xlsx.

To include additional documentation files in Sherlock, select Add File(s) from CCA menu item or the
pop-up Menu from the Files folder for the desired project circuit card. The files will be added to the
project and listed in the Files section for the circuit card. The file should have an icon associated with
it that shows it associated with the default program the operating system will use to open the file.
Double-clicking any file will open the selected file in that program.

Release 2021 R1 - © ANSYS, Inc. All rights reserved. - Contains proprietary and confidential information
746 of ANSYS, Inc. and its subsidiaries and affiliates.

You might also like