[root]/CCA/Components/Arches/TransportEqns
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 62 (100.0%) | 1606 (100.0%) | 25.9 |
jthornoc | 31 (50.0%) | 1445 (90.0%) | 46.6 |
dav | 11 (17.7%) | 125 (7.8%) | 11.3 |
allen | 6 (9.7%) | 14 (0.9%) | 2.3 |
derekhar | 2 (3.2%) | 9 (0.6%) | 4.5 |
ahumphrey | 7 (11.3%) | 6 (0.4%) | 0.8 |
dsunder | 2 (3.2%) | 4 (0.2%) | 2.0 |
jas | 3 (4.8%) | 3 (0.2%) | 1.0 |
Making the old flux limiters consistent with the recent bug fix in the
new flux limiters. This shouldnt change any answers.
0 lines of code changed in 2 files:
Change map<const int,. . > to map<int,. . > to fix compiler error with clang 3.9 on mira.
2 lines of code changed in 2 files:
Prune out intrusions on a perPatch basis, deleting those intrusions not
associated with the current patch.
Also add a new regression test related to these changes.
190 lines of code changed in 7 files:
Reduce the domain edge BC information to be contained to local patches
only. Also reduce the numbers of reduction variables for inlet areas to
only occur in the case of Swirl and MassFlow inlets.
Clean up some warnings.
This commit should only change the answers for the
channel_LagPart_inlet.
6 lines of code changed in 2 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.
49 lines of code changed in 3 files:
backed out sim state changes
7 lines of code changed in 3 files:
cleanup of the simulation state - most everything is now private
7 lines of code changed in 3 files:
Cleanup of the former DiscretizationTools (renamed to GridTools)
Kokko-ized TaskAlgrebra and reduced the template parameters.
1 lines of code changed in 1 file:
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).
3 lines of code changed in 6 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.
3 lines of code changed in 1 file:
Resurrected restartInitializeTimeAdvance for the Arches-regrid case, this is needed to set patch boundaries after switching patch layouts.
9 lines of code changed in 2 files:
Turn off face velocities.
Remove old GetPsi function.
Rename GetPsiA3 to GetPsi.
3 lines of code changed in 2 files:
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.
16 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.
7 lines of code changed in 1 file:
Fix dataware house bug in DQMOMEqn::buildRHS and hack CoalTemperature to avoid creating a reference to a nullptr
3 lines of code changed in 1 file:
add missing > to template argument
1 lines of code changed in 1 file:
Cleanup warnings.
There are still some unused variable warnings in the new stencil macros
that need cleaning up.
113 lines of code changed in 3 files:
Add some old scalar updates to one of the new test input files.
Add timers around the old scalar solver.
Change output naming convention.
Put the DO_TIMINGS directive in Directives.h
276 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.
3 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.
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.
69 lines of code changed in 7 files:
Remove a BC check that was occuring every timestep (thanks Derek for
pointing this out.) The check is occurring on startup and on restart
now only once.
0 lines of code changed in 1 file:
Use the functor switch.
8 lines of code changed in 2 files:
Move an allocation outside of the #ifdef.
2 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.
574 lines of code changed in 4 files:
Move non-conflicting classes that were in SCIRun namespace to Uintah namespace.
1 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.
253 lines of code changed in 1 file: