Source code for opstool.pre.tcl2py

import tkinter

from rich import print


[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 check the file and delete any special characters that exist, such as some Chinese characters that cannot be encoded. 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, "r", encoding=encoding) as f: tcl_list = f.readlines() for i, src in enumerate(tcl_list): if src[0] == "#": tcl_list[i] = src.replace("#", "commits___ ").replace( "$", "variable___ ") tcl_src = "".join(tcl_list) else: with open(input_file, "r", encoding=encoding) as f: tcl_src = f.read() tcl_src = tcl_src.replace("{", " { ") tcl_src = tcl_src.replace("}", " } ") ops_interp = __OPSInterp(prefix) 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") print( 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 "#" in args: idx = args.index(obj) args = args[:idx] return args class __OPSInterp: def __init__(self, prefix) -> None: self.prefix = prefix self.interp = tkinter.Tcl() self.contents = [] def _commits(self, *args): args = [src.replace("commits___", "#") 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): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}wipe{args}") def _model(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}model{args}") def _node(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}node{args}") def _fix(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}fix{args}") def _fixX(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}fixX{args}") def _fixY(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}fixY{args}") def _fixZ(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}fixZ{args}") def _equalDOF(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}equalDOF{args}") def _equalDOF_Mixed(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}equalDOF_Mixed{args}") def _rigidDiaphragm(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}rigidDiaphragm{args}") def _rigidLink(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}rigidLink{args}") def _uniaxialMaterial(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}uniaxialMaterial{args}") def _nDMaterial(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nDMaterial{args}") def _beamIntegration(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}beamIntegration{args}") def _section(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) 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): print( "[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}") txt = args[-1] txt.replace("\\n", "") self.interp.eval(txt) else: self.contents.append(f"{self.prefix}section{args}") def _fiber(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}fiber{args}") def _patch(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}patch{args}") def _layer(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}layer{args}") def _element(self, *args): args = _remove_commit(args) args = [_type_convert(i) for i in args] if args[0] not in [ "nonlinearBeamColumn", "forceBeamColumn", "dispBeamColumn" ]: args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}element{args}") 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" f"('Legendre', {eleTag}, {secTag}, {Np})") else: self.contents.append( f"{self.prefix}beamIntegration" f"('Lobatto', {eleTag}, {secTag}, {Np})") idx = 7 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" f"('{args[5]}', {eleTag}, *{interp_paras})") if args[0] == "nonlinearBeamColumn": args[0] = "forceBeamColumn" if "-mass" not in args and "-iter" not in args: self.contents.append( f"{self.prefix}element('{args[0]}', {eleTag}, {args[2]}, " f"{args[3]}, {transfTag}, {eleTag})") else: self.contents.append( f"{self.prefix}element('{args[0]}', {eleTag}, {args[2]}, " f"{args[3]}, {transfTag}, {eleTag}, *{args[idx:]})") def _timeSeries(self, *args): args = _remove_commit(args) args = [_type_convert(i) for i in args] 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:]})" self.contents.append(txt) else: self.contents.append(f"{self.prefix}timeSeries{tuple(args)}") else: self.contents.append(f"{self.prefix}timeSeries{tuple(args)}") def _pattern(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) if args[0].lower() != "uniformexcitation": if args[0].lower() == "plain" and isinstance(args[2], str): print( 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]}") else: self.contents.append(f"{self.prefix}pattern{args[:-1]}") txt = args[-1] txt.replace("\\n", "") self.interp.eval(txt) else: self.contents.append(f"{self.prefix}pattern{args}") def _load(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}load{args}") def _eleLoad(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleLoad{args}") def _sp(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sp{args}") def _groundMotion(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}groundMotion{args}") def _imposedMotion(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}imposedMotion{args}") def _mass(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}mass{args}") def _frictionModel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}frictionModel{args}") def _geomTransf(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}geomTransf{args}") def _region(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}region{args}") def _rayleigh(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}rayleigh{args}") def _block2D(self, *args): args = _remove_commit(args) args = [_type_convert(i) for i in args] 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) + ")" self.contents.append(txt) def _block3D(self, *args): args = _remove_commit(args) args = [_type_convert(i) for i in args] 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) + ")" self.contents.append(txt) def _ShallowFoundationGen(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}ShallowFoundationGen{args}") def _constraints(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}constraints{args}") def _numberer(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}numberer{args}") def _system(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}system{args}") def _test(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}test{args}") def _algorithm(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}algorithm{args}") def _integrator(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}integrator{args}") def _analysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}analysis{args}") def _eigen(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eigen{args}") return None def _analyze(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}analyze{args}") return None def _modalProperties(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}modalProperties{args}") return None def _responseSpectrumAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}responseSpectrumAnalysis{args}") def _recorder(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}recorder{args}") def _record(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}record{args}") def _print(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}printModel{args}") def _printA(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}printA{args}") def _logFile(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}logFile{args}") def _remove(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}remove{args}") def _loadConst(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}loadConst{args}") def _wipeAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}wipeAnalysis{args}") def _modalDamping(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}modalDamping{args}") def _database(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}database{args}") def _getTime(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getTime{args}") def _setTime(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setTime{args}") def _testUniaxialMaterial(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}testUniaxialMaterial{args}") def _setStrain(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setStrain{args}") def _getStrain(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getStrain{args}") def _getStress(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getStress{args}") def _getTangent(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getTangent{args}") def _getDampTangent(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getDampTangent{args}") def _reactions(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}reactions{args}") def _nodeReaction(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeReaction{args}") def _nodeEigenvector(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeEigenvector{args}") def _setCreep(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setCreep{args}") def _eleResponse(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleResponse{args}") def _reset(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}reset{args}") def _initialize(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}initialize{args}") def _getLoadFactor(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getLoadFactor{args}") def _build(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}build{args}") def _printGID(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}printGID{args}") def _getCTestNorms(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getCTestNorms{args}") def _getCTestIter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getCTestIter{args}") def _save(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}save{args}") def _restore(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}restore{args}") def _eleForce(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleForce{args}") def _eleDynamicalForce(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleDynamicalForce{args}") def _nodeUnbalance(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeUnbalance{args}") def _nodeDisp(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeDisp{args}") def _setNodeDisp(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNodeDisp{args}") def _nodeVel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeVel{args}") def _setNodeVel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNodeVel{args}") def _nodeAccel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeAccel{args}") def _setNodeAccel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNodeAccel{args}") def _nodeResponse(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeResponse{args}") def _nodeCoord(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeCoord{args}") def _setNodeCoord(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNodeCoord{args}") def _updateElementDomain(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}updateElementDomain{args}") def _getNDMM(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNDM{args}") def _getNDFF(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNDF{args}") def _eleNodes(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleNodes{args}") def _eleType(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}eleType{args}") def _nodeDOFs(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeDOFs{args}") def _nodeMass(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeMass{args}") def _nodePressure(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodePressure{args}") def _setNodePressure(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNodePressure{args}") def _nodeBounds(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}nodeBounds{args}") def _startTimer(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}start{args}") def _stopTimer(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}stop{args}") def _modalDampingQ(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}modalDampingQ{args}") def _setElementRayleighDampingFactors(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append( f"{self.prefix}setElementRayleighDampingFactors{args}") def _setPrecision(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setPrecision{args}") def _searchPeerNGA(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}searchPeerNGA{args}") def _domainChange(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}domainChange{args}") def _defaultUnits(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}defaultUnits{args}") def _stripXML(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}stripXML{args}") def _convertBinaryToText(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}convertBinaryToText{args}") def _convertTextToBinary(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}convertTextToBinary{args}") def _getEleTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getEleTags{args}") def _getCrdTransfTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getCrdTransfTags{args}") def _getNodeTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNodeTags{args}") def _getParamTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getParamTags{args}") def _getParamValue(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getParamValue{args}") def _sectionForce(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionForce{args}") def _sectionDeformation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionDeformation{args}") def _sectionStiffness(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionStiffness{args}") def _sectionFlexibility(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionFlexibility{args}") def _sectionLocation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionLocation{args}") def _sectionWeight(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionWeight{args}") def _sectionTag(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionTag{args}") def _sectionDisplacement(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sectionDisplacement{args}") def _cbdiDisplacement(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}cbdiDisplacement{args}") def _basicDeformation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}basicDeformation{args}") def _basicForce(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}basicForce{args}") def _basicStiffness(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}basicStiffness{args}") def _InitialStateAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}InitialStateAnalysis{args}") def _totalCPU(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}totalCPU{args}") def _solveCPU(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}solveCPU{args}") def _accelCPU(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}accelCPU{args}") def _numFact(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}numFact{args}") def _numIter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}numIter{args}") def _systemSize(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}systemSize{args}") def _version(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}version{args}") def _setMaxOpenFiles(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setMaxOpenFiles{args}") def _limitCurve(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}limitCurve{args}") def _setElementRayleighFactors(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setElementRayleighFactors{args}") def _mesh(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}mesh{args}") def _remesh(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}remesh{args}") def _parameter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}parameter{args}") def _addToParameter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}addToParameter{args}") def _updateParameter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}updateParameter{args}") def _setParameter(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setParameter{args}") def _getPID(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getPID{args}") def _getNP(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNP{args}") def _barrier(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}barrier{args}") def _send(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}send{args}") def _recv(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}recv{args}") def _Bcast(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}Bcast{args}") def _computeGradients(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}computeGradients{args}") def _sensitivityAlgorithm(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensitivityAlgorithm{args}") def _sensNodeDisp(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensNodeDisp{args}") def _sensNodeVel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensNodeVel{args}") def _sensNodeAccel(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensNodeAccel{args}") def _sensLambda(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensLambda{args}") def _sensSectionForce(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensSectionForce{args}") def _sensNodePressure(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sensNodePressure{args}") def _getNumElements(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNumElements{args}") def _getEleClassTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getEleClassTags{args}") def _getEleLoadClassTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getEleLoadClassTags{args}") def _getEleLoadTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getEleLoadTags{args}") def _getEleLoadData(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getEleLoadData{args}") def _getNodeLoadTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNodeLoadTags{args}") def _getNodeLoadData(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNodeLoadData{args}") def _randomVariable(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}randomVariable{args}") def _getRVTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVTags{args}") def _getRVMean(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVMean{args}") def _getRVStdv(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVStdv{args}") def _getRVPDF(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVPDF{args}") def _getRVCDF(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVCDF{args}") def _getRVInverseCDF(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getRVInverseCDF{args}") def _addCorrelate(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}addCorrelate{args}") def _correlate(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}correlate{args}") def _performanceFunction(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}performanceFunction{args}") def _gradPerformanceFunction(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}gradPerformanceFunction{args}") def _transformUtoX(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}transformUtoX{args}") def _wipeReliability(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}wipeReliability{args}") def _updateMaterialStage(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}updateMaterialStage{args}") def _sdfResponse(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}sdfResponse{args}") def _probabilityTransformation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}probabilityTransformation{args}") def _startPoint(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}startPoint{args}") def _randomNumberGenerator(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}randomNumberGenerator{args}") def _reliabilityConvergenceCheck(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}reliabilityConvergenceCheck{args}") def _searchDirection(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}searchDirection{args}") def _meritFunctionCheck(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}meritFunctionCheck{args}") def _stepSizeRule(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}stepSizeRule{args}") def _rootFinding(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}rootFinding{args}") def _functionEvaluator(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}functionEvaluator{args}") def _gradientEvaluator(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}gradientEvaluator{args}") def _runFOSMAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}runFOSMAnalysis{args}") def _findDesignPoint(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}findDesignPoint{args}") def _runFORMAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}runFORMAnalysis{args}") def _getLSFTags(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getLSFTags{args}") def _runImportanceSamplingAnalysis(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append( f"{self.prefix}runImportanceSamplingAnalysis{args}") def _IGA(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}IGA{args}") def _NDTest(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}NDTest{args}") def _getNumThreads(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}getNumThreads{args}") def _setNumThreads(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setNumThreads{args}") def _setStartNodeTag(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}setStartNodeTag{args}") def _hystereticBackbone(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}hystereticBackbone{args}") def _stiffnessDegradation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}stiffnessDegradation{args}") def _strengthDegradation(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}strengthDegradation{args}") def _unloadingRule(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}unloadingRule{args}") def _partition(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}partition{args}") def _pc(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}pressureConstraint{args}") def _domainCommitTag(self, *args): args = _remove_commit(args) args = tuple([_type_convert(i) for i in args]) self.contents.append(f"{self.prefix}domainCommitTag{args}") @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("commits___", self._commits) 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