Search found 5881 matches

by fmk
Mon Feb 26, 2024 9:14 am
Forum: OpenSees.exe Users
Topic: Question about the weird variaiton of axial force at pier base during a nonlinear time history analysis
Replies: 7
Views: 7079

Re: Question about the weird variaiton of axial force at pier base during a nonlinear time history analysis

to original poster .. what convergence test are you using .. i suggest NormUnbalance if you are not using it .. NormDispIncr is pretty much useless in dynamic analysis if you want to ensure equilibrium
by fmk
Mon Feb 26, 2024 9:06 am
Forum: OpenSees.exe Users
Topic: Inclined supports.
Replies: 1
Views: 3386

Re: Inclined supports.

simplest might be to orient the structure at 45 degrees and use normal constraints .. create a little function to return the transformed coordinates for the nodes and use those when creating the nodes or just use [expr ] in the nodes directly.
by fmk
Mon Feb 26, 2024 8:57 am
Forum: OpenSees.exe Users
Topic: Fiber sections
Replies: 1
Views: 3488

Re: Fiber sections

i suggest you try it and spit out the fibers and their locations to see what you generated. if you have complicated sections i suggest building the section i fiber at a time .. if repeated complex shaped sections, create procedures to do this.
by fmk
Mon Feb 26, 2024 8:53 am
Forum: OpenSees.exe Users
Topic: Outputs for damping forces
Replies: 2
Views: 3386

Re: Outputs for damping forces

the only way to determine damping forces when using modal damping is to determine from global equilibrium .. it is a pain to do but you need to record the ground motion, all nodal accelerations for which there is a mass, and the element end forces .. create a free body diagram and then utilize the fact that equilibirum that is being satisfied, i.e.
-M * 1 * Ag = Ele Forces + Damping Forces + M * accel recorded

