analysis#
This is the command issued to configure an analysis.
- Model.analysis(type, *opts)#
Set the analysis type to be performed on the next call to
Model.analyze()
.- Parameters:
type (string) –
The analysis type. Three variants are supported:
”Static” : for static analysis
”Transient” : for standard dynamic analysis with constant time step
VariableTransient : for transient analysis with variable time step
opts – Additional optional arguments for the analysis type.
- analysis type? <-numSublevels $x -numSubSteps $y>
Argument
Type
Description
type
string
type of analysis to be configured. Three variants are supported:
“Static” - for static analysis
“Transient” - for standard dynamic analysis with constant time step
VariableTransient - for transient analysis with variable time step
x
integer
number of sublevels transient analysis should try if failure
y
integer
number of subdivisions to be tried at each sublevel
Note
The components of the analysis, i.e. numberer, constraint handler, system, test, integrator, algorithm, should all be issued before the analysis object is created.
The <-numSublevels $x -numSubSteps $y>
options only work for Transient.
The VariableTransient option is still available. The optional additions for the Transient analysis have been found to provide better options for nonlinear problems with convergence issues.
Warning
When switching from one type of analysis to another, e.g. Static
to Transient
, it is necessary to issue a wipeAnalysis.
Examples#
The following example shows how to construct a Static analysis.
system SuperLU
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-12 10 3
algorithm Newton
integrator LoadControl 0.1
analysis Static
model.system("SuperLU")
model.constraints("Transformation")
model.numberer("RCM")
model.test("NormDispIncr", 1.0e-12, 10, 3)
model.algorithm("Newton")
model.integrator("LoadControl", 0.1)
model.analysis("Static")
The following example shows how to construct a Transient analysis.
system SuperLU
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-12 10 3
algorithm Newton
integrator Newmark 0.5 0.25
analysis Transient -numSubLevels 3 -numSubSteps 10
model.system("SuperLU")
model.constraints("Transformation")
model.numberer("RCM")
model.test("NormDispIncr", 1.0e-12, 10, 3)
model.algorithm("Newton")
model.integrator("Newmark", 0.5, 0.25)
model.analysis("Transient")
Code Developed by fmk