Simultaneous multidirectional loading

Forum for asking and answering questions related to use of the OpenSeesPy module

Moderators: silvia, selimgunay, Moderators

Post Reply
jrbnewcastle
Posts: 9
Joined: Tue Jun 13, 2023 4:15 am

Simultaneous multidirectional loading

Post by jrbnewcastle »

Hi All,
Does anyone have experience of applying simultaneous multidirectional loads in a transient analysis to a structure in Opensees?
I would like to apply loading at 3 points onto the structure, and have time series for the x,y, and z component of the loads.

To do this I am using the below in my script, these seem to be ok if you print the model (see print out below the script), but I want to check if all these load patterns are actually being applied simultaneously, or it is just the last load pattern before the analysis call that is actually applied.
Many thanks if you have tried this or similar / have any suggestions.

# Time series
ops.timeSeries('Path', 1000, '-values','-time', '-filePath', 'T1_x_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 2000, '-values','-time', '-filePath', 'T1_y_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 3000, '-values','-time', '-filePath', 'T1_z_Int_001.txt', '-fileTime', 'time_0.001.txt')

ops.timeSeries('Path', 4000, '-values','-time', '-filePath', 'T2_x_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 5000, '-values','-time', '-filePath', 'T2_y_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 6000, '-values','-time', '-filePath', 'T2_z_Int_001.txt', '-fileTime', 'time_0.001.txt')

ops.timeSeries('Path', 7000, '-values','-time', '-filePath', 'T3_x_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 8000, '-values','-time', '-filePath', 'T3_y_Int_001.txt', '-fileTime', 'time_0.001.txt')
ops.timeSeries('Path', 9000, '-values','-time', '-filePath', 'T3_z_Int_001.txt', '-fileTime', 'time_0.001.txt')

#T1

ops.pattern('Plain', 1, 1000)
ops.load(31755, 1.0, 0.0, 0.0) # Load in X direction

ops.pattern('Plain', 2, 2000)
ops.load(31755, 0.0, 1.0, 0.0) # Load in Y direction

ops.pattern('Plain', 3, 3000)
ops.load(31755, 0.0, 0.0, 1.0) # Load in Z direction


#T2

ops.pattern('Plain', 4, 4000)
ops.load(32045, 1.0, 0.0, 0.0) # Load in X direction

ops.pattern('Plain', 5, 5000)
ops.load(32045, 0.0, 1.0, 0.0) # Load in Y direction

ops.pattern('Plain', 6, 6000)
ops.load(32045, 0.0, 0.0, 1.0) # Load in Z direction


#T3

ops.pattern('Plain', 7, 7000)
ops.load(31947, 1.0, 0.0, 0.0) # Load in X direction

ops.pattern('Plain', 8, 8000)
ops.load(31947, 0.0, 1.0, 0.0) # Load in Y direction

ops.pattern('Plain', 9, 9000)
ops.load(31947, 0.0, 0.0, 1.0) # Load in Z direction

ops.analyze(10000, 0.001)

Model print out:

LOAD PATTERNS: numPatterns: 9

numComponents: 9
Load Pattern: 1
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31755 load : 1 0 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 2
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31755 load : 0 1 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 3
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31755 load : 0 0 1
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 4
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 32045 load : 1 0 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 5
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 32045 load : 0 1 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 6
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 32045 load : 0 0 1
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 7
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31947 load : 1 0 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 8
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31947 load : 0 1 0
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0

Load Pattern: 9
Scale Factor: 1
Path Time Series: constant factor: 1 Nodal Loads:
numComponents: 1
Nodal Load: 31947 load : 0 0 1
Elemental Loads:
numComponents: 0
Single Point Constraints:
numComponents: 0
PARAMETERS: numParameters: 0
numComponents: 0
mhscott
Posts: 880
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Simultaneous multidirectional loading

Post by mhscott »

That should work
jrbnewcastle
Posts: 9
Joined: Tue Jun 13, 2023 4:15 am

Re: Simultaneous multidirectional loading

Post by jrbnewcastle »

Great - thankyou!!!
mhscott
Posts: 880
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: Simultaneous multidirectional loading

Post by mhscott »

If you have doubts, perform simple analyses and check reactions and other easily verifiable responses.
jrbnewcastle
Posts: 9
Joined: Tue Jun 13, 2023 4:15 am

Re: Simultaneous multidirectional loading

Post by jrbnewcastle »

Yes I had tried each line separately and in combination to check the node reactions. There is a large increase in reaction on application of the load, which then dissipates, I guess as the structure reacts and displaces. But in a simpler model, the affect would be much clearer. Many thanks again for your response!
norahcackle
Posts: 3
Joined: Mon Jan 08, 2024 11:35 pm

Re: Simultaneous multidirectional loading

Post by norahcackle »

That's great! space bar clicker
Post Reply