[root]/CCA/Components/Arches/PropertyModels
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 23 (100.0%) | 643 (100.0%) | 27.9 |
jthornoc | 8 (34.8%) | 320 (49.8%) | 40.0 |
ajosephson | 5 (21.7%) | 220 (34.2%) | 44.0 |
dav | 4 (17.4%) | 69 (10.7%) | 17.2 |
harman | 2 (8.7%) | 33 (5.1%) | 16.5 |
ahumphrey | 4 (17.4%) | 1 (0.2%) | 0.2 |
Fixing the soot radiation property model so that it doesn't reset the gas absorbtion coefficient. Oops!!
0 lines of code changed in 2 files:
added bulletproofing to catch non-physical values of abskg, sigmaT4 and cellType.
33 lines of code changed in 2 files:
These are changes needed to couple the current soot model and the radiation coefficients.
220 lines of code changed in 3 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.
5 lines of code changed in 2 files:
Replace usage of NULL macro (type int) with nullptr (pointer literal of type: nullptr_t).
nullptr is implicitly convertible and comparable to any pointer type or pointer-to-member type, but is not implicitly comparable to integral types, except that it is convertible to bool (explicitly).
1 lines of code changed in 2 files:
Removal of src/Core/Thread and related refactoring throughout the code-base.
This is the first step in a series of infrastrucutre overhauls to modernize Uintah. Though this all passes local RT (both CPU and GPU tests), I expect some fallout we haven't considered and will be standing by to deal with any issues. Once the dust settles, we will move to replacing Core/Malloc with jemalloc.
* We are now using the standard library for all multi-threading needs within the infrastructure, e.g. std::atomic, std::thread, std::mutex, etc.
* The Unified Scheduler is now the only multi-threaded scheduler, e.g. ThreadedMPIScheduler no longer exists (though the source will soon be placed into an attic).
* Threads spawned by the Unified Scheduler are detached by default (not joinable), allowing for easy, clean and independent execution. There are no longer ConditionVariables used to signal worker threads, just a simple enum for thread-state.
* What was Core/Thread/Time.* is now Core/Util/Time.* - a next step will be to migrate all internal timers, etc to use std::chrono.
* NOTE: Though much cleanup has occurred with this commit, there is still significant cleanup and formatting to be done. The scope of this commit neccessitates a more incremental approach.
0 lines of code changed in 2 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:
* Clean up some dummy labels that did nothing (dummySolve, anyone?)
* Add a standalone function to ensure BCs are set for all independent
* variables. This is run once at simulation startup.
* Add a RestartInitialize for property models. This is needed for models
* such as heat loss that are using a handoff file to ensure the handoff
* file is properly loaded.
* Make sure that the handoff file information is loaded for transport
* equations before calling getState
This is needed to ensure that the initial condition is properly set at
the handoff file locations.
157 lines of code changed in 5 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.
56 lines of code changed in 1 file:
BUGS:
* Fix a bug with the handoff files. Both heat loss and DQMOM variables
* weren’t being properly setup, resulting in the default value always
* being used.
* Fix a bug wherein the handoff output (showing missed hand-off
* information) wasn’t being
* printed correctly for the velocities.
KOKKOS:
* Cleanup ConvectionHelper/DiscretizationTools to use Dan’s latest
* infrastructure improvements.
* This version of code gives nearly the same answers as the
* non-Kokkoized code. The diffs are understandable from an order of
* operations standpoint.
MODELS:
* For drag, use the magnitude of the difference in velocities
* For drag, use the updated weight rather than the guess. This
* helps stabilize things, BUT it isn’t general enough. —> NEEDS
* WORK<—
* In PartVel, compute the face centered velocities for the
* transport. This should allow us to phase out the
* CCVariable<Vector> velocities.
OTHER
* For MPI_Bcast, send and int rather than an unsigned int to
* remove a warning.
* Consolidated the checkBCs function into BoundaryCondition_new.
161 lines of code changed in 1 file:
Enable handoff files with heat loss.
2 lines of code changed in 1 file: