- Apr 22, 2016
-
-
Henry Weller authored
-
Henry Weller authored
Patch contributed by Juho Peltola, VTT The new JohnsonJacksonSchaefferFrictionalStress model is included and the LBend tutorial case to demonstrate the need for the changes to the frictional stress models. Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2058
-
Henry Weller authored
-
- Apr 21, 2016
-
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=2059
-
- Apr 17, 2016
-
-
Henry Weller authored
-
- Apr 16, 2016
-
-
Henry Weller authored
-
Henry Weller authored
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.
-
- Apr 15, 2016
-
-
Henry Weller authored
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.
-
- Apr 12, 2016
-
-
Henry Weller authored
Replaced with 'unitQuaterion()' virtual function to indicate if the joint uses a unit quaternion to represent rotation.
-
Henry Weller authored
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.
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
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.
-
- Apr 11, 2016
-
-
Henry Weller authored
This is a more convenient way of maintaining the state or multiple states (for higher-order integration), storing, retrieving and passing between processors.
-
Henry Weller authored
-
- Apr 10, 2016
-
-
Henry Weller authored
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.
-
Henry Weller authored
-
- Apr 08, 2016
-
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
-
- Apr 07, 2016
-
-
Henry Weller authored
rigidBodyDynamics/bodies: Complete set of clone functions to support copy construction and assignment
-
Henry Weller authored
-
- Apr 06, 2016
-
-
Henry Weller authored
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.
-
- Apr 04, 2016
-
-
Henry Weller authored
applications/test/rigidBodyDynamics/pendulum: Simplified using sphere constructor and body lookup by name
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
-
Henry Weller authored
Patch contributed by Bruno Santos Resolved bug-report http://www.openfoam.org/mantisbt/view.php?id=2042
-
- Apr 03, 2016
-
-
Henry Weller authored
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.
-
Henry Weller authored
//- Disallow default shallow-copy assignment // // Assignment of UList<T> may need to be either shallow (copy pointer) // or deep (copy elements) depending on context or the particular type // of list derived from UList and it is confusing and prone to error // for the default assignment to be either. The solution is to // disallow default assignment and provide separate 'shallowCopy' and // 'deepCopy' member functions. void operator=(const UList<T>&) = delete; //- Copy the pointer held by the given UList. inline void shallowCopy(const UList<T>&); //- Copy elements of the given UList. void deepCopy(const UList<T>&);
-
- Apr 02, 2016
-
-
Henry Weller authored
-
Henry Weller authored
Contributed by Mattijs Janssens. 1. Any non-blocking data exchange needs to know in advance the sizes to receive so it can size the buffer. For "halo" exchanges this is not a problem since the sizes are known in advance but or all other data exchanges these sizes need to be exchanged in advance. This was previously done by having all processors send the sizes of data to send to the master and send it back such that all processors - had the same information - all could work out who was sending what to where and hence what needed to be received. This is now changed such that we only send the size to the destination processor (instead of to all as previously). This means that - the list of sizes to send is now of size nProcs v.s. nProcs*nProcs before - we cut out the route to the master and back by using a native MPI call It causes a small change to the API of exchange and PstreamBuffers - they now return the sizes of the local buffers only (a labelList) and not the sizes of the buffers on all processors (labelListList) 2. Reversing the order of the way in which the sending is done when scattering information from the master processor to the other processors. This is done in a tree like fashion. Each processor has a set of processors to receive from/ send to. When receiving it will first receive from the processors with the least amount of sub-processors (i.e. the ones which return first). When sending it needs to do the opposite: start sending to the processor with the most amount of sub-tree since this is the critical path.
-
- Mar 24, 2016
-
-
Henry Weller authored
-
Henry Weller authored
This development is sponsored by Carnegie Wave Energy Ltd.
-
- Mar 23, 2016
-
-
Henry Weller authored
of symmetric positive-definite matrices and the solution of associated linear systems.
-