Commit Graph

2368 Commits

Author SHA1 Message Date
a7341a7e95 Merge branch 'master' into dsmc 2009-03-09 11:20:58 +00:00
4b75568c90 Added an if (cR < SMALL) guard to VHS sigmaTcR calculation. Giving each processor a different random number generator seed, otherwise they follow the same sequence and are not independent. Tnis is a practical problem because they were producing molecules with the same velocity in neighbouring cells on different procs which then collided and caused a floating point error because they had equal velocities. 2009-03-06 16:30:33 +00:00
9c32b96e01 Added equipartition internal energy distribution sampling function and calling on particle intialisation, Maxwellian wall collision and free stream injection. Interface with WallInteractionModel modified to pass a scalar& for the internal energy and a label to specify the typeId. 2009-03-06 15:53:01 +00:00
e111540322 Info line tweaks. 2009-03-06 13:41:24 +00:00
31964adc76 Averaging does not need to be weighted if the fields being averaged are extensive - they weight themselves automatically. Recording momentum and energy denisty, and averaging them, then once decent averaged fields exist, using the new dsmcFields utility to create the intensive fields: UMean and TMean (translational, internal and overall). 2009-03-06 12:59:58 +00:00
a967daeb34 Change of plan - fields will be stored or referenced only at the solver level and tmps will be returned from the clouds to give them their instantaneous values. Only T and U will be supplied to the dsmcCloud, as before, to provide boundary conditions. Added required field calculation functions. Taking care about what is measured - a U field requires sum(momentum)/sum(mass) per cell - cells can have zero particles in them, hence divide by zero problems. Averaging the momentum field and the rhoM field, and constructing the velocity by dividing the averages as a post-processing stage is a safer and more physcially correct method. 2009-03-05 19:15:26 +00:00
9ce984d1dc added edge/triFace to the hashing tests 2009-03-05 12:39:22 +01:00
7544164d53 regIOobject, Hasher, IOobject tweak
- regIOobject: don't re-register an unregister object on rename/assignment
- Hasher: split-off HasherInt with uint32_t specializations
- IOobject: writeBanner/writeDivider return Stream for easier chaining.

... also dropped some namespace bracketing while I was at it.
2009-03-05 12:06:57 +01:00
0cfce1a7ab Merge commit 'OpenCFD/master' into olesenm 2009-03-05 11:00:34 +01:00
65bb236e4f Added new fields to solver and basic calculation of momentum and energy change on wall impact. Need to add references to new fields to DsmcCloud and constructors, all references are to be non-const as the field calculation will occur inside the DsmcCloud. 2009-03-04 18:00:57 +00:00
a5b60b171f Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev 2009-03-04 15:27:00 +00:00
dc7c3ae7af Properly random distribution of particles across inflow patch faces. Modified info() reporting to average per-molecule energy and momentum - more useful. 2009-03-04 14:17:42 +00:00
9611853659 FixedList: added missing #include "contiguous.H" 2009-03-04 15:03:15 +01:00
47bd172682 pushed too soon before fixing typo on wmakeLnInclude 2009-03-04 14:31:37 +01:00
70f1bad088 mesh.C on cyclics 2009-03-04 12:35:15 +00:00
8de54d3ba7 error message 2009-03-04 12:35:01 +00:00
f411ac6884 patchnames on uncached meshes 2009-03-04 12:34:53 +00:00
db8febe9f9 wmakeLnInclude -f now also changes the default linking to 'ln -sf'
- this seems to be the most sensible solution.
  The changed time stamps on the links doesn't seem to bother make at all.
2009-03-04 13:14:11 +01:00
1a2bcf7d84 Merge commit 'OpenCFD/master' into olesenm 2009-03-04 12:20:51 +01:00
9b8de83ab4 HashTable minor/cosmetic changes 2009-03-04 12:15:01 +01:00
17548296be Switched from old hashing functions to use Bob Jenkins' hash routine
- If the underlying type is contiguous, FixedList hashes its storage directly.
- Drop labelPairHash (non-commutative) from fvMeshDistribute since
  FixedList::Hash does the right thing anyhow.
- Hash<edge> specialization is commutative, without multiplication.
- Hash<triFace> specialization kept multiplication (but now uLabel).
  There's not much point optimizing it, since it's not used much anyhow.

Misc. changes

- added StaticAssert to NamedEnum.H
- label.H / uLabel.H : define FOAM_LABEL_MAX, FOAM_ULABEL_MAX with the
  values finally used for the storage.  These can be useful for pre-processor
  checks elsewhere (although I stopped needing them in the meantime).
