Source code for LoadCase.LoadsAndBCs

from abaqus import *
from abaqusConstants import *


[docs]def create_load(data, **kwargs): """ Create and apply compressing load at each connection between connectors and ipMTs :param data: list containing all ipMTs and connectors of the model :type data: list :param kwargs: model parameters :type kwargs: dict :return: Null :rtype: Null """ # Call the current assembly modelname = kwargs['modelname'] a = mdb.models[modelname].rootAssembly StepName = kwargs['StepName'] LoadVal = kwargs['CompressiveLoad'] # Select vertices to apply load # Iterate through unique ipMT names mt_names = [sublist[0] for sublist in data] mt_names = set(mt_names) # Specify that the load is negative for all ipMTs that have even numbers and positive otherwise for mtname in mt_names: if int(mtname[-1]) % 2 == 0: load = -LoadVal else: load = LoadVal # Locate the points to which loads are to be applied for sublist in data: if mtname == sublist[0]: connector_end = sublist[3] connector_name = sublist[1] # Select points that connect ipMTs with connectors ConnectorEnd = a.instances[connector_name].vertices[connector_end].pointOn loadPoint = a.instances[connector_name].vertices.findAt(ConnectorEnd, ) loadName = 'Load-' + connector_name + '-' + str(connector_end) loadRegion = a.Set(vertices=loadPoint, name=loadName) # Apply loads mdb.models[modelname].ConcentratedForce(name=loadName, createStepName=StepName, region=loadRegion, cf3=load, distributionType=UNIFORM, field='', localCsys=None)
[docs]def create_bc(**kwargs): """ Fix growing ends of aMTs where they are attached to the membrane :param kwargs: model parameters :type kwargs: dict :return: Null :rtype: Null """ modelname = kwargs['modelname'] # Call for the current assembly a = mdb.models[modelname].rootAssembly aMTnames = kwargs['aMTnames'] for i in range(len(aMTnames)): v = a.instances[aMTnames[i]].vertices verts = v.getSequenceFromMask(mask=('[#2]', ), ) region = a.Set(vertices=verts, name='FixedBCregion_'+str(i)) mdb.models[modelname].EncastreBC(name='FixedBC_'+str(i), createStepName='Initial', region=region, localCsys=None)