Commit Graph

4570 Commits

Author SHA1 Message Date
1c267fb809 Logic errors:
Decisions to skip faces with an already indexed point was wrong, the
continue would be operating on the while loop, not the for loop over
the face, adding a bool to be used afterwards.

limitToQuadsOrTris logic would not work when it was false, it would
never operate regardless of the size of the face.
2010-01-10 11:46:30 +00:00
d598afbd90 Adding faceCollapseMode enum to control mode. Fixing logic error,
returning validCollapse as the status of the faceCollapse was wrong,
it didn't necessarily mean the face was collapsed.

Adding mpre filtering controls to cvContol and using them in the
filtering functions.

Removing minimumEdgeLength(const point& pt) - not needed, always using
the stored vertex size.
2010-01-08 16:40:04 +00:00
7800ceac99 Adding comment to collapse exis determined by eigenvector and
reordering.
2010-01-08 11:42:20 +00:00
67d2158c2f Removing commented out test for the last eigenvalue corresponding to
the face normal.  This commit is available for reference in future.
2010-01-08 11:41:27 +00:00
66619e2525 Removing commented out old 'consume face from longest edge based'
collapse mechanism.  This commit is available for reference in future.
2010-01-08 11:39:33 +00:00
b384b14bac Removing commented out old edge based filtering mechanism. This
commit is available for reference in future.
2010-01-08 11:36:00 +00:00
8902161d8b Adding visualisation output and return false for zero mag inertia
tensors

Fixing comment.
2010-01-08 11:34:30 +00:00
1ca0932b9b Stabilising use of detJ for negative or zero values.
Moving removeUnusedPoints to calcDualMesh from
createFacesOwnerNeighbourAndPatches to allow the latter to be used to
build an intermediate mesh.

Adding the use of motionSmoother::checkMesh (as per snappyHexMesh) to
a new function: checkPolyMeshQuality.  Will be the analysis component
of a filtering back-tracking scheme.
2010-01-07 17:13:13 +00:00
77f8683108 Changing guardFraction from 0.5 to 0.3. 2010-01-06 18:19:13 +00:00
6717b95011 Using the determinant to identify very thin faces and using their
longest edge as the collapse direction.  Discovered that, for long
thin faces, det(J)*aspectRatio^2 ~= 0.35.  Could probably analyse this
to see what the actual value is, but it gives a good empirical measure
for the moment.

Using the middle of the line of all the projected vertices as the
split and applying the guardFraction- gives better handling of
triangles.

Making collapseFace use the cvMeshControls minimumEdgeLengthCoeff
value.
2010-01-06 18:02:14 +00:00
0a0992b9ed Adding size control arguments to collapseFaceToEdge and tweaking.
Adding collapseFaces function to filter faces in the whole mesh using
collapseFaceToEdge.
2010-01-05 18:02:16 +00:00
2c52371be1 Adding counter to prevent infinite recursion in displacement limiting
function.
2010-01-05 17:59:25 +00:00
3eb8456934 Merge branch 'master' into cvm 2010-01-05 11:04:20 +00:00
a9dc4ecca2 Adding build of metisDecomp before meshTools. 2010-01-04 18:29:07 +00:00
c32af2b732 Adding surface smoothing. 2010-01-04 18:27:44 +00:00
58406da0a8 Merge branch 'master' into cvm
Conflicts:
	src/parallel/decompositionMethods/Make/options
2010-01-04 16:45:54 +00:00
8187a4ffaa Solving the complex eigenvalue problem by making point merging more
aggressive to take out line-like faces. Normalising the inertia tensor
is essential for small faces to avoid the calculation of eigenvectors
from falling off the bottom of SMALL.  Normalsing by mag(J) instead of
cmptMax(J).

Moving face point merge, surface smoothing and face filtering
do-while loops to seprate functions.

Implementing point grouping and collapsing for collapseFaceToEdge.
2010-01-04 16:35:13 +00:00
aac29d740a Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2010-01-04 13:37:37 +00:00
c6d4035ced Added master-slave addressing for coupled points.
- Rewrote globalPoints to use globalIndex class so now only transfers
single label instead of labelPair
- Added addressing in globalMeshData
    - from coupled master points to slave points
    -         ,,          edges     ,,    edges
    - from coupled points (master or slave) to uncoupled boundary faces
    -               ,,                    ,,                      cells
- See test/globalMeshData for simple test
2010-01-04 13:25:30 +00:00
0e0ffa4082 Moved metis into its own library.
Scotch is now built using its own build system which builds
an additional metis.h which conflicts with the metis one so
to have separate include directory settings we also need separate
Make/ structures.
2010-01-04 12:55:58 +00:00
1fe32e3c48 Merge branch 'master' into cvm 2010-01-04 11:47:57 +00:00
73781ad682 Added clearing out existing map; added reverse distribution 2010-01-01 11:14:21 +00:00
48b98e4dc7 Corrected header 2009-12-30 16:08:48 +00:00
174cd8e3d7 Adding intertia based collapse axis determination. WIP - some
problems with the tensor::eigenValues calculation:

    "complex eigenvalues detected for tensor:"

