Skip to content

Commit 170648b

Browse files
committedFeb 9, 2015
Merge pull request #7 from pydy/jason
Just some cleanup to the site.
2 parents c5c1d22 + 522e90b commit 170648b

13 files changed

+158
-290
lines changed
 

‎README.rst

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
This repository contains the source files for the website hosted through Github
22
Pages at http://github.com/pydy/pydy.github.io.
33

4+
How make a blog post
5+
====================
6+
7+
Create a new rst file in `source/blog/<year>` and make sure to include a rst
8+
directive with the date of the post, e.g.::
9+
10+
.. post:: 22 Jan, 2014
11+
412
Dependencies
513
============
614

‎source/blog/2013/first_post.rst

-2
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,3 @@ email to the
2828
with a brief statement explaining your experience and why you think you are a
2929
good candidate for the position(s). The PyDy team will work directly with the
3030
top candidates to strengthen their GSoC applications.
31-
32-

‎source/blog/2013/may31_2013.rst

+5-11
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,14 @@ Foundation. The following projects have been accepted:
99

1010
Student (Project): Mentor
1111

12-
13-
* Tarun Gaba (PyDy: Visualization): Jason Moore
14-
15-
* Varun Josh (PyDy: Code Generation for sympy.physics.mechanics): Jason Moore
12+
- Tarun Gaba (PyDy: Visualization): Jason Moore
13+
- Varun Josh (PyDy: Code Generation for sympy.physics.mechanics): Jason Moore
1614

1715
Additionally, two related proposals will be accepted through SymPy that relate
1816
to PyDy:
1917

18+
- Prasoon Shukla (Vector calculus module): Stefan Krastanov and Gilbert Gede
19+
- Sachin Joglekar (Addition of electromagnetism features to sympy.physics):
20+
Gilbert Gede and Stefan Krastanov
2021

21-
* Prasoon Shukla (Vector calculus module): Stefan Krastanov and Gilbert Gede
22-
23-
* Sachin Joglekar (Addition of electromagnetism features to sympy.physics):
24-
Gilbert Gede and Stefan Krastanov
25-
2622
Join me in congratulating these students on their acceptance.
27-
28-

‎source/blog/2014/scipy2014.rst

+7-12
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,14 @@ PyDy at SciPy 2014
55

66
PyDy is going to be at PyCon 2014 in Montréal! Jason Moore's presentation
77
titled "Dynamics and Control with Python" has been accepted as a Tutorial, to
8-
be shown 9:00am - 12:00pm on Wednesday, April 9, 2014
9-
(`tutorial schedules <https://us.pycon.org/2014/schedule/tutorials/>`_). Topics
10-
covered will include:
8+
be shown 9:00am - 12:00pm on Wednesday, April 9, 2014 (`tutorial schedules
9+
<https://us.pycon.org/2014/schedule/tutorials/>`_). Topics covered will
10+
include:
1111

12-
* Symbolic derivation of equations of motion for rigid body systems
13-
14-
* Numerical simulation of the system
15-
16-
* 2D and 3D visualization of the motion of the system
17-
18-
* Using feedback control for stabilization
12+
- Symbolic derivation of equations of motion for rigid body systems
13+
- Numerical simulation of the system
14+
- 2D and 3D visualization of the motion of the system
15+
- Using feedback control for stabilization
1916

2017
Keep an eye on the Github repository being used to develop the presentation:
2118
`PyDy tutorial materials for PYCON 2014 <https://github.com/PythonDynamics/pydy-tutorial-pycon-2014>`_.
22-
23-

‎source/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
# General information about the project.
5353
project = 'PyDy'
54-
copyright = '2014, PyDy Team'
54+
copyright = '2015, PyDy Team'
5555

5656
# The version info for the project you're documenting, acts as replacement for
5757
# |version| and |release|, also used in various other places throughout the

‎source/examples/beginners_tutorial.rst

+34-34
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ operates. The first step is to open up your python interpreter. This varies
66
depending on your work style, but the simplest way is to type python in a
77
command prompt:
88

9-
.. code-block:: bash
9+
.. code:: bash
1010
1111
$ python
1212
@@ -15,14 +15,14 @@ functionality from SymPy and the Mechanics module, otherwise you will only have
1515
basic python commands available to work with. We will use the import * method
1616
to bring in all functions from the two modules:
1717

