import tkinter
from rich import print as rprint
[docs]
def tcl2py(
input_file: str,
output_file: str,
prefix: str = "ops",
encoding: str = "utf-8",
keep_comments: bool = False,
):
"""Convert OpenSees ``Tcl`` code to OpenSeesPy ``Python`` format.
.. Note::
* This function supports ``Tcl`` syntax and will flatten your ``Tcl`` code, including ``loops``,
``judgments``, ``assignments``, ``proc``, etc.,
* Do not use assignment statements for OpenSees commands, such as
``set ok [analyze 1]``, ``set lambdaN [eigen 10]``, it will trigger
an error! This is because **this function does not run the OpenSees command at all**.
* If an encoding error is reported, please use software such as vscode to re-save the file encoding as ``UTF-8`` in advance.
Parameters
----------
input_file : str
The name of input ``.tcl`` file.
output_file : str
The name of output ``.py`` file.
prefix : str, optional
prefix name of openseespy, by default ``ops``.
I.e., ``import openseespy.opensees as ops``.
If None or void str '', the prefix is not used.
I.e., ``from openseespy.opensees import *``.
encoding: str, optional
file encoding format, by default "utf-8".
keep_comments: bool, optional
Comments are preserved, by default False.
Note that this parameter will replace all opensees commands in the comment line, if any.
"""
if not input_file.endswith(".tcl"):
input_file += ".tcl"
if not output_file.endswith(".py"):
output_file += ".py"
if prefix:
import_txt = f"import openseespy.opensees as {prefix}\n\n"
prefix += "."
else:
import_txt = "from openseespy.opensees import *\n\n"
prefix = ""
if keep_comments:
with open(input_file, encoding=encoding) as f:
tcl_list = f.readlines()
for i, src in enumerate(tcl_list):
if src[0] == "#":
tcl_list[i] = (
src.replace("###", "comments___ ")
.replace("##", "comments___ ")
.replace("#", "comments___ ")
.replace("$", "variable___ ")
)
tcl_src = "".join(tcl_list)
else:
with open(input_file, encoding=encoding) as f:
tcl_src = f.read()
tcl_src = tcl_src.replace("{", " { ")
tcl_src = tcl_src.replace("}", " } ")
tcl_src = tcl_src.replace("#", "# ")
ops_interp = __OPSInterp(prefix, keep_comments=keep_comments)
try:
ops_interp.eval(tcl_src)
finally:
with open(output_file, mode="w", encoding=encoding) as fw:
fw.write("# This file is created by opstool.tcl2py(), author:: Yexiang Yan\n\n")
fw.write(import_txt)
for line in ops_interp.get_opspy_cmds():
fw.write(line + "\n")
rprint(
f"[bold #34bf49]OpenSeesPy[/bold #34bf49] file "
f"[bold #d20962]{output_file}[/bold #d20962] has been created successfully!"
)
def _type_convert(a):
if isinstance(a, str):
try:
a = int(a)
except ValueError:
try:
a = float(a)
except ValueError:
a = str(a)
return a
def _remove_commit(args, obj="#"):
if obj in args:
idx = args.index(obj)
args = args[:idx]
return args
def _process_args(args, keep_comments=False):
comments = ""
if "#" in args:
idx = args.index("#")
if keep_comments:
comments = " ".join(args[idx:])
comments = " " + comments
args = args[:idx]
args = tuple([_type_convert(i) for i in args])
return args, comments
def _get_cmds(args, cmd, prefix, keep_comments=False):
args, comments = _process_args(args, keep_comments=keep_comments)
if len(args) == 1:
if isinstance(args[0], str):
return f"{prefix}{cmd}('{args[0]}'){comments}"
else:
return f"{prefix}{cmd}({args[0]}){comments}"
else:
return f"{prefix}{cmd}{args}{comments}"
class __OPSInterp:
def __init__(self, prefix, keep_comments) -> None:
self.prefix = prefix
self.keep_comments = keep_comments
self.interp = tkinter.Tcl()
self.contents = []
def _comments(self, *args):
args = [src.replace("comments___", "#") for src in args]
args = [src.replace("variable___", "$") for src in args]
if args:
args = " ".join(args).replace("# ", "#").replace("$ ", "$")
self.contents.append(f"# {args}")
else:
self.contents.append("#")
def _puts(self, *args):
if len(args) == 1:
self.contents.append(f"print('{args[0]}')")
else:
self.contents.append(f"print{args}")
def _wipe(self, *args):
src = _get_cmds(args, "wipe", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _model(self, *args):
src = _get_cmds(args, "model", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _node(self, *args):
src = _get_cmds(args, "node", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _fix(self, *args):
src = _get_cmds(args, "fix", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _fixX(self, *args):
src = _get_cmds(args, "fixX", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _fixY(self, *args):
src = _get_cmds(args, "fixY", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _fixZ(self, *args):
src = _get_cmds(args, "fixZ", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _equalDOF(self, *args):
src = _get_cmds(args, "equalDOF", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _equalDOF_Mixed(self, *args):
src = _get_cmds(args, "equalDOF_Mixed", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _rigidDiaphragm(self, *args):
src = _get_cmds(args, "rigidDiaphragm", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _rigidLink(self, *args):
src = _get_cmds(args, "rigidLink", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _uniaxialMaterial(self, *args):
src = _get_cmds(args, "uniaxialMaterial", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nDMaterial(self, *args):
src = _get_cmds(args, "nDMaterial", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _beamIntegration(self, *args):
src = _get_cmds(args, "beamIntegration", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _section(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
if args[0] in (
"Fiber",
"fiberSec",
"FiberWarping",
"FiberAsym",
"FiberThermal",
"NDFiber",
"NDFiberWarping",
):
if args[0] not in ["NDFiber", "NDFiberWarping"] and ("-GJ" not in args or "-torsion" not in args):
rprint(
"[bold #d20962]Warning[/bold #d20962]: "
"-GJ or -torsion not used for fiber section, GJ=100000000 is assumed!"
)
new_args = (args[0], args[1], "-GJ", 1.0e8)
else:
new_args = args[:4]
self.contents.append(f"{self.prefix}section{new_args}{comments}")
txt = args[-1]
txt.replace("\\n", "")
self.interp.eval(txt)
else:
self.contents.append(f"{self.prefix}section{args}{comments}")
def _fiber(self, *args):
src = _get_cmds(args, "fiber", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _patch(self, *args):
src = _get_cmds(args, "patch", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _layer(self, *args):
src = _get_cmds(args, "layer", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _element(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
if args[0] not in [
"nonlinearBeamColumn",
"forceBeamColumn",
"dispBeamColumn",
"forceBeamColumnCBDI",
"forceBeamColumnCSBDI",
"forceBeamColumnWarping",
"forceBeamColumnThermal",
"elasticForceBeamColumnWarping",
"dispBeamColumnNL",
"dispBeamColumnThermal",
"nonlinearBeamColumn",
"dispBeamColumnWithSensitivity",
]:
self.contents.append(f"{self.prefix}element{args}{comments}")
else:
eleTag = args[1]
secTag = args[5]
if isinstance(secTag, int):
Np = args[4]
transfTag = args[6]
if args[0] == "dispBeamColumn":
self.contents.append(f"{self.prefix}beamIntegration('Legendre', {eleTag}, {secTag}, {Np})")
else:
self.contents.append(f"{self.prefix}beamIntegration('Lobatto', {eleTag}, {secTag}, {Np})")
idx = 7
elif secTag == "-sections": # Handle variable section tags
Np = args[4]
sectags = args[6 : 6 + Np]
transfTag = args[6 + Np]
idx = 6 + Np + 1
if args[0] == "dispBeamColumn":
self.contents.append(f"{self.prefix}beamIntegration('Legendre', {eleTag}, {Np}, *{sectags})")
else:
self.contents.append(f"{self.prefix}beamIntegration('Lobatto', {eleTag}, {Np}, *{sectags})")
else:
transfTag = args[4]
interp_paras = []
idx = 6
for i, arg in enumerate(args[6:]):
if not isinstance(arg, str):
interp_paras.append(arg)
else:
idx += i
break
self.contents.append(f"{self.prefix}beamIntegration('{args[5]}', {eleTag}, *{interp_paras})")
# write the element command
if args[0] == "nonlinearBeamColumn":
args[0] = "forceBeamColumn"
if "-mass" not in args and "-iter" not in args and "-cMass" not in args:
self.contents.append(
f"{self.prefix}element('{args[0]}', {eleTag}, {args[2]}, {args[3]}, {transfTag}, {eleTag}){comments}"
)
else:
self.contents.append(
f"{self.prefix}element('{args[0]}', {eleTag}, {args[2]}, "
f"{args[3]}, {transfTag}, {eleTag}, *{args[idx:]}){comments}"
)
def _timeSeries(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
if args[0] in ["Path", "Series"]:
if ("-time" in args) or ("-values" in args):
time, values = None, None
if "-time" in args:
idx = args.index("-time")
time = list(args[idx + 1].split())
time = [float(i) for i in time]
args.pop(idx)
args.pop(idx)
if "-values" in args:
idx = args.index("-values")
values = list(args[idx + 1].split())
values = [float(i) for i in values]
args.pop(idx)
args.pop(idx)
if time and values:
args = [*args[:2], "-time", *time, "-values", *values, *args[2:]]
elif values is None:
args = [*args[:2], "-time", *time, *args[2:]]
else:
args = [*args[:2], "-values", *values, *args[2:]]
txt = f"{self.prefix}timeSeries('Path', {args[1]}, *{args[2:]}){comments}"
self.contents.append(txt)
else:
self.contents.append(f"{self.prefix}timeSeries{tuple(args)}{comments}")
else:
self.contents.append(f"{self.prefix}timeSeries{tuple(args)}{comments}")
def _pattern(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
if args[0].lower() != "uniformexcitation":
if args[0].lower() == "plain" and isinstance(args[2], str):
rprint(
f"[bold #d20962]Warning[/bold #d20962]: OpenSeesPy not support a str "
f"[bold #0099e5]{args[2]}[/bold #0099e5] "
f"followed [bold #ff4c4c]plain[/bold #ff4c4c], "
f"and a new [bold #f47721]timeSeries[/bold #f47721] is created with tag "
f"[bold #34bf49]{args[1]}[/bold #34bf49], "
f"please check this [bold #34bf49]pattern tag={args[1]}[/bold #34bf49]!"
)
tsargs = list(args[2].split())
if len(tsargs) == 1:
self.contents.append(f"{self.prefix}timeSeries('{tsargs[0]}', {args[1]})")
else:
self.contents.append(f"{self.prefix}timeSeries('{tsargs[0]}', {args[1]}, *{tsargs[1:]})")
args = list(args)
args[2] = args[1]
args = tuple(args)
self.contents.append(f"{self.prefix}pattern{args[:-1]}{comments}")
else:
self.contents.append(f"{self.prefix}pattern{args[:-1]}{comments}")
txt = args[-1]
txt.replace("\\n", "")
self.interp.eval(txt)
else:
self.contents.append(f"{self.prefix}pattern{args}{comments}")
def _load(self, *args):
src = _get_cmds(args, "load", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleLoad(self, *args):
src = _get_cmds(args, "eleLoad", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sp(self, *args):
src = _get_cmds(args, "sp", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _groundMotion(self, *args):
src = _get_cmds(args, "groundMotion", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _imposedMotion(self, *args):
src = _get_cmds(args, "imposedMotion", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _mass(self, *args):
src = _get_cmds(args, "mass", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _frictionModel(self, *args):
src = _get_cmds(args, "frictionModel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _geomTransf(self, *args):
src = _get_cmds(args, "geomTransf", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _region(self, *args):
src = _get_cmds(args, "region", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _rayleigh(self, *args):
src = _get_cmds(args, "rayleigh", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _block2D(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
txt = args[-1]
txt = txt.replace("\n", "").replace("\t", " ")
crds = txt.split()
crds = [_type_convert(i) for i in crds]
self.contents.append(f"crds = {crds}")
if isinstance(args[-2], str):
eleargs = args[-2].split()
eleargs = [_type_convert(i) for i in eleargs]
args = args[:-2] + eleargs
args = [f"'{i}'" if isinstance(i, str) else str(i) for i in args]
args.append("*crds")
else:
args = [f"'{i}'" if isinstance(i, str) else str(i) for i in args[:-1]]
args.append("*crds")
txt = f"{self.prefix}block2D(" + ", ".join(args) + f"){comments}"
self.contents.append(txt)
def _block3D(self, *args):
args, comments = _process_args(args, keep_comments=self.keep_comments)
txt = args[-1]
txt = txt.replace("\n", "").replace("\t", " ")
crds = txt.split()
crds = [_type_convert(i) for i in crds]
self.contents.append(f"crds = {crds}")
if isinstance(args[-2], str):
eleargs = args[-2].split()
eleargs = [_type_convert(i) for i in eleargs]
args = args[:-2] + eleargs
args = [f"'{i}'" if isinstance(i, str) else str(i) for i in args]
args.append("*crds")
else:
args = [f"'{i}'" if isinstance(i, str) else str(i) for i in args[:-1]]
args.append("*crds")
txt = f"{self.prefix}block3D(" + ", ".join(args) + f"){comments}"
self.contents.append(txt)
def _ShallowFoundationGen(self, *args):
src = _get_cmds(args, "ShallowFoundationGen", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _constraints(self, *args):
src = _get_cmds(args, "constraints", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _numberer(self, *args):
src = _get_cmds(args, "numberer", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _system(self, *args):
src = _get_cmds(args, "system", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _test(self, *args):
src = _get_cmds(args, "test", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _algorithm(self, *args):
src = _get_cmds(args, "algorithm", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _integrator(self, *args):
src = _get_cmds(args, "integrator", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _analysis(self, *args):
src = _get_cmds(args, "analysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eigen(self, *args):
src = _get_cmds(args, "eigen", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
return None
def _analyze(self, *args):
src = _get_cmds(args, "analyze", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
return None
def _modalProperties(self, *args):
src = _get_cmds(args, "modalProperties", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
return None
def _responseSpectrumAnalysis(self, *args):
src = _get_cmds(args, "responseSpectrumAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _recorder(self, *args):
src = _get_cmds(args, "recorder", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _record(self, *args):
src = _get_cmds(args, "record", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _print(self, *args):
src = _get_cmds(args, "printModel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _printA(self, *args):
src = _get_cmds(args, "printA", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _logFile(self, *args):
src = _get_cmds(args, "logFile", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _remove(self, *args):
src = _get_cmds(args, "remove", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _loadConst(self, *args):
src = _get_cmds(args, "loadConst", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _wipeAnalysis(self, *args):
src = _get_cmds(args, "wipeAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _modalDamping(self, *args):
src = _get_cmds(args, "modalDamping", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _database(self, *args):
src = _get_cmds(args, "database", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getTime(self, *args):
src = _get_cmds(args, "getTime", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setTime(self, *args):
src = _get_cmds(args, "setTime", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _testUniaxialMaterial(self, *args):
src = _get_cmds(args, "testUniaxialMaterial", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setStrain(self, *args):
src = _get_cmds(args, "setStrain", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getStrain(self, *args):
src = _get_cmds(args, "getStrain", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getStress(self, *args):
src = _get_cmds(args, "getStress", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getTangent(self, *args):
src = _get_cmds(args, "getTangent", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getDampTangent(self, *args):
src = _get_cmds(args, "getDampTangent", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _reactions(self, *args):
src = _get_cmds(args, "reactions", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeReaction(self, *args):
src = _get_cmds(args, "nodeReaction", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeEigenvector(self, *args):
src = _get_cmds(args, "nodeEigenvector", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setCreep(self, *args):
src = _get_cmds(args, "setCreep", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleResponse(self, *args):
src = _get_cmds(args, "eleResponse", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _reset(self, *args):
src = _get_cmds(args, "reset", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _initialize(self, *args):
src = _get_cmds(args, "initialize", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getLoadFactor(self, *args):
src = _get_cmds(args, "getLoadFactor", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _build(self, *args):
src = _get_cmds(args, "build", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _printGID(self, *args):
src = _get_cmds(args, "printGID", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getCTestNorms(self, *args):
src = _get_cmds(args, "getCTestNorms", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getCTestIter(self, *args):
src = _get_cmds(args, "getCTestIter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _save(self, *args):
src = _get_cmds(args, "save", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _restore(self, *args):
src = _get_cmds(args, "restore", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleForce(self, *args):
src = _get_cmds(args, "eleForce", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleDynamicalForce(self, *args):
src = _get_cmds(args, "eleDynamicalForce", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeUnbalance(self, *args):
src = _get_cmds(args, "nodeUnbalance", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeDisp(self, *args):
src = _get_cmds(args, "nodeDisp", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNodeDisp(self, *args):
src = _get_cmds(args, "setNodeDisp", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeVel(self, *args):
src = _get_cmds(args, "nodeVel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNodeVel(self, *args):
src = _get_cmds(args, "setNodeVel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeAccel(self, *args):
src = _get_cmds(args, "nodeAccel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNodeAccel(self, *args):
src = _get_cmds(args, "setNodeAccel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeResponse(self, *args):
src = _get_cmds(args, "nodeResponse", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeCoord(self, *args):
src = _get_cmds(args, "nodeCoord", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNodeCoord(self, *args):
src = _get_cmds(args, "setNodeCoord", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _updateElementDomain(self, *args):
src = _get_cmds(args, "updateElementDomain", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNDMM(self, *args):
src = _get_cmds(args, "getNDM", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNDFF(self, *args):
src = _get_cmds(args, "getNDF", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleNodes(self, *args):
src = _get_cmds(args, "eleNodes", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _eleType(self, *args):
src = _get_cmds(args, "eleType", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeDOFs(self, *args):
src = _get_cmds(args, "nodeDOFs", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeMass(self, *args):
src = _get_cmds(args, "nodeMass", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodePressure(self, *args):
src = _get_cmds(args, "nodePressure", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNodePressure(self, *args):
src = _get_cmds(args, "setNodePressure", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _nodeBounds(self, *args):
src = _get_cmds(args, "nodeBounds", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _startTimer(self, *args):
src = _get_cmds(args, "start", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _stopTimer(self, *args):
src = _get_cmds(args, "stop", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _modalDampingQ(self, *args):
src = _get_cmds(args, "modalDampingQ", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setElementRayleighDampingFactors(self, *args):
src = _get_cmds(args, "setElementRayleighDampingFactors", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setPrecision(self, *args):
src = _get_cmds(args, "setPrecision", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _searchPeerNGA(self, *args):
src = _get_cmds(args, "searchPeerNGA", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _domainChange(self, *args):
src = _get_cmds(args, "domainChange", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _defaultUnits(self, *args):
src = _get_cmds(args, "defaultUnits", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _stripXML(self, *args):
src = _get_cmds(args, "stripXML", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _convertBinaryToText(self, *args):
src = _get_cmds(args, "convertBinaryToText", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _convertTextToBinary(self, *args):
src = _get_cmds(args, "convertTextToBinary", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getEleTags(self, *args):
src = _get_cmds(args, "getEleTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getCrdTransfTags(self, *args):
src = _get_cmds(args, "getCrdTransfTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNodeTags(self, *args):
src = _get_cmds(args, "getNodeTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getParamTags(self, *args):
src = _get_cmds(args, "getParamTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getParamValue(self, *args):
src = _get_cmds(args, "getParamValue", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionForce(self, *args):
src = _get_cmds(args, "sectionForce", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionDeformation(self, *args):
src = _get_cmds(args, "sectionDeformation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionStiffness(self, *args):
src = _get_cmds(args, "sectionStiffness", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionFlexibility(self, *args):
src = _get_cmds(args, "sectionFlexibility", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionLocation(self, *args):
src = _get_cmds(args, "sectionLocation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionWeight(self, *args):
src = _get_cmds(args, "sectionWeight", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionTag(self, *args):
src = _get_cmds(args, "sectionTag", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sectionDisplacement(self, *args):
src = _get_cmds(args, "sectionDisplacement", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _cbdiDisplacement(self, *args):
src = _get_cmds(args, "cbdiDisplacement", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _basicDeformation(self, *args):
src = _get_cmds(args, "basicDeformation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _basicForce(self, *args):
src = _get_cmds(args, "basicForce", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _basicStiffness(self, *args):
src = _get_cmds(args, "basicStiffness", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _InitialStateAnalysis(self, *args):
src = _get_cmds(args, "InitialStateAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _totalCPU(self, *args):
src = _get_cmds(args, "totalCPU", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _solveCPU(self, *args):
src = _get_cmds(args, "solveCPU", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _accelCPU(self, *args):
src = _get_cmds(args, "accelCPU", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _numFact(self, *args):
src = _get_cmds(args, "numFact", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _numIter(self, *args):
src = _get_cmds(args, "numIter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _systemSize(self, *args):
src = _get_cmds(args, "systemSize", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _version(self, *args):
src = _get_cmds(args, "version", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setMaxOpenFiles(self, *args):
src = _get_cmds(args, "setMaxOpenFiles", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _limitCurve(self, *args):
src = _get_cmds(args, "limitCurve", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setElementRayleighFactors(self, *args):
src = _get_cmds(args, "setElementRayleighFactors", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _mesh(self, *args):
src = _get_cmds(args, "mesh", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _remesh(self, *args):
src = _get_cmds(args, "remesh", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _parameter(self, *args):
src = _get_cmds(args, "parameter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _addToParameter(self, *args):
src = _get_cmds(args, "addToParameter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _updateParameter(self, *args):
src = _get_cmds(args, "updateParameter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setParameter(self, *args):
src = _get_cmds(args, "setParameter", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getPID(self, *args):
src = _get_cmds(args, "getPID", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNP(self, *args):
src = _get_cmds(args, "getNP", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _barrier(self, *args):
src = _get_cmds(args, "barrier", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _send(self, *args):
src = _get_cmds(args, "send", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _recv(self, *args):
src = _get_cmds(args, "recv", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _Bcast(self, *args):
src = _get_cmds(args, "Bcast", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _computeGradients(self, *args):
src = _get_cmds(args, "computeGradients", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensitivityAlgorithm(self, *args):
src = _get_cmds(args, "sensitivityAlgorithm", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensNodeDisp(self, *args):
src = _get_cmds(args, "sensNodeDisp", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensNodeVel(self, *args):
src = _get_cmds(args, "sensNodeVel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensNodeAccel(self, *args):
src = _get_cmds(args, "sensNodeAccel", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensLambda(self, *args):
src = _get_cmds(args, "sensLambda", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensSectionForce(self, *args):
src = _get_cmds(args, "sensSectionForce", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sensNodePressure(self, *args):
src = _get_cmds(args, "sensNodePressure", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNumElements(self, *args):
src = _get_cmds(args, "getNumElements", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getEleClassTags(self, *args):
src = _get_cmds(args, "getEleClassTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getEleLoadClassTags(self, *args):
src = _get_cmds(args, "getEleLoadClassTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getEleLoadTags(self, *args):
src = _get_cmds(args, "getEleLoadTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getEleLoadData(self, *args):
src = _get_cmds(args, "getEleLoadData", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNodeLoadTags(self, *args):
src = _get_cmds(args, "getNodeLoadTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNodeLoadData(self, *args):
src = _get_cmds(args, "getNodeLoadData", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _randomVariable(self, *args):
src = _get_cmds(args, "randomVariable", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVTags(self, *args):
src = _get_cmds(args, "getRVTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVMean(self, *args):
src = _get_cmds(args, "getRVMean", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVStdv(self, *args):
src = _get_cmds(args, "getRVStdv", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVPDF(self, *args):
src = _get_cmds(args, "getRVPDF", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVCDF(self, *args):
src = _get_cmds(args, "getRVCDF", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getRVInverseCDF(self, *args):
src = _get_cmds(args, "getRVInverseCDF", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _addCorrelate(self, *args):
src = _get_cmds(args, "addCorrelate", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _correlate(self, *args):
src = _get_cmds(args, "correlate", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _performanceFunction(self, *args):
src = _get_cmds(args, "performanceFunction", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _gradPerformanceFunction(self, *args):
src = _get_cmds(args, "gradPerformanceFunction", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _transformUtoX(self, *args):
src = _get_cmds(args, "transformUtoX", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _wipeReliability(self, *args):
src = _get_cmds(args, "wipeReliability", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _updateMaterialStage(self, *args):
src = _get_cmds(args, "updateMaterialStage", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _sdfResponse(self, *args):
src = _get_cmds(args, "sdfResponse", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _probabilityTransformation(self, *args):
src = _get_cmds(args, "probabilityTransformation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _startPoint(self, *args):
src = _get_cmds(args, "startPoint", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _randomNumberGenerator(self, *args):
src = _get_cmds(args, "randomNumberGenerator", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _reliabilityConvergenceCheck(self, *args):
src = _get_cmds(args, "reliabilityConvergenceCheck", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _searchDirection(self, *args):
src = _get_cmds(args, "searchDirection", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _meritFunctionCheck(self, *args):
src = _get_cmds(args, "meritFunctionCheck", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _stepSizeRule(self, *args):
src = _get_cmds(args, "stepSizeRule", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _rootFinding(self, *args):
src = _get_cmds(args, "rootFinding", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _functionEvaluator(self, *args):
src = _get_cmds(args, "functionEvaluator", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _gradientEvaluator(self, *args):
src = _get_cmds(args, "gradientEvaluator", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _runFOSMAnalysis(self, *args):
src = _get_cmds(args, "runFOSMAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _findDesignPoint(self, *args):
src = _get_cmds(args, "findDesignPoint", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _runFORMAnalysis(self, *args):
src = _get_cmds(args, "runFORMAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getLSFTags(self, *args):
src = _get_cmds(args, "getLSFTags", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _runImportanceSamplingAnalysis(self, *args):
src = _get_cmds(args, "runImportanceSamplingAnalysis", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _IGA(self, *args):
src = _get_cmds(args, "IGA", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _NDTest(self, *args):
src = _get_cmds(args, "NDTest", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _getNumThreads(self, *args):
src = _get_cmds(args, "getNumThreads", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setNumThreads(self, *args):
src = _get_cmds(args, "setNumThreads", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _setStartNodeTag(self, *args):
src = _get_cmds(args, "setStartNodeTag", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _hystereticBackbone(self, *args):
src = _get_cmds(args, "hystereticBackbone", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _stiffnessDegradation(self, *args):
src = _get_cmds(args, "stiffnessDegradation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _strengthDegradation(self, *args):
src = _get_cmds(args, "strengthDegradation", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _unloadingRule(self, *args):
src = _get_cmds(args, "unloadingRule", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _partition(self, *args):
src = _get_cmds(args, "partition", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _pc(self, *args):
src = _get_cmds(args, "pressureConstraint", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
def _domainCommitTag(self, *args):
src = _get_cmds(args, "domainCommitTag", prefix=self.prefix, keep_comments=self.keep_comments)
self.contents.append(src)
@staticmethod
def _display(*args):
print(f"This <display {args}> function will be ignored!")
@staticmethod
def _prp(*args):
print(f"This display <prp {args}> function will be ignored!")
@staticmethod
def _vup(*args):
print(f"This display <vup {args}> function will be ignored!")
@staticmethod
def _vpn(*args):
print(f"This display <vpn {args}> function will be ignored!")
@staticmethod
def _vrp(*args):
print(f"This display <vrp {args}> function will be ignored!")
def _createcommand(self):
self.interp.createcommand("comments___", self._comments)
self.interp.createcommand("puts", self._puts)
self.interp.createcommand("wipe", self._wipe)
self.interp.createcommand("model", self._model)
self.interp.createcommand("node", self._node)
self.interp.createcommand("fix", self._fix)
self.interp.createcommand("fixX", self._fixX)
self.interp.createcommand("fixY", self._fixY)
self.interp.createcommand("fixZ", self._fixZ)
self.interp.createcommand("equalDOF", self._equalDOF)
self.interp.createcommand("equalDOF_Mixed", self._equalDOF_Mixed)
self.interp.createcommand("rigidDiaphragm", self._rigidDiaphragm)
self.interp.createcommand("rigidLink", self._rigidLink)
self.interp.createcommand("element", self._element)
self.interp.createcommand("timeSeries", self._timeSeries)
# self.interp.createcommand('Series', _timeSeries)
self.interp.createcommand("pattern", self._pattern)
self.interp.createcommand("load", self._load)
self.interp.createcommand("eleLoad", self._eleLoad)
self.interp.createcommand("sp", self._sp)
self.interp.createcommand("groundMotion", self._groundMotion)
self.interp.createcommand("imposedMotion", self._imposedMotion)
self.interp.createcommand("imposedSupportMotion", self._imposedMotion)
self.interp.createcommand("mass", self._mass)
self.interp.createcommand("uniaxialMaterial", self._uniaxialMaterial)
self.interp.createcommand("nDMaterial", self._nDMaterial)
self.interp.createcommand("beamIntegration", self._beamIntegration)
self.interp.createcommand("section", self._section)
self.interp.createcommand("fiber", self._fiber)
self.interp.createcommand("patch", self._patch)
self.interp.createcommand("layer", self._layer)
self.interp.createcommand("frictionModel", self._frictionModel)
self.interp.createcommand("geomTransf", self._geomTransf)
self.interp.createcommand("region", self._region)
self.interp.createcommand("rayleigh", self._rayleigh)
self.interp.createcommand("block2D", self._block2D)
self.interp.createcommand("block2d", self._block2D)
self.interp.createcommand("block3D", self._block3D)
self.interp.createcommand("block3d", self._block3D)
self.interp.createcommand("ShallowFoundationGen", self._ShallowFoundationGen)
self.interp.createcommand("constraints", self._constraints)
self.interp.createcommand("numberer", self._numberer)
self.interp.createcommand("system", self._system)
self.interp.createcommand("test", self._test)
self.interp.createcommand("algorithm", self._algorithm)
self.interp.createcommand("integrator", self._integrator)
self.interp.createcommand("analysis", self._analysis)
self.interp.createcommand("eigen", self._eigen)
self.interp.createcommand("analyze", self._analyze)
self.interp.createcommand("modalProperties", self._modalProperties)
self.interp.createcommand("responseSpectrumAnalysis", self._responseSpectrumAnalysis)
self.interp.createcommand("record", self._record)
self.interp.createcommand("recorder", self._recorder)
self.interp.createcommand("print", self._print)
self.interp.createcommand("printA", self._printA)
self.interp.createcommand("logFile", self._logFile)
self.interp.createcommand("remove", self._remove)
self.interp.createcommand("loadConst", self._loadConst)
self.interp.createcommand("wipeAnalysis", self._wipeAnalysis)
self.interp.createcommand("modalDamping", self._modalDamping)
self.interp.createcommand("database", self._database)
self.interp.createcommand("getTime", self._getTime)
self.interp.createcommand("setTime", self._setTime)
self.interp.createcommand("testUniaxialMaterial", self._testUniaxialMaterial)
self.interp.createcommand("setStrain", self._setStrain)
self.interp.createcommand("getStrain", self._getStrain)
self.interp.createcommand("getStress", self._getStress)
self.interp.createcommand("getTangent", self._getTangent)
self.interp.createcommand("getDampTangent", self._getDampTangent)
self.interp.createcommand("reactions", self._reactions)
self.interp.createcommand("nodeReaction", self._nodeReaction)
self.interp.createcommand("remove", self._remove)
self.interp.createcommand("nodeEigenvector", self._nodeEigenvector)
self.interp.createcommand("setCreep", self._setCreep)
self.interp.createcommand("eleResponse", self._eleResponse)
self.interp.createcommand("reset", self._reset)
self.interp.createcommand("initialize", self._initialize)
self.interp.createcommand("getLoadFactor", self._getLoadFactor)
self.interp.createcommand("build", self._build)
self.interp.createcommand("printGID", self._printGID)
self.interp.createcommand("testNorm", self._getCTestNorms)
self.interp.createcommand("testIter", self._getCTestIter)
self.interp.createcommand("save", self._save)
self.interp.createcommand("restore", self._restore)
self.interp.createcommand("eleForce", self._eleForce)
self.interp.createcommand("eleDynamicalForce", self._eleDynamicalForce)
self.interp.createcommand("nodeUnbalance", self._nodeUnbalance)
self.interp.createcommand("nodeDisp", self._nodeDisp)
self.interp.createcommand("setNodeDisp", self._setNodeDisp)
self.interp.createcommand("nodeVel", self._nodeVel)
self.interp.createcommand("setNodeVel", self._setNodeVel)
self.interp.createcommand("nodeAccel", self._nodeAccel)
self.interp.createcommand("setNodeAccel", self._setNodeAccel)
self.interp.createcommand("nodeResponse", self._nodeResponse)
self.interp.createcommand("nodeCoord", self._nodeCoord)
self.interp.createcommand("setNodeCoord", self._setNodeCoord)
self.interp.createcommand("updateElementDomain", self._updateElementDomain)
self.interp.createcommand("getNDM", self._getNDMM)
self.interp.createcommand("getNDF", self._getNDFF)
self.interp.createcommand("eleNodes", self._eleNodes)
self.interp.createcommand("eleType", self._eleType)
self.interp.createcommand("nodeDOFs", self._nodeDOFs)
self.interp.createcommand("nodeMass", self._nodeMass)
self.interp.createcommand("nodePressure", self._nodePressure)
self.interp.createcommand("setNodePressure", self._setNodePressure)
self.interp.createcommand("nodeBounds", self._nodeBounds)
self.interp.createcommand("start", self._startTimer)
self.interp.createcommand("stop", self._stopTimer)
self.interp.createcommand("modalDampingQ", self._modalDampingQ)
self.interp.createcommand("setElementRayleighDampingFactors", self._setElementRayleighDampingFactors)
self.interp.createcommand("setPrecision", self._setPrecision)
self.interp.createcommand("searchPeerNGA", self._searchPeerNGA)
self.interp.createcommand("domainChange", self._domainChange)
self.interp.createcommand("defaultUnits", self._defaultUnits)
self.interp.createcommand("stripXML", self._stripXML)
self.interp.createcommand("convertBinaryToText", self._convertBinaryToText)
self.interp.createcommand("convertTextToBinary", self._convertTextToBinary)
self.interp.createcommand("getEleTags", self._getEleTags)
self.interp.createcommand("getCrdTransfTags", self._getCrdTransfTags)
self.interp.createcommand("getNodeTags", self._getNodeTags)
self.interp.createcommand("getParamTags", self._getParamTags)
self.interp.createcommand("getParamValue", self._getParamValue)
self.interp.createcommand("sectionForce", self._sectionForce)
self.interp.createcommand("sectionDeformation", self._sectionDeformation)
self.interp.createcommand("sectionStiffness", self._sectionStiffness)
self.interp.createcommand("sectionFlexibility", self._sectionFlexibility)
self.interp.createcommand("sectionLocation", self._sectionLocation)
self.interp.createcommand("sectionWeight", self._sectionWeight)
self.interp.createcommand("sectionTag", self._sectionTag)
self.interp.createcommand("sectionDisplacement", self._sectionDisplacement)
self.interp.createcommand("cbdiDisplacement", self._cbdiDisplacement)
self.interp.createcommand("basicDeformation", self._basicDeformation)
self.interp.createcommand("basicForce", self._basicForce)
self.interp.createcommand("basicStiffness", self._basicStiffness)
self.interp.createcommand("InitialStateAnalysis", self._InitialStateAnalysis)
self.interp.createcommand("totalCPU", self._totalCPU)
self.interp.createcommand("solveCPU", self._solveCPU)
self.interp.createcommand("accelCPU", self._accelCPU)
self.interp.createcommand("numFact", self._numFact)
self.interp.createcommand("numIter", self._numIter)
self.interp.createcommand("systemSize", self._systemSize)
self.interp.createcommand("version", self._version)
self.interp.createcommand("setMaxOpenFiles", self._setMaxOpenFiles)
self.interp.createcommand("limitCurve", self._limitCurve)
self.interp.createcommand("equalDOF_Mixed", self._equalDOF_Mixed)
self.interp.createcommand("setElementRayleighFactors", self._setElementRayleighFactors)
self.interp.createcommand("mesh", self._mesh)
self.interp.createcommand("remesh", self._remesh)
self.interp.createcommand("parameter", self._parameter)
self.interp.createcommand("addToParameter", self._addToParameter)
self.interp.createcommand("updateParameter", self._updateParameter)
self.interp.createcommand("setParameter", self._setParameter)
self.interp.createcommand("getPID", self._getPID)
self.interp.createcommand("getNP", self._getNP)
self.interp.createcommand("barrier", self._barrier)
self.interp.createcommand("send", self._send)
self.interp.createcommand("recv", self._recv)
self.interp.createcommand("Bcast", self._Bcast)
self.interp.createcommand("computeGradients", self._computeGradients)
self.interp.createcommand("sensitivityAlgorithm", self._sensitivityAlgorithm)
self.interp.createcommand("sensNodeDisp", self._sensNodeDisp)
self.interp.createcommand("sensNodeVel", self._sensNodeVel)
self.interp.createcommand("sensNodeAccel", self._sensNodeAccel)
self.interp.createcommand("sensLambda", self._sensLambda)
self.interp.createcommand("sensSectionForce", self._sensSectionForce)
self.interp.createcommand("sensNodePressure", self._sensNodePressure)
self.interp.createcommand("getNumElements", self._getNumElements)
self.interp.createcommand("getEleClassTags", self._getEleClassTags)
self.interp.createcommand("getEleLoadClassTags", self._getEleLoadClassTags)
self.interp.createcommand("getEleLoadTags", self._getEleLoadTags)
self.interp.createcommand("getEleLoadData", self._getEleLoadData)
self.interp.createcommand("getNodeLoadTags", self._getNodeLoadTags)
self.interp.createcommand("getNodeLoadData", self._getNodeLoadData)
self.interp.createcommand("randomVariable", self._randomVariable)
self.interp.createcommand("getRVTags", self._getRVTags)
self.interp.createcommand("getMean", self._getRVMean)
self.interp.createcommand("getStdv", self._getRVStdv)
self.interp.createcommand("getPDF", self._getRVPDF)
self.interp.createcommand("getCDF", self._getRVCDF)
self.interp.createcommand("getInverseCDF", self._getRVInverseCDF)
self.interp.createcommand("correlate", self._correlate)
self.interp.createcommand("performanceFunction", self._performanceFunction)
self.interp.createcommand("gradPerformanceFunction", self._gradPerformanceFunction)
self.interp.createcommand("transformUtoX", self._transformUtoX)
self.interp.createcommand("wipeReliability", self._wipeReliability)
self.interp.createcommand("updateMaterialStage", self._updateMaterialStage)
self.interp.createcommand("sdfResponse", self._sdfResponse)
self.interp.createcommand("probabilityTransformation", self._probabilityTransformation)
self.interp.createcommand("startPoint", self._startPoint)
self.interp.createcommand("randomNumberGenerator", self._randomNumberGenerator)
self.interp.createcommand("reliabilityConvergenceCheck", self._reliabilityConvergenceCheck)
self.interp.createcommand("searchDirection", self._searchDirection)
self.interp.createcommand("meritFunctionCheck", self._meritFunctionCheck)
self.interp.createcommand("stepSizeRule", self._stepSizeRule)
self.interp.createcommand("rootFinding", self._rootFinding)
self.interp.createcommand("functionEvaluator", self._functionEvaluator)
self.interp.createcommand("gradientEvaluator", self._gradientEvaluator)
self.interp.createcommand("runFOSMAnalysis", self._runFOSMAnalysis)
self.interp.createcommand("findDesignPoint", self._findDesignPoint)
self.interp.createcommand("runFORMAnalysis", self._runFORMAnalysis)
self.interp.createcommand("getLSFTags", self._getLSFTags)
self.interp.createcommand("runImportanceSamplingAnalysis", self._runImportanceSamplingAnalysis)
self.interp.createcommand("IGA", self._IGA)
self.interp.createcommand("NDTest", self._NDTest)
self.interp.createcommand("getNumThreads", self._getNumThreads)
self.interp.createcommand("setNumThreads", self._setNumThreads)
self.interp.createcommand("setStartNodeTag", self._setStartNodeTag)
self.interp.createcommand("hystereticBackbone", self._hystereticBackbone)
self.interp.createcommand("stiffnessDegradation", self._stiffnessDegradation)
self.interp.createcommand("strengthDegradation", self._strengthDegradation)
self.interp.createcommand("unloadingRule", self._unloadingRule)
self.interp.createcommand("partition", self._partition)
self.interp.createcommand("pressureConstraint", self._pc)
self.interp.createcommand("domainCommitTag", self._domainCommitTag)
# ------------------------------------------------------------
self.interp.createcommand("display", self._display)
self.interp.createcommand("prp", self._prp)
self.interp.createcommand("vup", self._vup)
self.interp.createcommand("vpn", self._vpn)
self.interp.createcommand("vrp", self._vrp)
def eval(self, contents):
self._createcommand()
self.interp.eval(contents)
def get_interp(self):
return self.interp
def get_opspy_cmds(self):
return self.contents