[root]/CCA/Components/Wasatch/Expressions/BoundaryConditions
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 76 (100.0%) | 997 (100.0%) | 13.1 |
tsaad | 55 (72.4%) | 959 (96.2%) | 17.4 |
jsutherland | 7 (9.2%) | 21 (2.1%) | 3.0 |
jas | 14 (18.4%) | 17 (1.7%) | 1.2 |
Change the Wasatch namespace to WasatchCore to avoid conflicts with the Wasatch class.
17 lines of code changed in 10 files:
Make the BCCopier gpu runnable. this allows density* to be gpu runnable as well.
0 lines of code changed in 2 files:
1. Create a BCHelper base class so that Arches (and other components) can use the features provided by the BCHelper.
2. From the BCHelper, derive a new class called WasatchBCHelper that specializes in applying boundary conditions for Wasatch
3. Start deprecating the use of the BCHelperTools
Other component developers are welcome/encouraged to look at the BCHelper and see if it can be leveraged for their applications.
1 lines of code changed in 1 file:
More cleanup, including changes to eliminate some compiler warnings.
5 lines of code changed in 1 file:
convert the OneSidedDirichletBC to GPU
5 lines of code changed in 1 file:
Convert one of the more complicated BCs into GPU using the amazing Nebo! Now we have full GPU coverage for Scalar BCs and fluid-flow problems that exclude outflow-type BCs. The bottleneck remains to be the pressure solve.
171 lines of code changed in 10 files:
Add support for complex boundary conditions on the GPU! This commit introduces a new Macro named APPLY_COMPLEX_BC that does quite a bit of magic with templates and type inferences.
Here's how to use it:
APPLY_COMPLEX_BC( my_complex_bc)
where my_complex_bc is ANY nebo expression of the same type as the field that is
computed by the expression. So, if you want to apply a BC on a field of type FieldT, then my_complex_bc is of type FieldT.
Examples:
APPLY_COMPLEX_BC( a*x + b);
APPLY_COMPLEX_BC(a_ * (x - x0_)*(x - x0_) + b_ * (x - x0_) + c_);
APPLY_COMPLEX_BC(phic_ * pow( 1.0 - abs(x - x0_) / R_ , 1.0/n_ ));
For expressions that depend on fields of a different type (say F (SVOL) = a* u (XVOL)), then simply use an in-situ interpolant
APPLY_COMPLEX_BC( a* interp<XVol,SVol>(u) );
The rest of this commit simplifies the constant BC application and staggered direct assignment to avoid un-necessary branching and confusion in the evaluate method.
237 lines of code changed in 3 files:
Add GPU Support for some boundary conditions.
48 lines of code changed in 4 files:
Major changes to the boundary conditions masks to allow us to solve boundary value problems on GPUs. Store four volume masks on the (also on the GPU) and use in-situ shifting to apply a boundary condition. This will avoid un-necessary CPU-GPU data transfers. This should not break the RT.
182 lines of code changed in 3 files:
Remove superfluous semicolon that triggers compiler warnings on some compilers.
16 lines of code changed in 6 files:
missed a couple of expressions in my previous commit.
4 lines of code changed in 2 files:
another refactor of the create_field_request interface.
17 lines of code changed in 5 files:
Refactor Wasatch to use the new ExprLib Interface that allows us to specify the number of ghosts at runtime. This is a major commit.
146 lines of code changed in 11 files:
Infer momentum BCs from Velocity BCs. This will simplify and reduce bc input specification.
NOTE: It is HIGHLY recommended that you initialize velocities ONLY from now NOW and do not apply momentum BCs at ALL. This is relaxed for the time being as we transition to this new approach.
NOTE 2: This commit will break the Wasatch RT. The majority of the failures are due to a change in the number of variables. The rest are acceptable noisy diffs or actual corrections to the momentum BCs.
122 lines of code changed in 2 files:
Made the following changes:
1. Compress large xml files. Remove sus log.
2. Add Changelog.
3. Add instructions for adding a new component to the build system.
4. Update OSX build in install documentation.
5. Update petsc version in install documentation.
6. Change Petsc version.
7. Remove references to Teem in installation. Remove the build directory
after creating the tarball for the release.
8. Remove Tracker feature.
9. Remove AIX references. Remove Basis/. Remove Teem. Remove sci_defs
include files related to SCIRun.
10. Remove old build dependency versions.
11. Add wasatch_3P 1.6.0 branch.
12. Remove bench.config file, update excludes when building release tar ball.
13. Remove *.orig and *.release files.
14. Update copyright date. Update version to 1.6.
17 lines of code changed in 14 files:
consolidate the definition of the parabolic function for basic expressions and bc expressions.
9 lines of code changed in 1 file: