Commit Graph

17613 Commits

Author SHA1 Message Date
d0b5bef948 tutorials/multiphase/interDyMFoam/ras/floatingObject: Updated to use rigidBodyDynamics 2016-04-18 15:41:10 +01:00
792b42e76b Updated header 2016-04-18 15:40:57 +01:00
e60f9f457f src/rigidBodyDynamics/rigidBodyMotion: Added support for acceleration relaxation 2016-04-18 15:40:23 +01:00
da7c56674d rigidBodyDynamics/bodies/sphere: Added support for the centre of mass being offset from the centre of rotation 2016-04-18 15:39:07 +01:00
39d7706ec9 rigidBodyDynamics/bodies/cuboid: New body shape
Calculate the inertia from the lengths of the sides
2016-04-18 15:37:57 +01:00
e7ef7ed4e6 src/OpenFOAM/primitives: inherit operator=(const Foam::zero) from base class where appropriate 2016-04-17 21:02:57 +01:00
e47179a70d applications/test/rigidBodyDynamics/pendulumAndSpring: Another slightly more complex test 2016-04-17 15:47:03 +01:00
312d613f73 rigidBodyMeshMotion: Read initial state and g from dictionary if present 2016-04-17 15:46:22 +01:00
0ea229ccc8 PtrListIO: Indent list elements on output.
Particularly useful for lists of dictionaries.
2016-04-17 15:45:29 +01:00
6862e3d76e BrownianMotionForce: Corrected expression for s0
Patch provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2036
2016-04-17 15:39:09 +01:00
2e990f19d8 Updated references
See also http://www.openfoam.org/mantisbt/view.php?id=2036
2016-04-17 15:29:51 +01:00
2797ec2d27 externalWallHeatFluxTemperatureFvPatchScalarField: Corrected handling of QrPrevious_
Patch contributed by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2052
2016-04-16 18:43:51 +01:00
8c6fa81eba vector::zero -> Zero 2016-04-16 18:34:41 +01:00
69e877a53a rigidBodyMeshMotion: displacementMotionSolver for the mesh-motion of multiple articulated rigid-bodies
The motion of the bodies is integrated using the rigidBodyDynamics
library with joints, restraints and external forces.

The mesh-motion is interpolated using septernion averaging.

This development is sponsored by Carnegie Wave Energy Ltd.
2016-04-16 16:02:25 +01:00
f78d929b3f linearSpring: Minor improvement in messages 2016-04-16 16:01:38 +01:00
75c7b7b239 quaternion/septernion: Added multi- quaternion/septernion averaging
Using method based on
http://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20070017872.pdf
but simplified for the case where the quaternions are similar.
2016-04-16 15:59:05 +01:00
2986757793 src/Pstream/mpi/UPstream.C: Updated for Int64
Patch contributed by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2055
2016-04-16 13:26:41 +01:00
a8b6ebdb52 doc/Doxygen/_Footer: Updated link to http://openfoam.org
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2053
2016-04-16 09:57:25 +01:00
889580541b doc/Doxygen/_Footer: Updated copyright date
Patch contributed by Bruno Santos
2016-04-16 09:54:21 +01:00
6145141def sixDoFRigidBodyMotion: Updated for change in definition of septernion::transform 2016-04-15 11:33:06 +01:00
683cfb9d97 vector::zero -> Zero 2016-04-15 11:32:42 +01:00
23a8779379 septernion: Changed definition of the forward transformation for consistency with spatialTransform
inline Foam::vector Foam::septernion::transformPoint(const vector& v) const
{
    return r().transform(v - t());
}

Now there is a 1:1 correspondence between septernion and
spatialTransform and a septernion constructor from spatialTransform
provided.

Additionally "septernion::transform" has been renamed
"septernion::transformPoint" to clarify that it transforms coordinate
points rather than displacements or other relative vectors.
2016-04-15 11:27:18 +01:00
69fde6b831 ENH: provide Ostream virtual methods beginBlock, endBlock (fixes #112)
- eases creation of dictionary-like output.

- make keyWord() method virtual to allow adaptation for alternative
  outputs
2016-04-15 11:04:13 +02:00
e0e7c58b49 ENH: Adding zeroGradient BC's for k and epsilon in the DES/LES framework. 2016-04-12 15:02:31 -07:00
b66675ed58 rigidBodySolver: Updated comments 2016-04-12 22:23:04 +01:00
a0170df6c1 rigidBodyDynamics: Removed quaternion counter and index: 'nw', 'wIndex'
Replaced with 'unitQuaterion()' virtual function to indicate if the
joint uses a unit quaternion to represent rotation.
2016-04-12 22:17:52 +01:00
315a1baad3 rigidBodyDynamics: Simplify handling of quaternions by maintaining a unit quaternion in the joint state field 'q'
'w' is now obtained from 'v' using the relation w = sqrt(1 - |sqr(v)|)
and 'v' is stored in the joint state field 'q' and integrated in the
usual manner but corrected using quaternion transformations.
2016-04-12 21:44:34 +01:00
2d2ecf91dc quaternion: Added static member function to return a unit quaternion constructed from a vector
//- Return the unit quaternion (versor) from the given vector
    //  (w = sqrt(1 - |sqr(v)|))
    static inline quaternion unit(const vector& v);
2016-04-12 21:43:03 +01:00
5e6bdeea57 applications/test/rigidBodyDynamics/sphericalJoint: Test for the quaternion-based spherical joint 2016-04-12 16:37:52 +01:00
985506be28 applications/test/rigidBodyDynamics/spring: Updated comment 2016-04-12 16:37:26 +01:00
6be125814b rigidBodyDynamics/rigidBodySolvers: Added support for the integration of quaternion joints 2016-04-12 16:16:57 +01:00
948add3e10 applications/test/rigidBodyDynamics/spring: Correct typo 2016-04-12 16:16:30 +01:00
f51dfc37f2 rigidBodyDynamics: Simplified the interface to the solvers 2016-04-12 12:57:31 +01:00
3fda441e45 Updated header 2016-04-12 11:36:59 +01:00
2870be400e rigidBodyDynamics/rigidBodySolvers: Added run-time selectable solvers to integrate the rigid-body motion
Currently supported solvers: symplectic, Newmark, CrankNicolson

The symplectic solver should only be used if iteration over the forces
and body-motion is not required.  Newmark and CrankNicolson both require
iteration to provide 2nd-order behavior.

See applications/test/rigidBodyDynamics/spring for an example of the
application of the Newmark solver.

This development is sponsored by Carnegie Wave Energy Ltd.
2016-04-12 11:33:20 +01:00
1b90b1b9b3 vtkSurfaceWriter: Changed precision of points to "double" to avoid the error
“Error when reading ascii data. Possible mismatch of datasize with
declaration.”

Patch contributed by Karl Meredith, FMGlobal
2016-04-12 09:03:12 +01:00
33be0fa564 rigidBodyDynamics/rigidBodyModelState: New class to hold the motion state of the rigid-body model
This is a more convenient way of maintaining the state or multiple
states (for higher-order integration), storing, retrieving and passing
between processors.
2016-04-11 19:01:16 +01:00
16868a2b7b ENH: Provides support for laminar models for hoSimpleFoam 2016-04-11 10:54:59 -07:00
5c4719dea0 rigidBodyDynamics/restraints: Added sphericalAngularDamper, spherical angular damper restraint 2016-04-11 16:12:23 +01:00
46cd2b3bed rigidBodyDynamics/restraints: Added linearAxialAngularSpring, linear axial angular spring restraint
Included for backward-compatibility with the 6-DoF solver but in the
future will be re-implemented as a joint rather than body restraint and
accumulated in tau (internal forces) rather than fx (external forces).
2016-04-11 15:14:18 +01:00
3d5410d26b Updated header 2016-04-11 14:29:00 +01:00
a108759d3e rigidBodyDynamics/restraints: Added linearDamper 2016-04-11 14:28:09 +01:00
be567300c3 rigidBodyDynamics/restraints: Complete dictionary IO 2016-04-11 11:45:51 +01:00
1f51c8a89d rigidBodyDynamics: Added support for restraints and a linear spring with damper
applications/test/rigidBodyDynamics/spring: Test of the linear spring with damper restraint
Damped simple harmonic motion of a weight on a spring is simulated and
the results compared with analytical solution

    Test-spring
    gnuplot spring.gnuplot
    evince spring.eps

This development is sponsored by Carnegie Wave Energy Ltd.
2016-04-10 23:12:07 +01:00
762aa208b1 rigidBodyDynamics/bodies/subBody: Changed "parent" to "master" to avoid confusion with the parent to which this composite body is joined 2016-04-10 23:08:45 +01:00
d87b06eadb rigidBodyDynamics/joints: Added doc for namespace 2016-04-10 23:07:45 +01:00
01d503b1c0 applications/test/rigidBodyDynamics/pendulum: Cleanup 2016-04-10 23:07:23 +01:00
6af11bfa02 spatialTransform: Added the "&&" operator to transform positions 2016-04-10 23:06:35 +01:00
8ca752eb79 applications/test/rigidBodyDynamics/pendulum/pendulum: Corrected joint type 2016-04-08 18:03:51 +01:00
81a6ea0cc9 rigidBodyModel: Add a few more comments 2016-04-08 17:25:17 +01:00