OpenSees, the Open System for Earthquake Engineering Simulation

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
ebrahim raeyat
Posts: 619
Joined: Sun Sep 09, 2018 7:00 pm
Location: Iran
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by ebrahim raeyat »

@bernd

instruction of opensees installation on ubuntu:

https://vijaypolimeru.github.io/Somethi ... PS_Ubuntu/
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by Kunda1 »

What sucks is the OpenSees has pathetic support in the package ecosystem.
Take for example the Arch Linux package repository AKA the "AUR" (one of the more robust up to date package ecosystems in Linux) only supports OpenSees 2.5 (which was back in 2016)

https://aur.archlinux.org/packages/opensees

Here's the Repology Badge:
Image

Edit: For clarity and posterity, at the time this was posted the only downstream package available was an obsolete version of OpenSees (v2.5) on the AUR
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
ebrahim raeyat
Posts: 619
Joined: Sun Sep 09, 2018 7:00 pm
Location: Iran
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by ebrahim raeyat »

Kunda1 wrote: Fri Jan 17, 2020 7:55 am What sucks is the OpenSees has pathetic support in the package ecosystem.
Take for example the Arch Linux package repository AKA the "AUR" (one of the more robust up to date package ecosystems in Linux) only supports OpenSees 2.5 (which was back in 2016)
yes, but it is widely use in earthquake engineering for linear and nonlinear analysis and has complete library of new materials. also it has many gui written for it:

http://gidopensees.rclab.civil.auth.gr/
https://peer.berkeley.edu/opensees-navigator
via https://www.nextfem.it/it/home/
http://soilquake.net/openseespl/

i think we can write best gui for it via freecad.
User avatar
ebrahim raeyat
Posts: 619
Joined: Sun Sep 09, 2018 7:00 pm
Location: Iran
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by ebrahim raeyat »

@bernd

This is an example of modeling 3D cantilever beam in opensees from opensees site:

https://opensees.berkeley.edu/OpenSees/ ... ML/878.htm

direct .tcl file link

my change for creating FreeCAD 3D cantilever beam example, i don't know why when i import larger force, the analysis comes with error, but this is almost all things about opensees input file:

Units.tcl file:

Code: Select all

#Basic units
set m   1.0; # meter for length
set sec 1.0; # second for time
set kg  1.0; # Kilogram for mass

#Other units
# angle
#set rad 1.0;
#set deg [expr $PI/180.0*$rad];

# length
set cm  0.01;
set in  0.0254;
set ft [expr 12.0*$in];

# mass
set lbs 0.4536;
set kip [expr 1000.0*$lbs];
set ton [expr 1000.0*$kg]

# force
set N   [expr 0.1 * $kg * $m / ($sec * $sec)] ;
set KN [expr 1000.0*$N];
set MN [expr 1000.0*$KN];

# pressure
set Pa  [expr 1.0*$N/pow($m, 2)];
set KPa [expr 1000.0*$Pa];
set GPa [expr 1000.0*$KPa];
set pcf [expr $lbs/pow($ft,3)];	# pcf = #/cubic foot
set ksi [expr $kip/pow($in,2)];
set psi [expr $ksi/1000.];
Example8.1.tcl:

Code: Select all

# ----------------------------
# Start of model generation
# ----------------------------
# kgf-m
# Create ModelBuilder with 3 dimensions and 6 DOF/node
model basic -ndm 3 -ndf 3

source Units.tcl

# create the material
nDMaterial ElasticIsotropic   1   [expr 210*$GPa]   0.3  7900

# Define geometry
# ---------------

# define some  parameters
set eleArgs "1"

#set element stdBrick
set element bbarBrick

set nz 2
set nx 6
set ny 2

set nn [expr ($nz+1)*($nx+1)*($ny+1) ]

# mesh generation
block3D $nx $ny $nz   8 1  $element  $eleArgs {

    1   4 1 0
    2   -4 1 0
    3   -4 0 0
    4   4 0 0
    5   4 1 1
    6   -4 1 1
    7   -4 0 1
    8   4 0 1
}


set load [expr 900*$N]

