Skip to content

Commit

Permalink
Merge commit '1deaba4bd3ae30e78a371dfcdd6b7edcb5c8df47'
Browse files Browse the repository at this point in the history
  • Loading branch information
zhuminjie committed Jan 27, 2021
2 parents cfe0c68 + 1deaba4 commit b70180e
Show file tree
Hide file tree
Showing 20 changed files with 970 additions and 370 deletions.
Binary file added openseespy-docs/_static/startanacondacmd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added openseespy-docs/_static/startprompt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
409 changes: 409 additions & 0 deletions openseespy-docs/_static/startprompt.png.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions openseespy-docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,17 +61,17 @@

# General information about the project.
project = 'OpenSeesPy'
copyright = '2019, Minjie Zhu'
copyright = '2019-2021, Minjie Zhu'
author = 'Minjie Zhu'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '3.2.2.6'
version = '3.2.2.8'
# The full version, including alpha/beta/rc tags.
release = '3.2.2.6'
release = '3.2.2.8'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
8 changes: 1 addition & 7 deletions openseespy-docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@

OpenSeesPy is on :doc:`src/pypi`.

OpenSeesPy runs on :doc:`src/designsafe`.

OpenSeesPy runs on :doc:`src/wsl`.

OpenSeesPy runs on Mac now!

The latest version of this document can be found at
`<https://openseespydoc.readthedocs.io/en/latest/>`_.

Expand Down Expand Up @@ -68,7 +62,7 @@ To run a test of the pip installation:
Developer
============

*Minjie Zhu* <`email <openseespymj@outlook.com>`_>
*Minjie Zhu*

| Research Associate
| Civil and Construction Engineering
Expand Down
64 changes: 32 additions & 32 deletions openseespy-docs/pyExamples/obstacle-bg.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
filename = 'obstacle-bg'

# recorder
recorder('BgPVD', filename, 'disp', 'vel', 'pressure', '-dT', 1e-3)
ops.recorder('BgPVD', filename, 'disp', 'vel', 'pressure', '-dT', 1e-3)
if not os.path.exists(filename):
os.makedirs(filename)

Expand All @@ -75,97 +75,97 @@
eleArgs = ['PFEMElementBubble', rho, mu, b1, b2, thk, kappa]
partArgs = ['quad', 0.0, 0.0, L, 0.0, L, H, 0.0, H, nx, ny]
parttag = 1
mesh('part', parttag, *partArgs, *eleArgs, '-vel', 0.0, 0.0)
ops.mesh('part', parttag, *partArgs, *eleArgs, '-vel', 0.0, 0.0)

# wall mesh
node(1, 2 * L, 0.0)
node(2, 2 * L, Hb)
node(3, 0.0, H)
node(4, 0.0, 0.0)
node(5, 4 * L, 0.0)
node(6, 4 * L, H)
ops.node(1, 2 * L, 0.0)
ops.node(2, 2 * L, Hb)
ops.node(3, 0.0, H)
ops.node(4, 0.0, 0.0)
ops.node(5, 4 * L, 0.0)
ops.node(6, 4 * L, H)

sid = 1
walltag = 4
mesh('line', walltag, 5, 3, 4, 1, 5, 6, sid, ndf, h)
ops.mesh('line', walltag, 5, 3, 4, 1, 5, 6, sid, ndf, h)

wallNodes = getNodeTags('-mesh', walltag)
wallNodes = ops.getNodeTags('-mesh', walltag)
for nd in wallNodes:
fix(nd, 1, 1, 1)
ops.fix(nd, 1, 1, 1)

# structural mesh

# transformation
transfTag = 1
geomTransf('Corotational', transfTag)
ops.geomTransf('Corotational', transfTag)

# section
secTag = 1
if nonlinear:
matTag = 1
uniaxialMaterial('Steel01', matTag, Fy, E0, hardening)
ops.uniaxialMaterial('Steel01', matTag, Fy, E0, hardening)
numfiber = 5
section('Fiber', secTag)
patch('rect', matTag, numfiber, numfiber, 0.0, 0.0, thk, thk)
ops.section('Fiber', secTag)
ops.patch('rect', matTag, numfiber, numfiber, 0.0, 0.0, thk, thk)
else:
section('Elastic', secTag, E, A, Iz)
ops.section('Elastic', secTag, E, A, Iz)

