Henry Weller
4197cb075a
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
Henry Weller
4a7f5ed19a
applications/test/rigidBodyDynamics/sphericalJoint: Test for the quaternion-based spherical joint
2016-04-12 16:37:52 +01:00
Henry Weller
b2563a8f1b
applications/test/rigidBodyDynamics/spring: Updated comment
2016-04-12 16:37:26 +01:00
Henry Weller
591cb1d11e
rigidBodyDynamics/rigidBodySolvers: Added support for the integration of quaternion joints
2016-04-12 16:16:57 +01:00
Henry Weller
ab6fcff621
applications/test/rigidBodyDynamics/spring: Correct typo
2016-04-12 16:16:30 +01:00
Henry Weller
9e24a9b5e2
rigidBodyDynamics: Simplified the interface to the solvers
2016-04-12 12:57:31 +01:00
Henry Weller
5cfd0fbd47
Updated header
2016-04-12 11:36:59 +01:00
Henry Weller
c07bc87f95
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
Henry Weller
f4baa3a864
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
Henry Weller
81eec80d5d
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
Henry Weller
0825c1b924
rigidBodyDynamics/restraints: Added sphericalAngularDamper, spherical angular damper restraint
2016-04-11 16:12:23 +01:00
Henry Weller
8b92402930
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
Henry Weller
ef45d5872f
Updated header
2016-04-11 14:29:00 +01:00
Henry Weller
f29d184f28
rigidBodyDynamics/restraints: Added linearDamper
2016-04-11 14:28:09 +01:00
Henry Weller
1177554029
rigidBodyDynamics/restraints: Complete dictionary IO
2016-04-11 11:45:51 +01:00
Henry Weller
c019071604
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
Henry Weller
c49982fbd6
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
Henry Weller
c8d5033af6
rigidBodyDynamics/joints: Added doc for namespace
2016-04-10 23:07:45 +01:00
Henry Weller
7d757a7960
applications/test/rigidBodyDynamics/pendulum: Cleanup
2016-04-10 23:07:23 +01:00
Henry Weller
292543a3a5
spatialTransform: Added the "&&" operator to transform positions
2016-04-10 23:06:35 +01:00
Henry Weller
48427f7a4e
applications/test/rigidBodyDynamics/pendulum/pendulum: Corrected joint type
2016-04-08 18:03:51 +01:00
Henry Weller
b0d331aba7
rigidBodyModel: Add a few more comments
2016-04-08 17:25:17 +01:00
Henry Weller
8df5ca61d2
rigidBodyDynamics/bodies/jointBody: Special body to support elements of composite joints
2016-04-08 17:16:01 +01:00
Henry Weller
0c48b153de
rigidBodyModel: Added operator<<(Ostream&, const rigidBodyModel&)
2016-04-08 17:02:02 +01:00
Henry Weller
33a97bb848
rigidBodyDynamics: Simplified the IO of bodies
2016-04-08 16:56:48 +01:00
Henry Weller
e2c9cb4563
rigidBodyDynamics: Added dictionary-based IO of the rigidBodyModel, bodies and joints
...
Added support for composite joints including a specialized 6-DoF form for floating bodies.
2016-04-08 16:35:49 +01:00
Henry Weller
b701ec9f3d
rigidBodyDynamics/bodies: Complete set of clone functions to support copy construction and assignment
2016-04-07 23:04:17 +01:00
Henry Weller
6d7eb1ac4d
rigidBodyModel: Provide support for copy-construction and assignment
2016-04-07 22:28:52 +01:00
Henry Weller
8ffd700ca6
rigidBodyDynamics: Added dictionary-based IO of the rigidBodyModel
2016-04-07 21:47:08 +01:00
Henry Weller
9aaf17d45d
List: Remove the inherited UList::shallowCopy to avoid accidental misuse
2016-04-07 21:05:26 +01:00
Henry Weller
fda9aadb3a
Specialized dotInterpolate for the efficient calculation of flux fields
...
e.g. (fvc::interpolate(HbyA) & mesh.Sf()) -> fvc::flux(HbyA)
This removes the need to create an intermediate face-vector field when
computing fluxes which is more efficient, reduces the peak storage and
improved cache coherency in addition to providing a simpler and cleaner
API.
2016-04-06 20:20:53 +01:00
Henry Weller
d52546b3ce
surfaceInterpolationScheme: Added dotInterpolate member-function
...
dotInterpolate interpolates the field and "dots" the resulting
face-values with the vector field provided which removes the need to
create a temporary field for the interpolate. This reduces the peak
storage of OpenFOAM caused by the divergence of the gradient of vector
fields, improves memory management and under some conditions decreases
run-time.
This development is based on a patch contributed by Paul Edwards, Intel.
2016-04-06 14:23:18 +01:00
Henry Weller
d4476c3946
VectorI: Added dummy innerProduct for scalar
...
to allow the construction of vtables for virtual member functions
involving the inner-products of fields for which a "NotImplemented"
specialization for scalar is provided.
2016-04-06 14:22:33 +01:00
Henry Weller
569b915d5d
Updated headers
2016-04-06 14:22:24 +01:00
Henry Weller
1ae1b9f1d8
geometricOneField: Enhanced to provide better correspondence to GeometricField
2016-04-06 14:21:04 +01:00
Henry Weller
e290c25361
src/Pstream/mpi/UPstream.C: Cast-away const-ness for backard-compatibility with OpenMPI versions < 1.7.4
...
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2044
2016-04-06 12:24:47 +01:00
Henry Weller
255547dd33
src/rigidBodyDynamics/bodies: Added write
2016-04-04 22:10:34 +01:00
Henry Weller
19a93cc696
applications/test/rigidBodyDynamics/pendulum: Simplified using sphere constructor and body lookup by name
2016-04-04 17:08:20 +01:00
Henry Weller
1428f11b6e
rigidBodyDynamics: Added sphere body to simply construction of articulated bodies containing spheres
2016-04-04 17:07:26 +01:00
Henry Weller
947f04ac9e
rigidBodyModel: Added support for body lookup by name
2016-04-04 17:06:48 +01:00
Henry Weller
09ba40bf26
Updated header
2016-04-04 13:53:51 +01:00
Henry Weller
3358c056e6
surfaceMeshConvert: Reinstated missing error messages
2016-04-04 13:53:20 +01:00
Henry Weller
1c97ed7098
src/conversion/ensight: Specify std::isnan
...
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2041
2016-04-04 12:51:33 +01:00
Henry Weller
736c47d4dc
applications/test/rigidBodyDynamics/pendulum: Add a test for merging bodies
2016-04-04 09:26:37 +01:00
Henry Weller
94e9b05edd
applications/.*/Allwmake: Updated to support "stop on 1st error"
...
Patch contributed by Bruno Santos
Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2042
2016-04-04 09:03:40 +01:00
Henry Weller
1fbd362faa
src/conversion/ensight: Specify std::isnan
...
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2041
2016-04-04 08:59:50 +01:00
Henry Weller
9891a0ccf9
applications/test/rigidBodyDynamics/pendulum: Very simple test/demonstration of the rigidBodyDynamics library
...
Simple swinging pendulum simulation with 1-DoF. The motion is integrated
using a symplectic method for just over 2-periods.
2016-04-03 22:17:10 +01:00
Henry Weller
866bdce5b9
src/Allwmake: added rigidBodyDynamics
2016-04-03 15:53:50 +01:00
Henry Weller
8a1e27d2c7
rigidBodyDynamics: New library providing support for the dynamics of n-DoF articulated bodies
...
Based on the principles, algorithms, data structures and notation
presented in the book:
Featherstone, R. (2008).
Rigid body dynamics algorithms.
Springer.
This development is sponsored by Carnegie Wave Energy Ltd.
2016-04-03 15:48:59 +01:00
Henry Weller
fec34404a8
wmake/rules/linux64Clang/c++Opt: Removed temporary line
2016-04-03 14:46:45 +01:00