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