[root]/CCA/Components/Arches/PropertyModelsV2
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 84 (100.0%) | 2118 (100.0%) | 25.2 |
jthornoc | 66 (78.6%) | 1320 (62.3%) | 20.0 |
derekhar | 10 (11.9%) | 478 (22.6%) | 47.8 |
bisaac | 4 (4.8%) | 246 (11.6%) | 61.5 |
dav | 4 (4.8%) | 74 (3.5%) | 18.5 |
Fix some warnings and an sign error in the projection.
3 lines of code changed in 2 files:
Add missing files.
384 lines of code changed in 2 files:
* Make the face velocities for the staggered cells the same type.
* Move the initialization procedure into the factory itself so that
* ordering can be controlled easily
* Fix a bug in the Dirichlet BC for staggered fields
* Allow a second call to task initializations in case a model needs to
* reinitialize based on upstream initialization
* (should have been done before) Add access to field variables by
* returning an address rather than a pointer.
* Fix a bug in compute_psi for momentum eons.
* Working out the momentum transport. Pure convection seems stable now.
81 lines of code changed in 7 files:
WBCHelper:
Trying to preserve the meaning of the <value> tag. Therefore, parse
the type attribute for the functor name rather than the value tag.
BoundaryFunctors.h is updated accordingly.
BoundaryFunctors.h:
Added a velocity bc.
FaceVelocities:
Needed to account for boundary conditions.
KFEUpdate and ComputePsi:
Needed to add an exception for Momentum equations to allow them
to be setup property.
KMomentum:
Added the first cut of the Stress Tensor. Needs work.
48 lines of code changed in 1 file:
Adding a stub for a kokkos momentum solver.
Adding a print statement for registered Arches tasks.
1 lines of code changed in 1 file:
Noteworthy comments on changes to files follows.
All other changes should be self-evident.
------
new file: src/CCA/Components/Arches/Task/AtomicTaskInterface.cc
new file: src/CCA/Components/Arches/Task/AtomicTaskInterface.h
Comment: A new Arches task without any algorithmic abstraction.
-------
new file: src/CCA/Components/Arches/Task/TaskVariableTools.h
Comment: Moved functionality out of the TaskInterface and into this helper file.
-------
new file: src/CCA/Components/Arches/UPSHelper.h
Comment: Helper for common tasks in parsing the UPS file.
-------
new file: src/CCA/Components/Arches/Utility/SurfaceVolumeFractionCalc.cc
new file: src/CCA/Components/Arches/Utility/SurfaceVolumeFractionCalc.h
Comment: Stub function for calculating Surface and volume fractions. Everything is = 1 at this point.
-------
modified: src/CCA/Components/Arches/BoundaryFunctors.h
Comment: Complete rework of the boundary functor class.
-------
modified: src/CCA/Components/Arches/ConvectionHelper.h
Comment: Moved to using volume fraction only for boundary conditions rather than surface area fractions.
This greatly simplified the implementation for all field types, but requires a ternay now to
discover boundaries.
-------
modified: src/CCA/Components/Arches/ExplicitSolver.cc
modified: src/CCA/Components/Arches/ExplicitSolver.h
Comment: Begun to consolidate the boundary condition setup proceedure into a function call so that we have
consistency between initialize and timeStepInitialize.
-------
modified: src/CCA/Components/Arches/KokkosSolver.cc
modified: src/CCA/Components/Arches/KokkosSolver.h
Comment: More work on the KokkosSolver to include dynamic timestep calculation among a few other little improvements.
------
modified: src/CCA/Components/Arches/Transport/KFEUpdate.h
Comment: Get the appropriate cell ranges for the different grid types. This needs some verification work.
------
modified: src/CCA/Components/Arches/WBCHelper.cc
modified: src/CCA/Components/Arches/WBCHelper.h
Comment: Inclusion of the "functor" abstraction into WBCHelper.
------
34 lines of code changed in 4 files:
Use the velocity names for the current code to get the face velocity
calc to actually work.
9 lines of code changed in 2 files:
Added the first draft of the new wallht model. Shouldn't impact on regression tests.
246 lines of code changed in 4 files:
The main updates in this commit are to configure and the build system:
A number of bullet-proofing / clean-ups have been added to configure,
and the dependency of Arches on Wasatch has been removed. (Note,
Arches still needs to build TabProps/RadProps in the Wasatch 3P.) I
have tested this on several machines, but it is possible that it will
now catch some peoples' bad configure lines (that 'worked' before but
only accidentally). If your configure stops working because of this
commit, please let me know so I can help you fix it. -Dav
M configure
M configure.ac
- Force bad configure command line arguments to be errors instead of warnings.
This will help avoid users accidentally mis-typing an arg and not noticing.
The autoconf configure system does not normally allow this to happen as
their philosophy is that configure usually calls a sub-configure and passes
args down to it... Thus configure "ignores" bad args under the theory that
a "sub configure" will use them. However, we don't do this and this will
help catch configure command line typos and potentially save developers and
users a lot of headaches.
The bad news is that in order to get this functionality, we have
to hack the autconf'd generated configure script and add a
variable (enable_option_checking=fatal) at the top. I have added
a section to configure.ac with the information about doing this,
but anyone who re-generates configure needs to manually follow the
instructions.
- Configure now will immediately tell you if you have typed in an invalid
file/directory name (bad spelling, doesn't exist) for the --with flags.
Perviously this occurred manually each time (now it is part of the macro)
at the point in the configure script when the library was tested for.
- Fix handling of finding the C/C++ compilers and version checking better.
Configure now determines which compiler (eg: GCC, ICC, XLC) you are
using explicitly and can test for things (like version) appropriately.
The version check may still need to be updated a little.
- Updated the --with handling to know whether the flag was set or not. Previously
we were using a "" (blank) value, which was ambiguous.
- Flag --without as invalid on anything we don't explicitly handle (we
only handle without on a few things such as: --without-fortran or
--without-hypre).
- Allow the external Wasatch 3P to be specified on a single line (instead
of having a separate line for SpatialOps, ExprLib, etc) using
--with-wasatch3p=DIR. This will find all 4 W3P libs with one configure line.
- Got rid of IS_VS (wasn't set/used and don't know what it was for).
- While "no" and no (without quotes) are the same thing to configure, be consistent
and use "no" (with quotes) everywhere.
- Remove the BUILD_WASATCH_FOR_ARCHES logic, as we no longer need Wasatch to
be built for Arches.
- Clean up the left over files from relatively new MPI const test section.
- Fix the HAVE_ACCELERATE
- Update --enable-wasatch_3p to take a list of libs to build (in the case you only
wish to build a subset. Eg: --enable-wasatch_3p=radprops,tabprops
Pass list of libs to the build_wasatch_3p.sh script.
11 lines of code changed in 1 file:
Added Cloud Benchmark to arches-uintah.
220 lines of code changed in 6 files:
Added Burns-Christion using the Arches Task Interface. Changes to Discrete-Ordinates to be compatible with this interface were also made.
258 lines of code changed in 4 files:
Fix a leak. Wrong variable type was being requested. Probably should
bullet-proof this for the future.
0 lines of code changed in 2 files:
Removing Operators.
47 lines of code changed in 19 files:
Removing spatialops includes.
Converting Lagrangian particle to standard Uintah loops.
2 lines of code changed in 3 files:
Kokkos in variable stats. Answers arent changed.
**Note that it appears something affecting partMassFlow has snuck
through my set of commits. The next commit should fix this.
174 lines of code changed in 1 file:
Allow for the return of native ParticleVariables.
Update RandParticleLoc to meet new API.
Kokkos in WallHFVariable. This still needs work.
32 lines of code changed in 1 file:
Kokkos into CO and GridInfo.
17 lines of code changed in 1 file:
Remove debugging print statements in SurfaceNormals.
Kokkos for DensityPredictor.
Added a helper KokkosTools header where we can place some commonly used
lines of code.
85 lines of code changed in 2 files:
GridTools->ArchesCore namespace.
1 lines of code changed in 1 file:
Remove CoalTemperatureNebo.
Update SampleTask with lambdas.
1 lines of code changed in 1 file:
Cleanup of the former DiscretizationTools (renamed to GridTools)
Kokko-ized TaskAlgrebra and reduced the template parameters.
3 lines of code changed in 2 files:
Turn off face velocities.
Remove old GetPsi function.
Rename GetPsiA3 to GetPsi.
7 lines of code changed in 1 file:
Simplify the flux limiter operations by going to Array3.
Modified BlockRange to allow for operator() with an option
in addition to the (i,j,k).
Added a FaceVelocity class which computes the face velocities for the
various staggered grid faces.
223 lines of code changed in 5 files:
Fix the problem with fortran .h files (in Arches) not being generated correctly (on the binary
side) when CUDA is turned on.
Update the make system so that the dependency rules for CUDA enabled files are created
automatically. The user no-longer has to specify that each CUDA_ENABLED_SRCS .cu file
depends on the corresponding .cc file. Updated both Wasatch and Arches to use the
new approach.
M Makefile.in
- Add a 'function' (make-cuda-target) that will create CUDA dependency rules automatically,
instead of having the developer have to list the rules manually. This function must
be called in each sub.mk file that creates a CUDA_ENABLED_SRCS list.
- Remove all .cu and (mostly fortran) .h files from the <bin> side when
"make cleanreally" is called.
M configure
M configure.ac
- Put in check to verify that Uintah and Wasatch 3P are both (or neither) being
built with CUDA.
- Will also add Candera check once I get more info.
A include/sci_defs/wasatch_testdefs.h.in
- Place PoKitt and Candera defines in new (configure generated binary side) wasatch_defs.h
file.
M CCA/Components/Arches/sub.mk
- Fix fortran .h file dependency problem. Note, these dependencies are have been (and
continue to be) manually entered into the sub.mk file. However, previously, they
used multiple lines (eg: Source.$(OBJEXT) was written 5 times. You don't need to
do this, you can just list it once and then put all the files it depends on.
When building without CUDA, the fortran .h files are needed to create
the object files (eg: Source.o). However, if CUDA is turned on, then they are
needed to create the CUDA .cu file (eg: <bin>/Source.cu). Perviously, at least
on some machines (though the problem should have shown up on all machines?), the fortran
.h files were not being generated.
It appears that currently Arches/sub.mk is the only directory that has CUDA files that
are dependent on fortran .h files. If this occurs in other sub-dirs for Arches (as
CUDA is added to the code), then the same approach should be taken in those files.
M CCA/Components/Arches/ChemMix/sub.mk
M CCA/Components/Arches/CoalModels/sub.mk
M CCA/Components/Arches/LagrangianParticles/sub.mk
M CCA/Components/Arches/Operators/sub.mk
M CCA/Components/Arches/ParticleModels/sub.mk
M CCA/Components/Arches/PropertyModels/sub.mk
M CCA/Components/Arches/PropertyModelsV2/sub.mk
M CCA/Components/Arches/SourceTerms/sub.mk
M CCA/Components/Arches/Task/sub.mk
M CCA/Components/Arches/Transport/sub.mk
M CCA/Components/Arches/TransportEqns/sub.mk
M CCA/Components/Arches/Utility/sub.mk
M CCA/Components/Arches/WallHTModels/sub.mk
M CCA/Components/Wasatch/Expressions/BoundaryConditions/sub.mk
M CCA/Components/Wasatch/Expressions/MMS/sub.mk
M CCA/Components/Wasatch/Expressions/PostProcessing/sub.mk
M CCA/Components/Wasatch/Expressions/Turbulence/sub.mk
M CCA/Components/Wasatch/Expressions/sub.mk
M CCA/Components/Wasatch/Operators/sub.mk
M CCA/Components/Wasatch/Transport/sub.mk
M CCA/Components/Wasatch/sub.mk
- Call make system function make-cuda-target to generate CUDA .cu dependencies.
8 lines of code changed in 1 file:
Fixes to Arches sub.mk files for CUDA builds. If you add a file to the list of
CUDA_ENABLED_SRCS, you have to add a corresponding line at the bottom of the sub.mk
file (see notes above CUDA_ENABLED_SRCS section).
M Transport/sub.mk
M PropertyModelsV2/sub.mk
M Utility/sub.mk
- Added corresonding .cu creation lines.
- Alphabetized
4 lines of code changed in 1 file:
Added a new property model (constant value).
Added kokkos-ized scalar solver including FE update.
Added a version of the Wasatch BCHelper sans SpatialOps functionality.
Work on the Kokkos solver to actually update the scalar transport.
Work on ConvectionHelper - taking a stab at a convention for face
centered variable, face types.
Added some patch range helpers in DiscretizationTools.
Added timers.
Go to a single template parameter for WaveForm - Lambda-ize it.
Update arches_spec to work with new KScalars.
Other minor runtime or beautification.
156 lines of code changed in 4 files:
Cleaning up warnings.
0 lines of code changed in 1 file:
This commit should fix the previous commit with respect to Uintah Variable
types. Additionally, it adds support for Arches files to be pushed through
NVCC as needed.
M CCA/Components/Wasatch/sub.mk
- Added a brief comment on use of CUDA_ENABLED_SRCS.
M CCA/Components/Arches/TransportEqns/CQMOM_Convection.h
M CCA/Components/Arches/TransportEqns/Discretization_new.h
M CCA/Components/Arches/TransportEqns/CQMOMEqn.h
M CCA/Components/Arches/TransportEqns/DQMOMEqn.h
M CCA/Components/Arches/Task/TaskInterface.h
- Minor cleanups:
- Fix warning message.
- Some white space for readability.
- Remove an empty "private:" block.
M CCA/Components/Arches/CoalModels/sub.mk
M CCA/Components/Arches/TransportEqns/sub.mk
M CCA/Components/Arches/Transport/sub.mk
M CCA/Components/Arches/sub.mk
M CCA/Components/Arches/ParticleModels/sub.mk
M CCA/Components/Arches/PropertyModels/sub.mk
M CCA/Components/Arches/ChemMix/sub.mk
M CCA/Components/Arches/PropertyModelsV2/sub.mk
M CCA/Components/Arches/Task/sub.mk
M CCA/Components/Arches/SourceTerms/sub.mk
M CCA/Components/Arches/Operators/sub.mk
M CCA/Components/Arches/WallHTModels/sub.mk
M CCA/Components/Arches/Utility/sub.mk
M CCA/Components/Arches/LagrangianParticles/sub.mk
- Update Arches sub.mk files to correctly specify which files
need CUDA (nvcc) compilation.
M Core/Grid/Variables/CCVariable.h
M Core/Grid/Variables/SFCYVariable.h
M Core/Grid/Variables/NCVariable.h
M Core/Grid/Variables/SFCXVariable.h
M Core/Grid/Variables/SFCZVariable.h
M Core/Grid/Variables/ParticleVariable.h
M Core/Disclosure/TypeDescription.h
- Turns out that the registerMe variable was needed. There was an erroneous comment
in the previous version that implied that it wasn't needed (that the work happened
in the Variable constructor, but this was not the case. I have added a number of
comments to clarify how this works so the next person to dig into it will have an
easier time.
M Core/Disclosure/TypeDescription.cc
- Update file global variables to be designated as such to help avoid confusion.
- Assign to NULL as they are pointers and not integers.
51 lines of code changed in 1 file:
Fix a bug with DQMOM + handoff files.
For variable_stats, add some more documentation in the spec file + throw an error if velocities are being averaged. One should use the flux_variable instead for velocities.
Add task name to the throw in TaskInterface.
Remove a premature create_local_labels in utility factory.
6 lines of code changed in 1 file:
Perform the variable stats task at the very end.
6 lines of code changed in 2 files: