def InputRead(fname): if fname[-4:] == '.pro': props = fileParser(fname) else: props = fileParser(fname + '.pro') dataFileName = props.input nodes = NodeSet() nodes.readFromFile(dataFileName) elems = ElementSet(nodes, props) elems.readFromFile(dataFileName) dofs = DofSpace(elems) dofs.readFromFile(dataFileName) globdat = GlobalData(nodes, elems, dofs) globdat.readFromFile(dataFileName) globdat.active = True globdat.cycle = 0 globdat.prefix = os.path.splitext(fname)[0] return props, globdat
def InputReader(argv): options, remainder = getopt.getopt(argv, 'a:k:v', ['all', 'author=']) proFileName = argv[1] props = fileParser(proFileName) dataFileName = props.input nodes = NodeSet() nodes.readFromFile(dataFileName) elems = ElementSet(nodes, props) elems.readFromFile(dataFileName) dofs = DofSpace(elems) dofs.readFromFile(dataFileName) globdat = GlobalData(nodes, elems, dofs) globdat.readFromFile(dataFileName) globdat.active = True globdat.cycle = 0 globdat.prefix = os.path.splitext(proFileName)[0] return props, globdat
def InputRead( fname , dname = None , parameters = None ): if dname is not None: with open(dname, 'rb') as f: data = pickle.load(f) props = data["props"] if fname is not None: if fname[-4:] == '.pro': props = fileParser( fname ) else: props = fileParser( fname+'.pro') if parameters is not None: for p in parameters: x = p.split("=") props.store(x[0],x[1]) if dname is not None: return props,data["globdat"] dataFileName = props.input logger = setLogger( props ) nodes = NodeSet() nodes.readFromFile( dataFileName ) logger.info(nodes) elems = ElementSet( nodes , props ) elems.readFromFile( dataFileName ) logger.info(elems) dofs = DofSpace( elems ) dofs.readFromFile( dataFileName ) globdat = GlobalData( nodes, elems, dofs ) globdat.readFromFile( dataFileName ) globdat.active = True globdat.prefix = os.path.splitext(fname)[0] globdat.contact = Contact( props ) return props,globdat
from pyfem.util.dataStructures import Properties props = Properties() props.TrussElem = Properties({'type': 'Truss', 'E': 5e6, 'Area': 1.0}) props.SpringElem = Properties({'type': 'Spring', 'k': 2000.}) ############################# # Defining finite element # # data structures # ############################# #NodeSet from pyfem.fem.NodeSet import NodeSet nodes = NodeSet() nodes.add(1, [ 0., 0. ]) #Attachement point of spring (can be positioned anywhere along the y-axis) nodes.add(2, [-10., 0.]) #Left support nodes.add(3, [10., 0.]) #Right support nodes.add(4, [0., 0.5]) #Loading point #ElementSet from pyfem.fem.ElementSet import ElementSet elements = ElementSet(nodes, props) elements.add(1, 'TrussElem', [2, 4]) elements.add(2, 'TrussElem', [3, 4])