for very high aspect ratio faces.
2009-12-22 19:35:03 +00:00
ff671ff1bb Merge branch 'master' into cvm
Conflicts:
	applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C
	applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
	src/Allwmake
	src/edgeMesh/Make/files
	src/edgeMesh/edgeMesh.C
	src/edgeMesh/edgeMesh.H
	src/edgeMesh/edgeMeshI.H
	src/edgeMesh/edgeMeshIO.C
	src/edgeMesh/featureEdgeMesh.C
	src/edgeMesh/featureEdgeMesh.H
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.C
	src/edgeMesh/featureEdgeMesh/featureEdgeMesh.H
	src/meshTools/searchableSurface/closedTriSurfaceMesh.C
	src/meshTools/searchableSurface/closedTriSurfaceMesh.H

Merged Mark's work on edgeMesh with my featureEdgeMesh.
2009-12-21 15:52:03 +00:00
c0d37d9a6b Merge commit 'OpenCFD/master' into olesenm 2009-12-21 15:06:31 +01:00
8bf3807c3e Update dictionary calcEntry testing for updated CoCo/R 2009-12-21 15:02:33 +01:00
ccdbf4735f Move CocoParserErrors.H template class into src/OpenFOAM/db/error 2009-12-21 14:14:30 +01:00
bd81a6643d Rename of primitiveEdgeMesh to edgeMesh to make merge easier. 2009-12-21 11:33:13 +00:00
d241c43ac7 Adding hard-coded tetraherdal solid inertia calculation. Can be used
in a similar way to calculate the inertia of cells.
2009-12-21 10:29:05 +00:00
2792624996 Expose STL std streams in a consistent manner for serial streams.
Previously Fstreams had stdStream() as a public member and the other
streams had stream() as a protected member.

All serial streams now have public method stdStream() and the stream()
method has been eliminated. This is not only more consistent, but also
avoids confusion (for the programmer, not the compiler) with the
ITstream::stream() method.
2009-12-21 10:24:35 +01:00
438a83fc81 Update experimental dictionary #calc for new Coco pragmas 2009-12-21 09:28:17 +01:00
aa847562ce Reimplementing the uniform density solid inertia calculation from:
http://www.geometrictools.com/LibPhysics/RigidBody/RigidBody.html

in surfaceInertia utility.  Allows calculation of shell or solid
properties of a triSurface, with optionally specified volumetric or
surface density.  Default behaviour is to calculate inertia around
centre of mass, with option to specify reference point.

Various test surfaces supplied and tested against analytical results.
2009-12-18 18:14:32 +00:00
3bfec62cee Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-17 15:55:21 +00:00
e8b1f746dd Disabled moving internal points since not proven to be benificial 2009-12-17 15:54:41 +00:00
b2b242a858 Allocated non-zero fvPatchField - caused memory leak since pointer redirected 2009-12-17 15:54:08 +00:00
9e11bc2d93 Merge branch 'olesenm' 2009-12-16 15:15:03 +00:00
14553e1c4d Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev 2009-12-16 15:03:19 +00:00
7a4c03b97a Added interPhaseChangeFoam tutorial case: cavitatingBullet 2009-12-16 15:02:49 +00:00
daf1d6db3d Fixed bad usage of Foam::FatalErrorIn in chemkinLexer.L 2009-12-16 15:43:56 +01:00
e434b51914 Add namespace qualifier to WarningIn, FatalErrorIn, etc. macros.
- Previously had just 'Warning' instead of '::Foam::Warning', which
  meant that an identically named class method would inadvertently be
  used - resulting in a compile failure.
2009-12-16 08:55:04 +01:00
a5217d7be3 Merge commit 'bundle/home' into olesenm 2009-12-16 08:08:23 +01:00
cfeeea7b71 Merge commit 'OpenCFD/master' into olesenm 2009-12-16 08:03:50 +01:00
ad2204a818 Add in calcEntry as a very rough draft
- needs Coco/R 16 Dec 2009 version
2009-12-16 01:31:44 +01:00
23f5e5917a Remove unused primitiveEntry::insert() private method.
Improve constructors.

    - Use (const UList<token>&) instead of (const List<token>&)

    - Add (const Xfer< List<token> >&) constructor.
2009-12-15 17:35:21 +01:00
e325814c80 Test application for syncTools functionality 2009-12-15 16:00:47 +00:00
06aaed2a82 Changed comment 2009-12-15 15:59:28 +00:00
a41cb80316 Added unset functionality and corrected assignment 2009-12-15 15:58:54 +00:00
b877323a33 Added baffle option and corrected default setting
When faceZones are present one has to decide whether to have zone faces
only on the edge of cellZones or also freestanding.
The setting for minMedialAxisAngle was corrected since the calculation
has also been corrected.
2009-12-15 15:56:35 +00:00
409fb9aa9a Use openmpi-1.4, which was released 2009-12-08 (minor security fix).
According to the openmpi release information:
- Use GNU Libtool 2.2.6b to build Open MPI, which updates the
  embedded "libltdl" library to fix a potential security
  vulnerability. There are no other changes compared to Open MPI
  v1.3.4.

For development purposes it should thus be adequate to simply

    ( cd $WM_THIRD_PARTY_DIR && mv openmpi-1.3.4 openmpi-1.4 )

if you don't wish to recompile things.
2009-12-15 16:43:33 +01:00