Henry Weller
76e22b44ea
applications/test/rigidBodyDynamics/pendulumAndSpring: Another slightly more complex test
2016-04-17 15:47:03 +01:00
Henry Weller
189c6c6820
rigidBodyMeshMotion: Read initial state and g from dictionary if present
2016-04-17 15:46:22 +01:00
Henry Weller
bac78ef989
PtrListIO: Indent list elements on output.
...
Particularly useful for lists of dictionaries.
2016-04-17 15:45:29 +01:00
Henry Weller
04fe885920
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
Henry Weller
c1c4862028
Updated references
...
See also http://www.openfoam.org/mantisbt/view.php?id=2036
2016-04-17 15:29:51 +01:00
Henry Weller
eda27b9e75
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
Henry Weller
287603474a
vector::zero -> Zero
2016-04-16 18:34:41 +01:00
Henry Weller
04e4e1a7bb
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
Henry Weller
831e429dc8
linearSpring: Minor improvement in messages
2016-04-16 16:01:38 +01:00
Henry Weller
fc32d53828
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
Henry Weller
d02e0aa05f
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
Henry Weller
2c2a7f5b97
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
Henry Weller
40ccb21eb3
doc/Doxygen/_Footer: Updated copyright date
...
Patch contributed by Bruno Santos
2016-04-16 09:54:21 +01:00
Henry Weller
81b13d0244
sixDoFRigidBodyMotion: Updated for change in definition of septernion::transform
2016-04-15 11:33:06 +01:00
Henry Weller
860a82c0d4
vector::zero -> Zero
2016-04-15 11:32:42 +01:00
Henry Weller
6a5d5e903e
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
Henry Weller
980717ad36
rigidBodySolver: Updated comments
2016-04-12 22:23:04 +01:00
Henry Weller
bc70e36915
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
Henry Weller
df1cb90dc6
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
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