18-
.. code-block:: python
18+
.. code:: python
1919
2020
>>> from sympy import *
2121
>>> from sympy.physics.mechanics import *
2222
2323
You can now see what functions and variables that are available to you with:
2424

25-
.. code-block:: python
25+
.. code:: python
2626
2727
>>> dir()
2828
@@ -37,45 +37,45 @@ know the name of the command that you want to use simply use the builtin help
3737
function to bring up the documentation for the function. In our case we need to
3838
use the ReferenceFrame class:
3939

40-
.. code-block:: python
40+
.. code:: python
4141
4242
>>> help(ReferenceFrame)
4343
4444
Press `q` to return to the command line. Now create an inertial reference frame
4545
called N for Newtonian as was described in the help:
4646

47-
.. code-block:: python
47+
.. code:: python
4848
4949
>>> N = ReferenceFrame('N')
5050
5151
Keep in mind that N is the variable name of which the reference frame named 'N'
5252
is stored. It is important to note that `N` is an object and it has properties
5353
and functions associated with it. To see a list of them type:
5454

55-
.. code-block:: python
55+
.. code:: python
5656
5757
>>> dir(N)
5858
Notice that three of the properties are `x`, `y`, and `z`. These are the
5959
orthonormal unit vectors associated with the reference frame and are the
6060
building blocks for creating vectors. We can create a vector by simply building
6161
a linear combination of the unit vectors:
6262

63-
.. code-block:: python
63+
.. code:: python
6464
6565
>>> v = 1 * N.x + 2 * N.y + 3 * N.z
6666
6767
Now a vector expressed in the N reference frame is stored in the variable `v`.
6868
We can print `v` to the screen by typing:
6969

70-
.. code-block:: python
70+
.. code:: python
7171
7272
>>> print(v)
7373
N.x + 2*N.y + 3*N.z
7474
7575
The vector `v` can be manipulated as expected. You can multiply and divide them
7676
by scalars:
7777

78-
.. code-block:: python
78+
.. code:: python
7979
8080
>>> 2 * v
8181
2*N.x + 4*N.y + 6*N.z
@@ -88,7 +88,7 @@ remember to always declare numbers as floats (i.e. include a decimal).
8888

8989
You can add and subtract vectors:
9090

91-
.. code-block:: python
91+
.. code:: python
9292
9393
>>> v + v
9494
2*N.x + 4*N.y + 6*N.z
@@ -98,28 +98,28 @@ You can add and subtract vectors:
9898
9999
Vectors also have some useful properties:
100100

101-
.. code-block:: python
101+
.. code:: python
102102
103103
>>> dir(v)
104104
105105
You can find the magnitude of a vector by typing:
106106

107-
.. code-block:: python
107+
.. code:: python
108108
109109
>>> v.magnitude()
110110
sqrt(14)
111111
112112
You can compute a unit vector in the direction of `v`:
113113

114-
.. code-block:: python
114+
.. code:: python
115115
116116
>>> v.normalize()
117117
sqrt(14)/14*N.x + sqrt(14)/7*N.y + 3*sqrt(14)/14*N.z
118118
119119
You can find the measure numbers and the reference frame the vector was defined
120120
in with:
121121

