OptiStructAnalysis (hwx.inspire.FEAnalysis)#
- class OptiStructAnalysis(params={}, runOptions={}, ignoreWarnings=False)#
Bases:
Analysis
Run structural analysis using OptiStruct
# 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.inspire import OptiStructAnalysis, gui, usingUnits from hwx.inspire.demo import openDemoFile from hwx.inspire import useRunDirectory from os.path import expanduser model = openDemoFile('ThreeBlocks.stmod') part2 = model.getChild('Part 2') pressure1 = model.getChild("Pressure 1") params = OptiStructAnalysis.Params() # Params can also be set by directly assigning the values params.elementSize = 0.0077827 params.speedAccuracy = "FASTER" print('params', repr(params)) home = expanduser("~") # This will save the Analysis results in home directory with useRunDirectory(home): with gui.waitCursor(message="Solving..."): analysis = OptiStructAnalysis(params) results = analysis.openResults() # Results in 'gui' units with usingUnits("gui"): print('results:', results) # We can also fetch the results at particular location # by calling getAtPoint() and getMinMax() methods print("Displacement : " + str(results.getAtPoint(0, 'Displacement', pressure1.location))) print("MinMax value of Displacement : " + str(results.getMinMax(0, 'Displacement', part=part2)))
- 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)#
Sets passed name/value pairs.
Values are set in a standard order (the order the attribute is defined on the class) which is required in certain cases when an attribute’s setter expects another attribute to have already been set. For example, setting a reference before a location that is wrt it.
- Parameters:
**kwds – Set attributes 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