2009-03-04 10:50:14 +01:00
fdd9cbee92 Added InflowBoundaryModel submodel with NoInflow and FreeStream models. Free stream inserts particles at a specified patch. Currently inserting particles half way along the face centre to cell centre line - will randomise. Fixed label/scalar inconsistency between declaration and accessors of nParticles. 2009-03-03 18:57:20 +00:00
7e735715a4 more flexible mrfzones
modified:   finiteVolume/cfdTools/general/MRF/MRFZone.C
modified:   finiteVolume/cfdTools/general/MRF/MRFZone.H
	modified:   ../tutorials/incompressible/MRFSimpleFoam/mixerVessel2D/constant/MRFZones
2009-03-03 17:09:01 +00:00
4f51b61d2d Added velocity and temperature lookup from boundary fields to MaxwellianThermal wall. 2009-03-03 14:37:12 +00:00
f5d45542ae Added Larsen Borgnakke internal energy redistribution and all supporting variables and function calls. Added energy and momentum monitoring functions. Added U and T fields to be used for boundary conditions and field measurement. Modified constructors accordingly. Now reading dsmcInitialiseDict in the Cloud, not the application. Initialisation dict now reads a subdict of <species keyword> <number density> entries. 2009-03-03 13:39:52 +00:00
44a86232af Added Jenkin's hash functions in C++ form
- not much speed difference between SuperFastHash and Jenkin's lookup3 but
  both are 5-10% faster than what is currently implemented in Foam::string,
  albeit inlining probably helps there.

- TODO: integration with existing infrastructure
2009-03-02 19:57:17 +01:00
b5add8f750 Merge branch 'dsmc' of ssh://graham@hunt//home/noisy3/OpenFOAM/OpenFOAM-dev into dsmc 2009-03-02 13:21:40 +00:00
e10c3a86ba minor formatting/coding changes 2009-03-02 13:18:45 +00:00
8b4c6f0662 Merge branch 'master' into dsmc 2009-03-02 13:11:18 +00:00
5e414f1146 Added kinetic energy and momentum monitoring functions. 2009-03-02 13:08:37 +00:00
b037b0e98d All tags files are now in the .tags directory; ignore it. 2009-03-01 20:39:40 +00:00
f94fd4eb91 Minor format change. 2009-03-01 20:35:19 +00:00
c92fc95a04 Added forward declarations of IO operators, see:
http://openfoam.cfd-online.com/cgi-bin/forum/show.cgi?126/10948
2009-03-01 20:33:41 +00:00
9446fecf49 Corrected dimension handling in pow functions. 2009-03-01 20:32:41 +00:00
35eac2b9a3 Better tagging support. 2009-03-01 20:31:47 +00:00
c4099167d0 Added reduce operations to collision reporting. 2009-02-27 20:34:13 +00:00
28919eac73 Moved call to buildCellOccupancy() to within collisions. Was calling before move() had been called, so some particles were changing processor when running in parallel and invalidating the pointers. 2009-02-27 20:31:19 +00:00
af54627885 Selecting collisions and colliding with VHS model. BinaryCollisionModel requires the random number generator, so non-const access path established. Created fields for collision remainder and for sigmaTcRMax. Made latter a volScalarField so can be visualised, initialised by dsmcInitialise. 2009-02-27 20:16:45 +00:00
f83e4cbd98 reorganized locations of some primitives 2009-02-27 17:46:43 +01:00
106d417de0 StaticAssert added
- catch people using silly template sizes for FixedList, PackedList
2009-02-27 16:41:51 +01:00
0f7b03e69f operator== on result of operator[] behaves weird 2009-02-27 15:41:09 +00:00
7f71a9bcf6 coupled faces included 2009-02-27 15:40:44 +00:00
cec32d2afe prevent softlinking errors if file exists 2009-02-27 12:54:26 +00:00
a15e5f7f05 zone faces derived from cell zone 2009-02-27 12:53:55 +00:00
dbc9b7427a PackedList iterator bugfix
- compare iteratorBase == iteratorBase by value, not position
  thus this works
      list[a] == list[b] ...

- compare iterator == iteratorBase and const_iterator == iteratorBase
  by position, not value. The inheritance rules means that this works:
      iter == list.end() ...
  this will compare positions:
      iter == list[5];
  Of course, this will still compare values:
      *iter == list[5];
2009-02-27 13:43:43 +01:00
114fc6a9bd unnecessary linkage 2009-02-27 12:36:21 +00:00
afdbf9a553 faceZone derived 2009-02-27 12:33:11 +00:00
576d9388f0 Preliminary work on hashing
- Hash returns unsigned
- FixedList templated on unsigned int
- include uLabel.H in UList, HashTable etc. so the output function is know
  throughout
2009-02-27 12:40:37 +01:00
f80012000b removed checking since overwrites files 2009-02-27 10:43:18 +00:00
bb74c5ae14 sample usage of wildcards 2009-02-26 22:48:30 +00:00