12.3. Sherlock Analysis Service- SherlockAnalysisService.proto

Click here to return to the main index to Sherlock's APIs.

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. Clicking on the active links in the table below will take you to the selected API.

Table 12.2: Index to Sherlock Analysis Service APIs

Method NameRequest TypeResponse TypeDescription
For display purposes, the long strings in columns 1 to 3 are broken into multiple lines. The strings should be interpreted as continuous. For example: .GetNaturalFrequencyInputFieldsResponse
getPcbModeling InputFields.GetPcb ModelingInput FieldsRequest.GetPcbModeling InputFields ResponseReturns the list of valid PCB Modeling property field.
getHarmonicVibe InputFields.GetHarmonicVibe InputFieldsRequest.GetHarmonicVibe InputFieldsResponseReturns the list of valid Harmonic Vibe input fields for the provided model source and user configuration.
getICTAnalysis InputFields.GetICTAnalysis InputFields Request.GetICTAnalysis InputFields ResponseReturns the list of valid ICT analysis property fields given the user configuration.
getMechanical ShockInputFields.GetMechanical ShockInputFields Request.GetMechanical ShockInputFields ResponseReturns the list of valid Mechanical Shock input fields for the provided model source and user configuration.
getNatural FrequencyInput Fields.GetNatural Frequency InputFields Request.GetNatural Frequency InputFields ResponseReturns the list of valid Natural Frequency property fields given the user configuration.
getRandomVibe InputFields.GetRandom VibeInput FieldsRequest.GetRandomVibe InputFields ResponseReturns the list of valid Random Vibe input fields for the provided model source and user configuration.
getSolderFatigue InputFields.GetSolderFatigue InputFieldsRequest.GetSolderFatigue InputFieldsResponseReturns the list of valid Solder Fatigue property fields given the user configuration.
runAnalysis.RunAnalysis Request.ReturnCodeRuns one or more Sherlock analysis.
runStrainMap Analysis.RunStrainMap Analysis Request.ReturnCodeRun Sherlock strain map analysis.
updateICT AnalysisProps.UpdateICT AnalysisProps Request.ReturnCodeUpdates the analysis properties for ICT analysis.
updateHarmonic VibeProps.UpdateHarmonic VibePropsRequest.ReturnCodeUpdates the analysis properties for Harmonic Vibe analysis.
updateMechanical ShockProps.UpdateMechanical ShockPropsRequest.ReturnCodeUpdates the analysis properties for Mechanical Shock analysis.
updateNatural FrequencyProps.UpdateNatural FrequencyProps Request.ReturnCodeUpdates the analysis properties for Natural Frequency analysis.
updatePart ModelingRequest.UpdatePart ModelingRequest.ReturnCodeUpdates the part modeling properties for a given project's CCA.
updatePcb ModelingProps.UpdatePcb Modeling PropsRequest.ReturnCodeUpdates the PCB modeling properties for the provided analysis types.
updateRandom VibeProps.UpdateRandom VibeProps Request.ReturnCodeUpdates the analysis properties for Random Vibe analysis.
updateSolder FatigueProps.UpdateSolder FatigueProps Request.ReturnCodeUpdates the analysis properties for Solder Fatigue analysis.
updateThermal MechProps.UpdateThermal Mech PropsRequest.ReturnCodeUpdates the analysis properties for Thermal Mech analysis

12.3.1. Get PCB Modeling Input Fields

12.3.1.1. GetPcbModelingInputFieldsRequest

Request to list the valid PCB Modeling input fields given the user configuration.

12.3.1.2. GetPcbModelingInputFieldsResponse

Table 12.3: GetPcbModelingInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.1.3. Example: Get PCB Modeling Input Fields

Proto Request Example:
{}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.2. Get Harmonic Vibe Input Fields

12.3.2.1. GetHarmonicVibeInputFieldsRequest

Request to list the valid Harmonic Vibe input fields for the provided model source and user configuration.

Table 12.4: GetHarmonicVibeInputFieldsRequest

FieldTypeLabelDescription
modelSourceModelSourceoptionalOptional model source. Default: GENERATED

12.3.2.2. GetHarmonicVibeInputFieldsResponse

Table 12.5: GetHarmonicVibeInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.2.3. Example: Get Harmonic Vibe Input Fields