# Constant point load
pattern Plain 1 Linear {
   load $nn  0  0 $load
}

# boundary conditions
fixX 4   1 1 1  1 1 1

# --------------------------------------------------------------------
# Start of static analysis (creation of the analysis & analysis itself)
# --------------------------------------------------------------------

# Load control with variable load steps
#                       init   Jd  min   max
integrator LoadControl  1.0  1

# Convergence test
#                  tolerance maxIter displayCode
test NormUnbalance     1.0e-10    20     0

# Solution algorithm
algorithm Newton

# DOF numberer
numberer RCM

# Cosntraint handler
constraints Plain

# System of equations solver
system ProfileSPD

# Analysis for gravity load
analysis Static

# Perform the analysis
analyze 5


# --------------------------
# End of static analysis
# --------------------------

# ----------------------------
# Start of recorder generation
# ----------------------------

recorder Node -file Node.out -time -node $nn -dof 1 2 3 disp
#recorder plot Node.out CenterNodeDisp 625 10 625 450 -columns 1 2

recorder display ShakingBeam 0 0 300 300 -wipe
prp -100 100 120.5
vup 0 1 0
display 1 4 1

# --------------------------
# End of recorder generation
# --------------------------


# ---------------------------------------
# Create and Perform the dynamic analysis
# ---------------------------------------

# Remove the static analysis & reset the time to 0.0
wipeAnalysis
setTime 0.0

# Now remove the loads and let the beam vibrate
remove loadPattern 1

# add some mass proportional damping
rayleigh 0.01 0.0 0.0 0.0

# Create the transient analysis
test EnergyIncr     1.0e-10    20   0
algorithm Newton
numberer RCM
constraints Plain
integrator Newmark 0.5 0.25
#integrator GeneralizedMidpoint 0.50
analysis Transient


# Perform the transient analysis (20 sec)
#       numSteps  dt
analyze 100 2.0
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by bernd »

https://forum.freecadweb.org/viewtopic. ... 51#p370251

I may try to make a open sees solver object to get started. I would use your input file as dummy file which would be written on any solver run. Than we would have a base and could with implementing the writer directly.

bernd
User avatar
ebrahim raeyat
Posts: 619
Joined: Sun Sep 09, 2018 7:00 pm
Location: Iran
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by ebrahim raeyat »

bernd wrote: Wed Feb 19, 2020 2:26 pm https://forum.freecadweb.org/viewtopic. ... 51#p370251

I may try to make a open sees solver object to get started. I would use your input file as dummy file which would be written on any solver run. Than we would have a base and could with implementing the writer directly.

bernd
I'm waiting for applying this, very thanks
shahram10715
Posts: 22
Joined: Sat Apr 20, 2019 7:09 am
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by shahram10715 »

I have compiled Opensees for Ubuntu. required packages must be installed first.

https://drive.google.com/file/d/1HKpKd4 ... sp=sharing
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by bernd »

cool, I will give it a try on my Debian Buster! It may work on that too!
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by Kunda1 »

Kunda1 wrote: Fri Jan 17, 2020 7:55 am Here's the Repology Badge:
Image

Edit: For clarity and posterity, at the time this was posted the only downstream package available was an obsolete version of OpenSees (v2.5) on the AUR
shahram10715 wrote: Sun Feb 23, 2020 10:04 am I have compiled Opensees for Ubuntu. required packages must be installed first.

https://drive.google.com/file/d/1HKpKd4 ... sp=sharing
@shahram10715 perhaps we can get the package incorporated in to Debian/Ubuntu and other downstream repositories like Conda, Homebrew, OpenSUSE etc...

Edit: I've opened an issue on https://github.com/OpenSees/OpenSees/issues/248
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: OpenSees, the Open System for Earthquake Engineering Simulation

Post by bernd »

shahram10715 wrote: Sun Feb 23, 2020 10:04 am I have compiled Opensees for Ubuntu. required packages must be installed first.

https://drive.google.com/file/d/1HKpKd4 ... sp=sharing
requires GLIBC_2.29 but buster has 2.28-10 means it probably runs on Debian Testing aka Debian bullseye
Post Reply