SimSolidAnalysis (hwx.inspire.FEAnalysis)#
- class SimSolidAnalysis(params={}, runOptions={}, ignoreWarnings=False)#
Bases:
Analysis
Run structural analysis using SimSolid
# Name
Type
# Name
Description
export
(file, params={}, runOptions={}, ignoreWarnings=False)Download solver file (.fem, .ssp) for run
importResults
(self, showExplorer=True)Make results available in the Analysis Explorer.
openResults
(self, stage=0)Open the h3d file to get a cls.Results object.
Example
from hwx.common import settings from hwx.inspire.demo import openDemoFile solverSetting = "Inspire/Run Options/Run Options/Analysis solver" if settings.getSetting(solverSetting) == "SimSolid": from hwx.inspire import SimSolidAnalysis, gui, usingUnits model = openDemoFile('ThreeBlocks.stmod') part1 = model.getChild('Part 1') pressure = model.getChild("Pressure 1") params = SimSolidAnalysis.Params() # Params can also be set by calling setValues params.setValues(gravity = True, inertiaRelief=False) # Params can also be set by directly assigning the values params.gravity = False params.runName = "ThreeBlockModified" print('params:', repr(params)) with gui.waitCursor(message="Solving..."): analysis = SimSolidAnalysis(params) results = analysis.openResults() # Results in 'IPS' units with usingUnits("IPS"): print('results:', results) # We can also fetch the results at particular location print("Displacement : "+str(results.getAtPoint(0, 'Displacement', pressure.location))) # Min max for a specific result type and part print("MinMax value of Displacement : "+str(results.getMinMax(0, 'Displacement', part=part1))) else: # Analysis will fail with license error print('Change Analysis solver to "SimSolid" in the preferences')
- class Results(resultsManager, synth, stageIndex)#
Bases:
Stage
Analysis results from .h3d file
Can be accessed like a dict of dicts. Use repr(results) to view available subCases and result types
# Name
Description
getAtPoint
(self, subCase, type, point, step=None, units=False)Get value of specified type at a point (float)
getBucklingLoadFactor
(self, subCase, mode)Get Buckling load factor of specified mode
getFrequency
(self, mode)Get Normal frequency of specified mode
getMinMax
(self, subCase, type, step=None, part=None, units=False, withPos=False)Get (min, max) value of specified type.
- getAtPoint(subCase, type, point, step=None, units=False)#
Get value of specified type at a point (float)
- Parameters:
subCase (str or int) – Name or index of subcase
type (str or int) – Result type name or id
point (Point) – 3d point to fetch value at
step (int) – Simulation step. Leave as None for all steps
units (bool) – Get value with units
- getBucklingLoadFactor(subCase, mode)#
Get Buckling load factor of specified mode
- Parameters:
subCase (str or int) – Name or index of subcase
mode (int) – Buckling Mode index (starts with 1)
- getFrequency(mode)#
Get Normal frequency of specified mode
- Parameters:
mode (int) – Normal Mode index (starts with 1)
- getMinMax(subCase, type, step=None, part=None, units=False, withPos=False)#
- Get (min, max) value of specified type.
If withPos is True then it returns (min, max, min_pos, max_pos) where min_pos and max_pos are (x, y, z) tuples.
- Parameters:
subCase (str or int) – Name or index of subcase
type (str or int) – Result type name or id
step (int) – Simulation step. Leave as None for all steps
part (Part) – Get min/max for specific part. Leave as None for all Parts
units (bool) – Get min/max with units
withPos (bool) – Get positions for min/max
- class RunOptions(**kwds)#
Bases:
Struct
# Name
Type
property
property
- property isRemoteRun#
(bool) Is remote run
- repr()#
Convert params to a dict which can be used to reconstruct it.
Readonly attributes are removed and structs are compacted.
- todict()#
Convert params to a dict containing all properties
- property waitTillFinish#
(bool) Use False to do multiple runs in parallel
- class Status(value)#
Bases:
Enum
An enumeration.
# Name
Type
ERROR
Status
FE_NOT_REALIZED
Status
GENERATING_FE_MODEL
Status
INFEASIBLE_DESIGN
Status
INITIALIZED
Status
MESH_NOT_GENERATED
Status
NOT_CONVERGED
Status
NOT_STARTED
Status
PARTS_NOT_CONNECTED
Status
RUNNING
Status
SUCCESS
Status
TERMINATED
Status
WARNING
Status
- property active#
Returns or sets the object activeness.
Setting this on or off sets all children. Setting to True sets all the parents active too.
- destroy()#
Delete the object removing it from the model.
The object may come back due to an undo/redo.
- getAllChildren(type=None, **kwds)#
Returns a list of all children that matches the specified type.
- Parameters:
type (list[Named]) – Filter to use to get the children based on object type.
**kwds – Additional keyword arguments to match other attributes of the object.
- Returns:
The list of children that satisfy the supplied filters.
- Return type:
list[Union[Part, Motor, BoundaryCondition, …]]
- getAttribute(name)#
Returns the Attribute off the class, not the value.
- Parameters:
name (str) – Attribute name to find its class.
- getChild(name=None, recursive=False, **kwds)#
Returns the child of the object which matches the specified unique name.
- Parameters:
name (str) – The name of the child object.
recursive (bool) – Search all descendents.
**kwds – Additional keyword arguments to match attributes of the object.
- Returns:
The child object which satisfies the specified filters.
- Return type:
- getChildren(type=None, recursive=False, sorted=False, **kwds)#
Returns a list of children that is of the specified type.
- Parameters:
type (Type[Named]) – Filter objects by class.
recursive (bool) – True to get all descendent Parts and Assemblies.
sorted (bool) – Sort the children base on id.
- Returns:
list[Named]
- getDependents(recursive=False, **kwds)#
Get objects that reference this object through a Reference attribute.
- Parameters:
recursive (bool) –
**kwds – Filter objects using isa.
- Returns:
set[Named]
- getGuiValue(attr, **kwds)#
Get value formatted to be shown in the gui
- Parameters:
attr (str) – Attribute name to gets its gui value.
- Returns:
Returns a string of the value with its gui units, like “5 mm/s”.
- Return type:
str
- getReferences(recursive=False, **kwds)#
Get objects this object references through a Reference attribute.
- Parameters:
recursive (bool) –
**kwds – Filter objects using isa.
- Returns:
set[Named]
- getValue(attr)#
Return the attribute value for passed attribute name.
- Parameters:
attr (String) – Attribute name to gets its value.
- Returns:
Returns the attribute value
- Return type:
str
- importResults(showExplorer=True)#
Make results available in the Analysis Explorer.
- Parameters:
showExplorer (bool) – Opens the Analysis Explorer dialog (gui mode only)
- property imported#
If True, Results are loaded.
- isa(type=None, filter=None, name=None, wildcard=None, **kwds)#
Determines if the object matches the specified settings or not.
- Parameters:
type (Union[Part, Assembly, Contact..]) – The type of the object.
filter (method) – Return value of specified callback method.
name (str) – Name that matches exactly with object name.
wildcard (str) – A pattern to match exactly with the object name.
**kwds – Additional keyword arguments to match other attributes.
- Returns:
True, if a match is found, otherwise False.
- Return type:
bool
- modelPositions()#
Forces all objects to return the original model positions instead of the current analysis positions.
Useful when defining draw methods on GeneralObjects where behaviour is different while animating.
- property name#
Returns or sets the name of the object.
It can be any text string, including spaces, although it’s best to avoid using the following characters: ” ‘ * ? and $.
While these characters are allowed, they could create difficulties when you export the model to other applications.
- openResults(stage=0)#
Open the h3d file to get a cls.Results object.
- Usage:
- with run.openResults() as results:
print(results)
- Parameters:
stage (int) – Stage index
- property progress#
Current state of the Object.
- setValue(attr, value)#
Alias for setattr (attr, value) :param attr: Attribute name to sets its value. :type attr: str :param value: Attribute value to set . :type value: str
- setValues(**kwds)#
setattr on name and value pairs in order Attributes are defined
Args: **kwds: To set attibures in one go
- property solverType#
Solver Type of the Object
- property status#
Current status of the Object.
- property visible#
Determines whether the object is visible in the graphics window.
Setting this on or off sets all children. Setting to True sets all the parents visible too.
- wasValueSet(attr)#
Check if attribute was set
- Parameters:
attr (str) – Attribute name to check it value set or not
- Returns:
True, if value was set else false.
- Return type:
bool
- property workingDir#
Working directory of the Object