122-
.. code-block:: python
122+
.. code:: python
123123
124124
>>> v.args
125125
[([1]
@@ -128,7 +128,7 @@ in with:
128128
129129
Dot and cross products of vectors can also be computed:
130130

131-
.. code-block:: python
131+
.. code:: python
132132
133133
>>> dot(v, w)
134134
19
@@ -139,14 +139,14 @@ We've only used numbers as our measure numbers so far, but it is just as easy
139139
to use symbols. We will introduce six symbols for our measure numbers with the
140140
SymPy `symbols` [`help(symbols) for the documentation`] function:
141141

142-
.. code-block:: python
142+
.. code:: python
143143
144144
>>> a1, a2, a3 = symbols('a1 a2 a3')
145145
>>> b1, b2, b3 = symbols('b1 b2 b3')
146146
147147
And create two new vectors that are completely symbolic:
148148

149-
.. code-block:: python
149+
.. code:: python
150150
151151
>>> x = a1 * N.x + a2 * N.y + a3 * N.z
152152
>>> y = b1 * N.x + b2 * N.y + b3 * N.z
@@ -157,15 +157,15 @@ And create two new vectors that are completely symbolic:
157157
158158
Numbers and symbols work together seamlessly:
159159

160-
.. code-block:: python
160+
.. code:: python
161161
162162
>>> dot(v, x)
163163
a1 + 2*a2 + 3*a3
164164
165165
You can also differentiate a vector with respect to a variable in a reference
166166
frame:
167167

168-
.. code-block:: python
168+
.. code:: python
169169
170170
>>> x.diff(a1, N)
171171
N.x
@@ -175,7 +175,7 @@ create a new reference frame and orient it with respect to the `N` frame that
175175
has already been created. We will use the `orient` method of the new frame to
176176
do a simple rotation through `alpha` about the `N.x` axis:
177177

178-
.. code-block:: python
178+
.. code:: python
179179
180180
>>> A = ReferenceFrame('A')
181181
>>> alpha = symbols('alpha')
@@ -184,7 +184,7 @@ do a simple rotation through `alpha` about the `N.x` axis:
184184
Now the direction cosine matrix with of `A` with respect to `N` can be
185185
computed:
186186

187-
.. code-block:: python
187+
.. code:: python
188188
189189
>>> A.dcm(N)
190190
[1, 0, 0]
@@ -194,7 +194,7 @@ computed:
194194
Now that SymPy knows that `A` and `N` are oriented with respect to each other
195195
we can express the vectors that we originally wrote in the `A` frame:
196196

197-
.. code-block:: python
197+
.. code:: python
198198
199199
>>> v.express(A)
200200
A.x + (3*sin(alpha) + 2*cos(alpha))*A.y + (-2*sin(alpha) + 3*cos(alpha))*A.z
@@ -208,7 +208,7 @@ frames and vectors are time varying. The mechanics module provides a way to
208208
specify quantities as time varying. Let's define two variables `beta` and `d`
209209
as variables which are functions of time:
210210

211-
.. code-block:: python
211+
.. code:: python
212212
213213
>>> beta, d = dynamicsymbols('beta d')
214214
@@ -217,23 +217,23 @@ frame by `beta` and create a vector in that new frame that is a function of
217217
`d`. This time we will use the `orientnew` method of the `A` frame to create
218218
the new reference frame `B`:
219219

220-
.. code-block:: python
220+
.. code:: python
221221
222222
>>> B = A.orientnew('B', 'Axis', [beta, A.y])
223223
>>> vec = d * B.z
224224
225225
We can now compute the angular velocity of the reference frame `B` with respect
226226
to other reference frames:
227227

228-
.. code-block:: python
228+
.. code:: python
229229
230230
>>> B.ang_vel_in(N)
231231
beta'*A.y
232232
233233
This allows us to now differentiate the vector, `vec`, with respect to time and
234234
a reference frame:
235235

236-
.. code-block:: python
236+
.. code:: python
237237
238238
>>> vecdot = vec.dt(N)
239239
>>> vecdot
@@ -248,7 +248,7 @@ varying variables. For example, we can define `omega` as the first time
248248
derivative of `beta` which allows you to explicitly interact with the
249249
derivatives:
250250
251-
.. code-block:: python
251+
.. code:: python
252252
253253
>>> theta = dynamicsymbols('theta')
254254
>>> omega = dynamicsymbols('theta', 1)
@@ -257,33 +257,33 @@ At this point we now have all the tools needed to setup the kinematics for a
257257
dynamic system. Let's start with a simple system where a point can move back
258258
and forth on a spinning disc. First create an inertial reference frame:
259259
260-
.. code-block:: python
260+
.. code:: python
261261
262262
>>> N = ReferenceFrame('N')
263263
264264
Now create a reference frame for the disc:
265265
266-
.. code-block:: python
266+
.. code:: python
267267
268268
>>> D = ReferenceFrame('D')
269269
270270
The disc rotates with respect to `N` about the `N.x` axis through `theta`:
271271
272-
.. code-block:: python
272+
.. code:: python
273273
274274
>>> theta = dynamicsymbols('theta')
275275
>>> D.orient(N, 'Axis', [theta, N.x])
276276
277277
Define one point at the origin of rotation which is fixed in `N`:
278278
279-
.. code-block:: python
279+
.. code:: python
280280
281281
>>> no = Point('no')
282282
>>> no.set_vel(N, 0)
283283
284284
The second point, `p`, can move through `x` along the `D.y` axis:
285285
286-
.. code-block:: python
286+
.. code:: python
287287
288288
>>> p = Point('p')
289289
>>> x = dynamicsymbols('x')
@@ -293,7 +293,7 @@ The second point, `p`, can move through `x` along the `D.y` axis:
293293
294294
The velocity of the point in the `N` frame can now be computed:
295295
296-
.. code-block:: python
296+
.. code:: python
297297
298298
>>> p.vel(N)
299299
x'*D.y + x*theta'*D.z
@@ -302,7 +302,7 @@ The velocity of the point in the `N` frame can now be computed:
302302
303303
The acceleration of the point can also be computed:
304304
305-
.. code-block:: python
305+
.. code:: python
306306
307307
>>> p.acc(N)
308308
(-x*theta'**2 + x'')*D.y + (x*theta'' + 2*theta'*x')*D.z

‎source/examples/commands.rst

+24-20
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ you would type in an interactive session are preceded by ''>>> ''.
77
SymPy Commands
88
--------------
99

10-
.. code-block:: python
10+
.. code:: python
1111
1212
>>> from sympy import *
1313
1414
This imports all of the classes and functions in the ''SymPy'' package. Now we
1515
can do some symbolic math:
1616

17-
.. code-block:: python
17+
.. code:: python
1818
1919
>>> x, y, z = symbols('x y z')
2020
>>> e = x**2 + y**2 + z**2
@@ -32,11 +32,13 @@ Mechanics commands
3232
What follows is a list of objects you can create, and functions you can run.
3333
The first step is to import the functions and classes related to mechanics:
3434

35-
.. code-block:: python
35+
.. code:: python
3636
3737
>>> from sympy.physics.mechanics import *
3838
39-
==== Classes ====
39+
Classes
40+
-------
41+
4042
Here is a list of classes:
4143
* ReferenceFrame
4244
* Point
@@ -48,55 +50,57 @@ Here is a list of classes:
4850
You can call ''help(class)'' to see the help entry for ''class''. For example,
4951
''help(ReferenceFrame)'' to see the help entry for ''ReferenceFrame''.
5052

51-
=== Code Snippets ===
52-
Here are some brief usage examples of common functions and classes.
53+
Code Snippets
54+
-------------
55+
56+
Here are some brief usage examples of common functions and classes.
5357

54-
.. code-block:: python
58+
.. code:: python
5559
5660
>>> q1, q2 = dynamicsymbols('q1 q2')
5761
5862
Creates two time varying symbols, ''q1'' and ''q2''
5963

60-
.. code-block:: python
64+
.. code:: python
6165
6266
>>> N = ReferenceFrame('N')
6367
6468
This creates a new reference frame named N.
6569

66-
.. code-block:: python
70+
.. code:: python
6771
6872
>>> N.x
6973
7074
Access to the ''x'' basis vector in the ''N'' reference frame
7175

72-
.. code-block:: python
76+
.. code:: python
7377
7478
>>> a = N.x + N.y
7579
7680
Creates a new vector, ''a'', which is the sum of the ''x'' and ''y'' basis
7781
vectors in the ''N'' reference frame.
7882

79-
.. code-block:: python
83+
.. code:: python
8084
8185
>>> P = Point('P')
8286
8387
Creates a point named P.
8488

85-
.. code-block:: python
89+
.. code:: python
8690
8791
>>> K = KanesMethod(N)
8892
89-
FIXME Creates a new ''KanesMethod'' object, used to generate $F_r + F_r^*$,
90-
with ''N'' as the inertial reference frame.
93+
FIXME Creates a new ''KanesMethod'' object, used to generate :math:`F_r +
94+
F_r^*`, with ''N'' as the inertial reference frame.
9195

92-
.. code-block:: python
96+
.. code:: python
9397
9498
>>> D = RigidBody('BodyD', masscenter=P, frame=N, mass=2, inertia=I)
9599
96100
Creates a rigid body container and defines the center of mass location, the
97101
body fixed frame, the mass and the inertia.
98102

99-
.. code-block:: python
103+
.. code:: python
100104
101105
>>> Par = Particle()
102106
@@ -122,26 +126,26 @@ function is and how to use it.
122126
Code Snippets
123127
-------------
124128

125-
.. code-block:: python
129+
.. code:: python
126130
127131
>>> mechanics_printing()
128132
129133
Sets the default printing to use the mechanics printing.
130134

131-
.. code-block:: python
135+
.. code:: python
132136
133137
>>> mprint(q1)
134138
135139
Prints ''q1'' using the mechanics printer; use if mechanics_printing is not on.
136140

137-
.. code-block:: python
141+
.. code:: python
138142
139143
>>> I = inertia(N, 1, 2, 3)
140144
141145
Creates an inertia dyadic in the frame N with principle measure numbers of 1,
142146
2, and 3.
143147

144-
.. code-block:: python
148+
.. code:: python
145149
146150
>>> mprint(kinematic_equations([u1,u2,u3], [q1,q2,q3], 'body', '313'))
147151

‎source/examples/examples.rst

+9-18
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,21 @@ Some general help and examples for using PyDy. Please add your own!
66
Tutorials and References
77
------------------------
88

9-
* :doc:`Commands </examples/commands>`
10-
11-
* :doc:`Beginner's Tutorial </examples/beginners_tutorial>`
9+
- :doc:`Commands </examples/commands>`
10+
- :doc:`Beginner's Tutorial </examples/beginners_tutorial>`
1211

1312

1413
Internal Examples
1514
-----------------
1615

17-
* :doc:`Double Pendulum </examples/double_pendulum>`
18-
19-
* :doc:`Chaos Pendulum </examples/chaos_pendulum>`
16+
- :doc:`Double Pendulum </examples/double_pendulum>`
17+
- :doc:`Chaos Pendulum </examples/chaos_pendulum>`
2018

2119
External Examples
2220
-----------------
2321

24-
* `The PyDy example repository <https://github.com/PythonDynamics/pydy_examples>`_
25-
26-
* `Rolling Disc <http://docs.sympy.org/dev/modules/physics/mechanics/examples.html#the-rolling-disc>`_
27-
28-
* `Bicycle <http://docs.sympy.org/dev/modules/physics/mechanics/examples.html#the-bicycle>`_
29-
30-
* `N Link Pendulum <http://www.moorepants.info/blog/npendulum.html>`_
31-
32-
* `Another bicycle model <https://github.com/hazelnusse/bicycle.model>`_
33-
34-
* `Human Balance Tutorial <https://github.com/pydy/pydy-tutorial-pycon-2014>`_
35-
22+
- `The PyDy example repository <https://github.com/pydy/pydy/tree/master/examples>`_
23+
- `Symbolic Examples <http://docs.sympy.org/latest/modules/physics/mechanics/examples.html>`_
24+
- `N Link Pendulum <http://www.moorepants.info/blog/npendulum.html>`_
25+
- `A bicycle model <https://github.com/hazelnusse/bicycle.model>`_
26+
- `Human Balance Tutorial <https://github.com/pydy/pydy-tutorial-pycon-2014>`_

‎source/management/project_management.rst ‎source/gsoc.rst

+1-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
1-
Project Management
2-
==================
3-
4-
A history of the development of PyDy can be found :doc:`here </management/history>`.
5-
6-
There is also an (out of date) :doc:`roadmap </management/roadmap>` for planned
7-
and desired features.
8-
91
Google Summer of Code
10-
---------------------
2+
=====================
113

124
PyDy exists because of support provided by multiple Google Summers of Code. We
135
still apply for student positions annual, both as an independent organization

‎source/history.rst

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
History
2+
=======
3+
4+
Dale Peterson started graduate school at UC Davis in Fall of 2006 and met
5+
`Jason Moore <http://www.moorepants.info/>`_ in the
6+
[[http://biosport.ucdavis.edu/|Sports Biomechanics Lab]]. They shared a passion
7+
for bicycles, dynamics and control and had both taken the multibody system
8+
dynamics course at UC Davis (MAE 223, taught by `Dr. Mont Hubbard
9+
<http://mae.ucdavis.edu/faculty/hubbard/hubbard.html>`_ and `Dr. Fedelis Eke
10+
<http://mae.ucdavis.edu/faculty/eke/eke.html>`_). This course teaches Kane's
11+
method for deriving equations of motion, and at that time they also taught
12+
`Autolev <http://www.autolev.com/>`_ (now defunct) in the course. Autolev is
13+
very powerful at symbolic dynamics but lacks important functionality and they
14+
both found themselves wanting a richer set of tools for studying bicycles,
15+
rolling discs, rattlebacks, and other systems that are well described by
16+
classical mechanics. They dreamed of creating an open source tool that was
17+
more extensible and nicer to use, but at the time neither of them had the
18+
programming skills to make the dream a reality.
19+
20+
In Spring of 2007, Dale took `Dr. Jim Crutchfield's
21+
<http://csc.ucdavis.edu/~chaos/>`_ graduate physics course in nonlinear
22+
dynamics and chaos, in which all homework was required to be done using Python.
23+
This was a tall order for a single class! This was Dale's favorite course in
24+
graduate school and his first introduction to chaos and to Python (and some of
25+
the chaos of Python). About a year and a half later (December 2008), Dale was
26+
tinkering with Python and trying to replicate some of the kinematic
27+
functionality that made Autolev so convenient to use. He got some basic classes
28+
created and contacted `Ondřej Čertík <http://ondrejcertik.com/>`, the creator
29+
of the SymPy project to see if he was interested in helping him get started. He
30+
made a trip up to his apartment one weekend in January of 2009, and before he
31+
knew it, he had a good chunk of the functionality he was looking for. Whcih was
32+
really exciting! Ondřej encouraged Dale to apply to a Google Summer of Code,
33+
so he did, and he spent the summer of 2009 working on a GSoC project that was a
34+
separate project from SymPy. This was a big learning experience, and one of
35+
the things that was learned by the end of the summer was that the software
36+
should have been part of the SymPy project, rather than its own standalone
37+
project. This led to Gilbert Gede (another UC Davis graduate student) taking on
38+
a second GSoC project in which he ported the `original PyDy code
39+
<http://code.google.com/p/pydy/>`_ into SymPy as a sub-package
40+
''sympy.physics.mechanics''. This is what is currently is in the SymPy
41+
repository. The software was introduced to the UC Davis multibody dynamics
42+
course at the beginning of 2012, to replace the aging Autolev. A third GoSC
43+
grant allowed Angadh Nanjangud to add Lagrangian dynamics and many other
44+
features to the code base during the summer of 2012.

‎source/index.rst

+25-25
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,26 @@
1-
.. PyDy documentation master file, created by
2-
sphinx-quickstart on Sun Jan 26 13:02:27 2014.
3-
You can adapt this file completely to your liking, but it should at least
4-
contain the root `toctree` directive.
1+
PyDy: Multibody Dynamics with Python
2+
====================================
53

6-
Welcome to the PyDy Wiki!
7-
=========================
4+
Introduction
5+
------------
6+
7+
Welcome to the PyDy project website. PyDy, short for Python Dynamics, is a both
8+
a *workflow* that utlizes an array of scientific tools written in the Python
9+
programming language to study multibody dynamics and a set of software packages
10+
that help automate and enhance the workflow. The core of this toolset is the
11+
SymPy_ **mechanics** package which generates symbolic equations of motion for
12+
complex multibody systems and PyDy which extends the SymPy output to the
13+
numerical domain for simulation, analyses, and visualization. PyDy builds on
14+
the popular scientific Python stack such as NumPy_, SciPy_, IPython_,
15+
matplotlib_, Cython_, and Theano_.
16+
17+
.. _SymPy: http://www.sympy.org
18+
.. _NumPy: http://numpy.org
19+
.. _SciPy: http://scipy.org
20+
.. _IPython: http://ipython.org
21+
.. _matplotlib: http://matplotlib.org
22+
.. _Cython: http://cython.org/
23+
.. _Theano: http://deeplearning.net/software/theano/
824

925
Site Overview
1026
-------------
@@ -19,26 +35,10 @@ Site Overview
1935

2036
installation/installation_general
2137
examples/examples
22-
management/project_management
23-
24-
25-
Introduction
26-
------------
27-
28-
Welcome to the PyDy project page. PyDy, short for Python Dynamics, is a
29-
*workflow* that utlizes an array of scientific tools written in the Python
30-
programming language to study multibody dynamics. The core of this toolset is
31-
the `SymPy <http://www.sympy.org>`_ **mechanics** package which generates
32-
symbolic equations of motion for complex multibody systems. The remaining tools
33-
used in the PyDy workflow are popular scientific Python packages such as
34-
`NumPy <http://numpy.org/>`_, `SciPy <http://scipy.org>`_,
35-
`IPython <http://ipython.org>`_, and `matplotlib <http://matplotlib.org>`_
36-
which provide code for numerical analyses, simulation, and visualization. We
37-
are a group of engineers and scientists who for one reason or another prefer to
38-
work in Python. You can learn more by reading about our [features](features)
39-
and our [history](history) or [examples](examples).
38+
history
39+
gsoc
4040

4141
Blog
4242
----
43-
.. postlist:: 4
4443

44+
.. postlist:: 4

‎source/management/history.rst

-44
This file was deleted.

‎source/management/roadmap.rst

-114
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.