# beam integration
inteTag = 1
numpts = 2
beamIntegration('Legendre', inteTag, secTag, numpts)
ops.beamIntegration('Legendre', inteTag, secTag, numpts)

coltag = 3
eleArgs = ['dispBeamColumn', transfTag, inteTag]
mesh('line', coltag, 2, 1, 2, sid, ndf, h, *eleArgs)
ops.mesh('line', coltag, 2, 1, 2, sid, ndf, h, *eleArgs)

# mass
sNodes = getNodeTags('-mesh', coltag)
sNodes = ops.getNodeTags('-mesh', coltag)
bmass = bmass / len(sNodes)
for nd in sNodes:
mass(int(nd), bmass, bmass, 0.0)
ops.mass(int(nd), bmass, bmass, 0.0)


# background mesh
lower = [-h, -h]
upper = [5 * L, 3 * L]

mesh('bg', h, *lower, *upper,
ops.mesh('bg', h, *lower, *upper,
'-structure', sid, len(sNodes), *sNodes,
'-structure', sid, len(wallNodes), *wallNodes)

print('num nodes =', len(getNodeTags()))
print('num nodes =', len(ops.getNodeTags()))
print('num particles =', nx * ny)

# create constraint object
constraints('Plain')
ops.constraints('Plain')

# create numberer object
numberer('Plain')
ops.numberer('Plain')

# create convergence test object
test('PFEM', 1e-5, 1e-5, 1e-5, 1e-5, 1e-5, 1e-5, 100, 3, 1, 2)
ops.test('PFEM', 1e-5, 1e-5, 1e-5, 1e-5, 1e-5, 1e-5, 100, 3, 1, 2)

# create algorithm object
algorithm('Newton')
ops.algorithm('Newton')

# create integrator object
integrator('PFEM', 0.5, 0.25)
ops.integrator('PFEM', 0.5, 0.25)

# create SOE object
system('PFEM')
ops.system('PFEM')
# system('PFEM', '-mumps') Linux version can use mumps

# create analysis object
analysis('PFEM', dtmax, dtmin, b2)
ops.analysis('PFEM', dtmax, dtmin, b2)

# analysis
while getTime() < totaltime:
while ops.getTime() < totaltime:

# analysis
if analyze() < 0:
if ops.analyze() < 0:
break

remesh()
ops.remesh()

print("==========================================")
4 changes: 2 additions & 2 deletions openseespy-docs/src/backgroundmeshexamples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
==================


#. :doc:`dambreak`
#. :doc:`elasticobstacle`
#. :doc:`dambreakbg`
#. :doc:`elasticobstaclebg`


.. toctree::
Expand Down
8 changes: 8 additions & 0 deletions openseespy-docs/src/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
Change Log
==============

* **Version 3.2.2.8** (1/8/2021)

* Linux version is tested with Centos 7, 8, Ubuntu 18.04, 20.04, Fedora, and Debian.
* Mac version uses MacPorts for installing Python and dependencies.
* Bug fixes for recorders, FourNodeTetrahedron, ASD_SMA_3K, nodeMass,
* Add ExpressNewton, RockingBC, CBDI3d, Concrete02IS
* Update PETSc Solver, ZeroLengthSection, ForceBeamColumn3d, OOHystereticMaterial, SSPbrickUP, HardeningMaterial, BilinearOilDamper,

* **Version 3.2.2.6** (10/15/2020)

* OpenSeesPy is available now on Mac, just type `import openseespy.opensees as ops` on the MacOS. Python3.8 is required and HomeBrew Python is strongly recommended.
Expand Down
4 changes: 4 additions & 0 deletions openseespy-docs/src/compile.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@
Compilation
==============

#. :doc:`compilewin`
#. :doc:`compilemac`
#. :doc:`compileqt`


.. toctree::
:maxdepth: 1
:hidden:

compilewin
compilemac
compileqt


Loading

0 comments on commit b70180e

Please sign in to comment.