NOTE this assumes that convergence has been achieved (which is not gaurenteed if you are using Norm of the displacement increment, so make sure you are using NormUnbalance as the convergence criterim).`
by fmk
Mon Feb 26, 2024 8:44 am
Forum: OpenSees.exe Users
Topic: Axial force of column section is very small. Why?
Replies: 2
Views: 3512

Re: Axial force of column section is very small. Why?

the fact that section axial force and element axial force is not consistent is a result of how the element force is calculated for a DISPLACEMENT based element" .. basically loop over all the gauss points in the element and combine the forces using the forces at the gauss points and the gauss point weights

https://www.youtube.com/watch?v=yk-1k2aF53E
by fmk
Mon Feb 26, 2024 8:27 am
Forum: OpenSees.exe Users
Topic: UmfPack error in retaining wall Analysis
Replies: 1
Views: 3522

Re: UmfPack error in retaining wall Analysis

try changing solver to ProfileSPD and respond with the error you get when you run it
by fmk
Mon Jan 30, 2023 9:11 am
Forum: Documentation
Topic: Copyright terms explanation required
Replies: 12
Views: 26597

Re: Copyright terms explanation required

By PEER cbrinck means myself, the original developer of OpenSees and the person who last updated the copyright. The above license requirement for companies offering the opensees application as an online service you pay for, just mentioned by ponczek, is required as the UC lawyers have determined that making money from giving people online access to services that utilize OpenSees code is just the modern equivalent of selling somebody an application that runs on their computer that requires OpenSees source code to build that application.

Users of OpenSees who use OpenSees or their own modified version of OpenSees to perform simulations as part of their work are freely permitted to use it.

And MarcoG, if you are just providing your customers with a tcl script that is totally fine to do. It is a text file you are providing them and not an application.
by fmk
Mon Jan 30, 2023 8:45 am
Forum: OpenSees.exe Users
Topic: Why did OPENSEES crash when I exported the M K matrix?
Replies: 5
Views: 10705

Re: Why did OPENSEES crash when I exported the M K matrix?

no simpler solution exists.
by fmk
Mon Mar 14, 2022 9:41 am
Forum: OpenSees.exe Users
Topic: LoadConst
Replies: 6
Views: 12358

Re: LoadConst

yes. it just sets aflag in the LoadPattern that tells it to keep the load multiplier the same from here on out.
by fmk
Tue Nov 09, 2021 9:13 pm
Forum: OpenSees.exe Users
Topic: Pushover analysis
Replies: 1
Views: 7165

Re: Pushover analysis

i suggest you post a simple example outlining your problem .. you have provided not enough information to provide any guidance .. as you are a newbie, a simple problem will force you to understand how OpenSees works and will hopefully enlighten you as to the mistake you are making.
by fmk
Thu Nov 04, 2021 9:42 pm
Forum: Parallel Processing
Topic: Accuracy of OpenSeesMP results
Replies: 1
Views: 15353

Re: Accuracy of OpenSeesMP results

The programs will not give the same results. Typically the difference is small, a difference in some insignificant digits. Hoewever if matrix is poorly conditioned at stages in a nonlinear analysis the results can be larger at the end. Check on differences after first few steps, if very different your model the model you built with SP os different from MP.

Reasons for differences if same model:
1) different solver, i.e. Mumps in MP, something else in sequential. Here the difference is due to the LU decomposition being different.
2) even with same solver there can be difference. In parallel, the partitioned matrices accumulate the matrix differently (in that the element contributions are added in a different order to the matrix). If exact math were performed there would be no difference in the results, however there is roundoff and that causes differences in the matrix entries before the LU decomposition starts.

Possible differences if different model:
1) transient problem and mass added to node in different partitions twice.
2) ditto with nodal loads
by fmk
Tue Nov 02, 2021 10:41 pm
Forum: OpenSees.exe Users
Topic: WARNING RandGenLinLapackSolver::solue() -LAPACK routine returned 487
Replies: 1
Views: 9385

Re: WARNING RandGenLinLapackSolver::solue() -LAPACK routine returned 487

error codes returned from lapack at start of analysis indicate the model is incorrect .. try a ProfileSPD solver and a PlainNumberer to see what dof has a problem, example:

Code: Select all

model basic -ndm 2
node 1 0 0
node 2 0 10
geomTransf Linear 1
element elasticBeamColumn 1 1 2 10 100 1000 1
fix 1 1 0 1

timeSeries Linear 1
pattern Plain 1 1 {
    load 2 10.0 0 0
}
constraints Plain
numberer Plain
algorithm Linear
system ProfileSPD
integrator LoadControl 1.0
analysis Static
analyze 10
print node
when run will show:

Code: Select all

ProfileSPDLinDirectSolver::solve() -  aii < 0 (i, aii): (2, 0)
WARNING Linear::solveCurrentStep() -the LinearSOE failed in solve()
StaticAnalysis::analyze() - the Algorithm failed at step: 0 with domain at load factor 1
OpenSees > analyze failed, returned: -3 error flag

 Node: 1
	Coordinates  : 0 0 
	Disps: 0 0 0 
	 unbalanced Load: 0 0 0 
	ID : -1 0 -1 


 Node: 2
	Coordinates  : 0 10 
	Disps: 0 0 0 
	 unbalanced Load: 0 0 0 
	ID : 1 2 3 
	
which as you see shows a problem with a 0 being on diagonal of dof=2, which fom the printed node id is node 2's vertical dof. This from your knowledge of structural analysis and gaussian elimination should be expected.
by fmk
Tue Nov 02, 2021 10:27 pm
Forum: OpenSees.exe Users
Topic: 2 Phase pushover analysis
Replies: 3
Views: 11020

Re: 2 Phase pushover analysis

here is a simple script that does what you describe w/o error (hopefully). It is impossible to figure out your problem with code in other files. Hopefully you can sort out your issue from code below. If not repeat your problem in a SIMPLE example like below.

Code: Select all


model basic -ndm 2
node 1 0 0
node 2 0 10
geomTransf Linear 1
element elasticBeamColumn 1 1 2 10 100 1000 1
fix 1 1 1 1

#                                                                                     
# load control first                                                                  
#  apply tip load of 100 over 10 steps                                                
#                                                                                     

timeSeries Linear 1
pattern Plain 1 1 {
    load 2 10.0 0 0
}
integrator LoadControl 1.0
analysis Static
analyze 10
puts "\nNode after 10 Load Control .. should see lateral load of 100 and some disp"
print node 2;

#                                                                                     
# loadConst command                                                                   
#                                                                                     

loadConst -time 0

#                                                                                     
# do another 10 load steps after loadConst .. should see no difference                
#     

analyze 10
puts "Node after 10 more steps after loadConst .. should be same as previous"
print node 2

#                                                                                     
# now apply displacement control                                                      
#  - use displacement control to increment disp to result of previous over 10 steps   
#  - when done load should be doubled and displacement doubles                        
#
     
set totalDisp [nodeDisp 2 1]
loadConst -time 0; # reset time to 0 again                                            

timeSeries Linear 2
pattern Plain 2 2 {
    load 2 1 0 0
}
integrator DisplacementControl 2 1 [expr $totalDisp/10.]
for {set i 1} {$i <= 10} {incr i 1} {
    analyze 1
    print node 2;
}

by fmk
Tue Nov 02, 2021 9:48 pm
Forum: OpenSees.exe Users
Topic: How can get a list of all element tags of a specific type?
Replies: 1
Views: 9209

Re: How can get a list of all element tags of a specific type?

it is not a feature that is available from the command line .. it is of course something you could do in your script that creates the model
by fmk
Mon Nov 01, 2021 10:23 pm
Forum: OpenSees.exe Users
Topic: Maximum Node Displacement
Replies: 1
Views: 8590

Re: Maximum Node Displacement

you either have to look after the variable in your script, i.e. monitor the nodal displacements and write to a file when done, or use the EnvelopeRecorder. What is wrong with using the EnvelopeRecorder?

you could also use the Envelope recorder, isssue a remove recorders command when analysis is done, then open the output file, parse the values and write aopther file as another option.