Proto Request Example
{
  "modelSource": 1
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.3. Get ICT Analysis Input Fields

12.3.3.1. GetICTAnalysisInputFieldsRequest

Request to list the valid ICT analysis input fields given the user configuration.

12.3.3.2. GetICTAnalysisInputFieldsResponse

Table 12.6: GetICTAnalysisInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.3.3. Examples: Get ICT Analysis Input Fields

Proto Request Example
{}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.4. Get Mechanical Shock Input Fields

12.3.4.1. GetMechanicalShockInputFieldsRequest

Request to list the valid mechanical shock input fields for the provided model source and user configuration.

Table 12.7: GetMechanicalShockInputFieldsRequest

FieldTypeLabelDescription
modelSourceModelSourceoptionalOptional model source. Default: GENERATED

12.3.4.2. GetMechanicalShockInputFieldsResponse

Table 12.8: GetMechanicalShockInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.4.3. Examples: Get Mechanical Shock Input Fields

Proto Request Example

{
  "modelSource": 2
}

Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.5. Get Natural Frequency Input Fields

12.3.5.1. GetNaturalFrequencyInputFieldsRequest

Request to list the valid natural frequency input fields given the user configuration.

12.3.5.2. GetNaturalFrequencyInputFieldsResponse

Table 12.9: GetNaturalFrequencyInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.5.3. Example: Get Natural Frequency Input Fields

Proto Request Example:
{}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.6. Get Random Vibe Input Fields

12.3.6.1. GetRandomVibeInputFieldsRequest

Request to list the valid PCB Modeling input fields given the user configuration.

Table 12.10: GetRandomVibeInputFieldsRequest

FieldTypeLabelDescription
modelSourceModelSourceoptionalOptional model source. Default: GENERATED

12.3.6.2. GetRandomVibeInputFieldsResponse

Table 12.11: GetRandomVibeInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.6.3. Example: Get Random Vibe Input Fields

Proto Request Example:
{}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.7. Get Solder Fatigue Input Fields

12.3.7.1. GetSolderFatigueInputFieldsRequest

Request to list the valid solder fatigue input fields given the user configuration.

12.3.7.2. GetSolderFatigueInputFieldsResponse

Table 12.12: GetSolderFatigueInputFieldsResponse

FieldTypeLabelDescription
fieldNamestringrepeated 

12.3.7.3. Examples: Get Solder Fatigue Input Fields

Proto Request Example
{}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.8. Run Analysis

12.3.8.1. RunAnalysisRequest

Request to run one or more Sherlock analyses given the project path, CCA name, analyses, Life Cycle phases and events.

Table 12.13: RunAnalysisRequest

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: RunAnalysisRequest.Analysis
projectDirstring The full path to the Sherlock project directory.
ccaNamestring The CCA name.
analysesRunAnalysisRequest .Analysisrepeated 

12.3.8.2. RunAnalysisRequest.Analysis

Table 12.14: RunAnalysisRequest.Analysis

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: RunAnalysisRequest.Analysis.AnalysisType
typeRunAnalysisRequest.Analysis .AnalysisType  
phasesRunAnalysisRequest.Analysis.Phaserepeated 

12.3.8.3. RunAnalysisRequest.Analysis.Phase

Table 12.15: RunAnalysisRequest.Analysis.Phase

FieldTypeLabelDescription
For display purposes, the long string in column two is broken into multiple lines. It should be interpreted as: RunAnalysisRequest.Analysis.Phase.Event
namestring Life cycle phase name.
eventsRunAnalysisRequest. Analysis.Phase.Eventrepeated 

12.3.8.4. RunAnalysisRequest.Analysis.Phase.Event

Table 12.16: RunAnalysisRequest.Analysis.Phase.Event

FieldTypeLabelDescription
namestring Life cycle event name.

12.3.8.5. 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"
            }
          ]
        }
      ]
    }
  ]
}
Python Example

For a Python example, refer to the online PySherlock Reference.

12.3.9. Run Strain Map Analysis

12.3.9.1. RunStrainMapAnalysisRequest

Request to run Sherlock strain map analysis given the project name, CCA name, and strain maps.

Table 12.17: RunStrainMapAnalysisRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
ccaNamestring The CCA name of the main CCA for the analysis.
strainMapAnalysesrepeated 
RunStrainMapAnalysisRequest.StrainMapAnalysis

12.3.9.2. RunStrainMapAnalysisRequest.StrainMapAnalysis

Table 12.18: RunStrainMapAnalysisRequest.StrainMapAnalysis


12.3.9.3. RunStrainMapAnalysisRequest.StrainMapAnalysis.EventStrainMap

Table 12.19: RunStrainMapAnalysisRequest.StrainMapAnalysis.EventStrainMap

FieldTypeLabelDescription
phaseNamestring Life cycle phase name.
eventNamestring Life cycle event name.
pcbSidestring PCB side for the strain map. Supported values are: TOP, BOTTOM.
strainMapstring Strain map assigned to the event.
subAssemblyNamestringoptionalThe name of the sub-assembly CCA to be assigned the strain map.

12.3.9.4. Example: runStrainMapAnalysis()

Proto Request Example
{
  "project": "Tutorial Project",
  "ccaName": "Main Board",
  "strainMapAnalyses": [
    {
      "type": 1,
      "eventStrainMaps": [
        {
          "phaseName": "On The Road",
          "eventName": "1 - Vibration",
          "pcbSide": "TOP",
          "strainMap": "StrainMap - Top",
          "subAssemblyName": "Main Board"
        },
        {
          "phaseName": "On The Road",
          "eventName": "1 - Vibration",
          "pcbSide": "BOTTOM",
          "strainMap": "StrainMap - Bottom",
          "subAssemblyName": "Main Board"
        }
      ]
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.10. Update Harmonic Vibe Props

12.3.10.1. UpdateHarmonicVibePropsRequest

Request to update the harmonic vibe analysis properties one or more CCA's in the project indicated.

Table 12.20: UpdateHarmonicVibePropsRequest

FieldTypeLabelDescription
projectstring Project name.
harmonicVibe PropertiesUpdateHarmonicVibe PropsRequest. HarmonicViberepeated 

12.3.10.2. UpdateHarmonicVibePropsRequest.HarmonicVibe

Table 12.21: UpdateHarmonicVibePropsRequest.HarmonicVibe

FieldTypeLabelDescription
ccaNamestring CCA name for which the harmonic vibe properties are set.
modelSourceModelSourceoptionalOptional model source. Default: GENERATED.
harmonicVibeCountint32optionalNumber of harmonic result layers to generate.
harmonicVibe DampingstringoptionalModal Damping Ratio(s).
partValidation EnabledbooloptionalFlag indicating if part validation should be performed.
requireMaterial AssignmentEnabledbooloptionalFlag indicating if material assignment is required.
analysisTempdoubleoptionalTemperature.
analysisTempUnitsstringoptionalTemperature units.
forceModelRebuildstringoptionalModel Creation. Valid values are "FORCE" or "AUTO"
filterByEvent FrequencybooloptionalFlag indicating if harmonic results outside selected event range are imported.
naturalFreqMinuint32optionalMin Frequency. For NX Nastran analysis only.
naturalFreqMinUnitsstringoptionalMin Frequency units. For NX Nastran analysis only.
naturalFreqMaxuint32optionalMax Frequency. For NX Nastran analysis only.
naturalFreqMaxUnitsstringoptionalMax Frequency units. For NX Nastran analysis only.
reuseModalAnalysisbooloptionalReuse Natural Frequency. For NX Nastran analysis only.

12.3.10.3. Example: Update Harmonic Vibe Props

Proto Request Example
{
  "project": "Tutorial",
  "harmonicVibeProperties": [
    {
      "ccaName": "Main Board",
      "modelSource": 0,
      "harmonicVibeCount": 10,
      "harmonicVibeDamping": "0.01, 0.02",
      "partValidationEnabled": true,
      "requireMaterialAssignmentEnabled": true,
      "analysisTemp": 50.5,
      "analysisTempUnits": "C",
      "forceModelRebuild": "AUTO",
      "filterByEventFrequency": true,
      "naturalFreqMin": 20,
      "naturalFreqMinUnits": "HZ",
      "naturalFreqMax": 2000,
      "naturalFreqMaxUnits": "HZ",
      "reuseModalAnalysis": true
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.11. Update ICT Analysis Props

12.3.11.1. UpdateICTAnalysisPropsRequest

Request to update ICT Analysis properties.

Table 12.22: UpdateICTAnalysisPropsRequest

FieldTypeLabelDescription
projectstring Project name.
ictAnalysisPropertiesrepeated 
UpdateICTAnalysisPropsRequest.ICTAnalysis

12.3.11.2. UpdateICTAnalysisPropsRequest.ICTAnalysis

Table 12.23: UpdateICTAnalysisPropsRequest.ICTAnalysis

FieldTypeLabelDescription
ccaNamestring CCA name.
applicationTimedoubleoptionalApplication Time.
applicationTimeUnitsstringoptionalApplication Time Units.
numberOfEventsuint32optionalNumber of Events.
partValidationEnabledbooloptionalPart Validation.
requireMaterial AssignmentEnabledbooloptionalFlag indicating if material assignment is required.
forceModelRebuildstringoptionalModel Creation. Valid values are "FORCE" or "AUTO".
ictResultCountint32optionalNumber of ICT layers to generate when using thermal analysis.

12.3.11.3. Example: Update ICT Analysis Props

Proto Request Example
{
  "project": "Tutorial",
  "ictAnalysisProperties": [
    {
      "ccaName": "Main Board",
      "applicationTime": 1.4,
      "applicationTimeUnits": "sec",
      "numberOfEvents": 10,
      "partValidationEnabled": true,
      "requireMaterialAssignmentEnabled": true,
      "forceModelRebuild": "FORCE",
      "ictResultCount": 10
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.12. Update Mechanical Shock Props

12.3.12.1. UpdateMechanicalShockPropsRequest

Request to update the mechanical shock analysis properties.

Table 12.24: UpdateMechanicalShockPropsRequest

FieldTypeLabelDescription
projectstring Project name.
mechanicalShockPropertiesrepeated 
UpdateMechanicalShockPropsRequest.MechanicalShock

12.3.12.2. UpdateMechanicalShockPropsRequest.MechanicalShock

Table 12.25: UpdateMechanicalShockPropsRequest.MechanicalShock

FieldTypeLabelDescription
ccaNamestring CCA name for which the mechanical properties are set.
modelSourceModelSourceoptionalDefault is GENERATED.
shockResultCountint32optionalMechanical Shock Result Count.
criticalShockStraindoubleoptionalCritical Shock Strain.
criticalShockStrainUnitsstringoptionalCritical Shock Strain units.
partValidationEnabledbooloptionalFlag indicating if part validation should be performed.
booloptionalFlag indicating if material assignment is required.
requireMaterialAssignmentEnabled
forceModelRebuildstringoptionalModel Creation. Valid values are "FORCE" or "AUTO"
naturalFreqMinuint32optionalMin Frequency.
naturalFreqMinUnitsstringoptionalMin Frequency units.
naturalFreqMaxuint32optionalMax Frequency.
naturalFreqMaxUnitsstringoptionalMax Frequency units.
analysisTempdoubleoptionalTemperature.
analysisTempUnitsstringoptionalTemperature units.

12.3.12.3. Example: Update Mechanical Shock Props

Proto Request Example

{
  "project": "Tutorial",
  "mechanicalShockProperties": [
    {
      "ccaName": "Main Board",
      "modelSource": 1,
      "shockResultCount": 2,
      "criticalShockStrain": 6,
      "criticalShockStrainUnits": "µε",
      "partValidationEnabled": true,
      "requireMaterialAssignmentEnabled": true,
      "forceModelRebuild": "AUTO",
      "naturalFreqMin": 10,
      "naturalFreqMinUnits": "HZ",
      "naturalFreqMax": 2000,
      "naturalFreqMaxUnits": "HZ",
      "analysisTemp": 100.5,
      "analysisTempUnits": "F"
    }
  ]
}

Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.13. Update Natural Frequency Properties

12.3.13.1. UpdateNaturalFrequencyPropsRequest

Request to update natural frequency analysis properties.

Table 12.26: UpdateNaturalFrequencyPropsRequest

FieldTypeLabelDescription
projectstring Project name.
ccaNamestring CCA name.
naturalFreqCountint32 NF Result Count.
naturalFreqMindouble Min Frequency.
naturalFreqMinUnitsstring Min Frequency units (HZ, KHZ, MHZ, or GHZ).
naturalFreqMaxdouble Max Frequency.
naturalFreqMaxUnitsstring Max Frequency units (HZ, KHZ, MHZ, or GHZ).
partValidationEnabledbool Part Validation.
requireMaterialAssignmentEnabledbool Require Material Assignment.
analysisTempdoubleoptionalTemperature.
analysisTempUnitsstringoptionalTemperature units (C, F, or K).

12.3.13.2. Example: Update Natural Frequency Properties

Proto Request Example:
{
  "project": "Tutorial Project",
  "ccaName": "Main Board",
  "naturalFreqCount": 8,
  "naturalFreqMin": 100,
  "naturalFreqMinUnits": "HZ",
  "naturalFreqMax": 1000,
  "naturalFreqMaxUnits": "HZ",
  "partValidationEnabled": true,
  "requireMaterialAssignmentEnabled": true,
  "analysisTemp": 20,
  "analysisTempUnits": "C"
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.14. Update Part Modeling

12.3.14.1. UpdatePartModelingRequest

Request to update FEA part modeling properties.

Table 12.27: UpdatePartModelingRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
ccaNamestring The CCA name.
partEnabledbool Whether to enable part modeling. Ignores all other fields if part modeling is disabled.
partMinSizedoubleoptionalThe minimum part size.
partMinSizeUnitsstringoptionalUnits for minimum part size.
partElemOrderstringoptionalElement order.
partMaxEdgeLengthdoubleoptionalMaximum mesh size.
partMaxEdgeLengthUnitsstringoptionalUnits for maximum mesh size.
partMaxVerticaldoubleoptionalVertical mesh size.
partMaxVerticalUnitsstringoptionalUnits for vertical mesh size.
partResultsFilteredbooloptionalWhether to enable filtered part results.

12.3.14.2. Example: Update Part Modeling

Proto Request Example
{
  "project": "Tutorial",
  "ccaName": "Main Board",
  "partEnabled": true,
  "partMinSize": 0.1,
  "partMinSizeUnits": "mm",
  "partElemOrder": "Second Order (Quadratic)",
  "partMaxEdgeLength": 3.45,
  "partMaxEdgeLengthUnits": "mm",
  "partMaxVertical": 1.23,
  "partMaxVerticalUnits": "mm",
  "partResultsFiltered": false
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.15. Update PCB Modeling Properties

12.3.15.1. UpdatePcbModelingPropsRequest

Request to update FEA analysis PCB Modeling properties.

Table 12.28: UpdatePcbModelingPropsRequest

FieldTypeLabelDescription
projectstring Sherlock project name.
ccaNamesstringrepeatedThe CCA names for which to assign the PCB modeling parameters.
analysesrepeated 
 UpdatePcbModelingPropsRequest.Analysis

12.3.15.2. UpdatePcbModelingPropsRequest.Analysis

Table 12.29: UpdatePcbModelingPropsRequest.Analysis

FieldTypeLabelDescription
type The type of analysis for which PCB modeling properties apply.
UpdatePcbModelingPropsRequest.Analysis.AnalysisType
modelType The PCB modeling mesh type.
UpdatePcbModelingPropsRequest.Analysis.PcbModelType
modelingRegionEnabledbool Indicates if modeling regions are enabled.
pcbMaterialModel The PCB modeling PCB model type.
UpdatePcbModelingPropsRequest.Analysis.PcbMaterialModel
pcbMaxMaterialsint32optionalThe number of PCB materials for Uniform Elements and Layered Elements PCB model types.
pcbElemOrderElementOrder The element order for PCB elements.
pcbMaxEdgeLengthdouble The maximum mesh size for PCB elements.
pcbMaxEdgeLengthUnitsstring The length units for the maximum mesh size.
pcbMaxVerticalbool The maximum vertical mesh size for PCB elements.
pcbMaxVerticalUnitsstring The length units for the maximum vertical mesh size.
quadsPreferredbool Indicates that the meshing engine should attempt to generate quad-shaped elements when creating the mesh.

12.3.15.3. Example: Update PCB Modeling Properties

Proto Request Example:
{
  "project": "Tutorial Project",
  "ccaNames": [
    "Main Board"
  ],
  "analyses": [
    {
      "type": 6,
      "modelType": 1,
      "modelingRegionEnabled": true,
      "pcbMaterialModel": 2,
      "pcbMaxMaterials": 5,
      "pcbElemOrder": 1,
      "pcbMaxEdgeLength": 0.5,
      "pcbMaxEdgeLengthUnits": "mm",
      "pcbMaxVertical": 1,
      "pcbMaxVerticalUnits": "mm",
      "quadsPreferred": true
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.16. Update Random Vibe Properties

12.3.16.1. UpdateRandomVibePropsRequest

Request to update random vibe analysis properties.

Table 12.30: UpdateRandomVibePropsRequest

FieldTypeLabelDescription
projectstring Project name.
ccaNamestring CCA name.
randomVibeDampingstringoptionalModal Damping Ratio(s).
naturalFreqMindoubleoptionalMin Frequency. For NX Nastran analysis only.
naturalFreqMinUnitsstringoptionalMin Frequency units. For NX Nastran analysis only.
naturalFreqMaxdoubleoptionalMax Frequency. For NX Nastran analysis only.
naturalFreqMaxUnitsstringoptionalMax Frequency units. For NX Nastran analysis only.
analysisTempdoubleoptionalTemperature.
analysisTempUnitsstringoptionalTemperature units.
partValidationEnabledbooloptionalPart Validation.
forceModelRebuildstringoptionalModel Creation. Valid values are "FORCE" or "AUTO"
reuseModalAnalysisbooloptionalReuse Natural Frequency. For NX Nastran analysis only.
performNFFreqRangeCheckbooloptionalFrequency Range Check. For NX Nastran analysis only.
requireMaterialAssignmentEnabledbooloptionalRequire Material Assignment.
modelSourceModelSourceoptionalOptional model source. Default: GENERATED
strainMapNaturalFreqsstringoptionalComma-separated list of natural frequencies for strain map analysis.

12.3.16.2. Example: Update Random Vibe Properties

Proto Request Example:
{
  "project": "Tutorial Project",
  "ccaName": "Main Board",
  "randomVibeDamping": "0.01",
  "naturalFreqMin": 0,
  "naturalFreqMinUnits": "HZ",
  "naturalFreqMax": 500,
  "naturalFreqMaxUnits": "HZ",
  "analysisTemp": 0,
  "analysisTempUnits": "C",
  "partValidationEnabled": true,
  "forceModelRebuild": "AUTO",
  "reuseModalAnalysis": true,
  "performNFFreqRangeCheck": true,
  "requireMaterialAssignmentEnabled": true
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.17. Update Solder Fatigue Props

12.3.17.1. UpdateSolderFatiguePropsRequest

Request to update solder fatigue properties.

Table 12.31: UpdateSolderFatiguePropsRequest

FieldTypeLabelDescription
projectstring Project name.
solderFatiguePropertiesUpdateSolderFatigue PropsRequest. SolderFatiguerepeated 

12.3.17.2. UpdateSolderFatiguePropsRequest.SolderFatigue

Table 12.32: UpdateSolderFatiguePropsRequest.SolderFatigue

FieldTypeLabelDescription
ccaNamestring CCA name for which the mechanical properties are set.
solderMaterialstringoptionalName of the solder material.
partTempdoubleoptionalPart temperature rise.
partTempUnitsstringoptionalPart temperature rise units.
partTempRiseMinEnabledbooloptionalFlag indicating if part temperature minimum rise should be enabled.
partValidationEnabledbooloptionalFlag indicating if part validation should be performed.

12.3.17.3. Example: Update Solder Fatigue Props

Proto Request Example
{
  "project": "Tutorial",
  "solderFatigueProperties": [
    {
      "ccaName": "Main Board",
      "solderMaterial": "SAC305",
      "partTemp": 5.25,
      "partTempUnits": "C",
      "partTempRiseMinEnabled": true,
      "partValidationEnabled": false
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.18. Update Thermal Mech Properties

12.3.18.1. UpdateThermalMechPropsRequest

Request to update thermal mech analysis properties.

Table 12.33: UpdateThermalMechPropsRequest

FieldTypeLabelDescription
projectstring Project name.
ccaNamestringrepeatedCCA names.
thermalResultCountint32 Thermal Mech Result Count.
partValidationEnabledbool Part Validation.
bool Require Material Assignment.
requireMaterialAssignmentEnabled

12.3.18.2. Example: Update Thermal Mech Properties

Proto Request Example:
{
  "project": "Tutorial Project",
  "ccaName": [
    "Main Board"
  ],
  "thermalResultCount": 4,
  "partValidationEnabled": true,
  "requireMaterialAssignmentEnabled": true
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.19. ElementOrder

Enumeration defining the types of suppored element orders.

Table 12.34: ElementOrder

NameNumberDescription
UnknownOrder0Default enum to catch invalid element order.
Linear1Enum for first order linear elements.
Quadratic2Enum for second order quadratic elements.
SolidShell3Enum for solid shell elements.

12.3.20. ModelSource

Table 12.35: ModelSource

NameNumberDescription
UNKNOWN0Default enum to catch invalid source.
GENERATED1Generated analysis model source.
STRAIN_MAP2Strain map analysis model source.

12.3.21. RunAnalysisRequest.Analysis.AnalysisType

Table 12.36: RunAnalysisRequest.Analysis.AnalysisType

NameNumberDescription
UNKNOWN0Default enum to catch invalid analysis.
NaturalFreq1Enum for the Natural Frequency analysis.
HarmonicVibe2Enum for the Harmonic Vibe analysis.
ICTAnalysis3Enum for the ICA analysis.
MechanicalShock4Enum for the Mechanical Shock analysis.
RandomVibe5Enum for the Random Vibe analysis.
ComponentFailureMode7Enum for the Component Failure Mechanism analysis.
DFMEAModule8Enum for the DFMEA analysis.
PTHFatigue9Enum for the PTH Fatigue analysis.
PartValidation10Enum for the Part Validation analysis.
SemiconductorWearout11Enum for the Semiconductor Wearout analysis.
SolderJointFatigue12Enum for the Solder Fatigue analysis.
ThermalDerating13Enum for the Thermal Derating analysis.
ThermalMech14Enum for the Thermal Mech analysis.

12.3.22. RunStrainMapAnalysisRequest.StrainMapAnalysis.AnalysisType

Table 12.37: RunStrainMapAnalysisRequest.StrainMapAnalysis.AnalysisType

NameNumberDescription
UNKNOWN0Default enum to catch invalid analysis.
RandomVibe1Enum for the Random Vibe analysis.

12.3.22.1. Example: Run Strain Map Analysis

Proto Request Example:
{
  "project": "Tutorial Project",
  "ccaName": "Main Board",
  "strainMapAnalyses": [
    {
      "type": 1,
      "eventStrainMaps": [
        {
          "phaseName": "On The Road",
          "eventName": "1 - Vibration",
          "pcbSide": "TOP",
          "strainMap": "StrainMap - Top",
          "subAssemblyName": "Main Board"
        }
      ]
    },
    {
      "type": 1,
      "eventStrainMaps": [
        {
          "phaseName": "On The Road",
          "eventName": "1 - Vibration",
          "pcbSide": "BOTTOM",
          "strainMap": "StrainMap - Bottom",
          "subAssemblyName": "Main Board"
        }
      ]
    }
  ]
}
Python Example:

For a Python example, refer to the online PySherlock Reference.

12.3.23. UpdatePcbModelingPropsRequest.Analysis.AnalysisType

Table 12.38: UpdatePcbModelingPropsRequest.Analysis.AnalysisType

NameNumberDescription
UnknownAnalysisType0Default enum to catch invalid analysis.
HarmonicVibe1Enum for the Harmonic Vibe analysis.
ICTAnalysis2Enum for the ICT analysis.
MechanicalShock3Enum for the Mechanical Shock analysis.
NaturalFreq4Enum for the Natural Frequency analysis.
RandomVibe5Enum for the Random Vibe analysis.
ThermalMech6Enum for the Thermal Mech analysis.

12.3.24. UpdatePcbModelingPropsRequest.Analysis.PcbMaterialModel

Table 12.39: UpdatePcbModelingPropsRequest.Analysis.PcbMaterialModel

NameNumberDescription
UnknownPcbModel0Default enum to catch invalid PCB model.
Uniform1Enum for uniform PCB model.
Layered2Enum for layered PCB model.
UniformElements3Enum for uniform elements PCB model.
LayeredElements4Enum for layered elements PCB model.

12.3.25. UpdatePcbModelingPropsRequest.Analysis.PcbModelType

Table 12.40: UpdatePcbModelingPropsRequest.Analysis.PcbModelType

NameNumberDescription
UnknownMeshType0Default enum to catch invalid mesh type.
Bonded1Bonded FEA model.