Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
861 commits
Select commit Hold shift + click to select a range
3ce4393
Convert WallDist node source algorithm to NGP
sayerhs Jun 16, 2019
c101641
New GPU kernel Turb Kinetic Energy Rodi (#269)
overfelt Jun 28, 2019
8122308
Convert ABL forcing source terms to NGP
sayerhs Jun 25, 2019
c3c4500
Convert AssembleMomentumEdgeSolverAlg to NGP
sayerhs Jun 26, 2019
415b38f
Fix hidden virtual compiler warning.
overfelt Jun 28, 2019
dcecaa5
Actually fix clang warnings this time.
overfelt Jun 28, 2019
bc2ea21
TpetraSegregatedSystem: adding the new TpetraSegregatedLinearSystem c…
lucbv Jun 28, 2019
db35c3a
Convert AssembleScalarEdgeSolverAlgorithm to NGP
sayerhs Jun 28, 2019
90232f7
NGP implementation of Edge BC algorithms
sayerhs Jun 28, 2019
6a43c23
Fix check for Neutral/Stable/Unstable in ABLWallFunction Algorithms
sayerhs Jun 30, 2019
c841140
Add necessary KOKKOS_FUNCTION decorators to MasterElement classes
sayerhs Jun 30, 2019
72ea16e
Convert ABLWallFunction to NGP (#274)
sayerhs Jul 1, 2019
d538456
Update ablNeutralEdge gold files.
jrood-nrel Jul 2, 2019
fe9d7dd
Remove redunant force vector for MomentumBoussinesqNodeKernel
sayerhs Jul 2, 2019
ce51f72
Disable debugging message in ActuatorFAST
sayerhs Jul 3, 2019
e2622d8
Allow machine-specific custom gold norms
sayerhs Jul 2, 2019
faf0c04
Output absolute and relative diffs for failing tests
sayerhs Jul 3, 2019
db51b28
Convert TemperatureNormalGrad BC algorithm to NGP
sayerhs Jul 4, 2019
b341e30
Convert SST and Ksgs nodal source terms to NGP
sayerhs Jul 4, 2019
568b06a
fix a stk deprecation issue, and a couple of signed/unsigned issues in
alanw0 Jul 5, 2019
38ef1b5
Switch Edge/Node algorithms to the NGP versions in equation systems (…
sayerhs Jul 5, 2019
cd78461
Update gold files following changes in PR #277. (#284)
jrood-nrel Jul 5, 2019
f7063af
Update rst gold files I forgot to update in PR #284.
jrood-nrel Jul 8, 2019
ecdf770
Fixing Clang warning about unused variable.
jrood-nrel Jul 8, 2019
57b2a0d
Convert ContinuityGclNodeSuppAlg to NGP (#282)
jrood-nrel Jul 8, 2019
2a47591
Convert MomentumGclSrcNodeSuppAlg to NGP (#283)
jrood-nrel Jul 8, 2019
c0a8d57
Convert ScalarGclNodeSuppAlg to NGP (#285)
jrood-nrel Jul 8, 2019
5ebc85d
Fix Ksgs kernel to handle dual nodal volume with 2 states. (#288)
jrood-nrel Jul 9, 2019
5c9a1f7
Add DeviceShmem qualifiers to Hypre methods
sayerhs Jul 11, 2019
61466ce
NGP looping abstractions (#287)
sayerhs Jul 11, 2019
1c1e4c5
Fix -fpermissive errors from #287
sayerhs Jul 12, 2019
f776830
Bug fix for Ksgs Rodi source term (#428)
spdomin Jan 22, 2019
c8a2676
Fix more -fpermissive errors from #287
sayerhs Jul 13, 2019
01c4118
Refactor ElemDataRequestsGPU and move implementation to source file
sayerhs Jul 14, 2019
7c7fc1a
Fix calls to device instances of MasterElements in host code
sayerhs Jul 14, 2019
4044be6
Refactor NGP loop abstractions to use ME query methods
sayerhs Jul 14, 2019
d2c1b3e
Check for existence of ME instance from add_master_element_call
sayerhs Jul 14, 2019
f8dffb9
Remove ScratchMeInfo and associated overloaded functions/methods
sayerhs Jul 14, 2019
c230d44
Fix bug in AssembleFaceElem where class member was being accessed in GPU
sayerhs Jul 15, 2019
1784b99
Update field calculation functions in unit tests to NGP (#297)
sayerhs Jul 19, 2019
f9435a3
Switch the default GPU memory space from CudaUVMSpace to CudaSpace (#…
sayerhs Jul 19, 2019
1084ee4
Add user documentation for spinner lidar sampling parameters (#299)
rcknaus Jul 19, 2019
df5bdb9
Fix bug checking for master element data when looping FACE entities
sayerhs Jul 20, 2019
301ed0c
Fix calls to `Kokkos::atomic_add` in Field operators
sayerhs Jul 20, 2019
8666526
Update nonIsoElemOpenJet gold file.
jrood-nrel Jul 22, 2019
0b923b5
Add appropriate guards to reduce CUDA warnings
sayerhs Jul 24, 2019
74361b6
WIP fix TpetraLinearSystem and the Segragated version to use non-temp…
DrBooom Jul 25, 2019
b517c36
Revert "WIP fix TpetraLinearSystem and the Segragated version to use …
sayerhs Jul 26, 2019
e1773e2
Remove ifdef statements to allow checking of results for several CUDA…
jrood-nrel Jul 26, 2019
221ca14
Fix AssembleEdgeSolverAlgorithm to use coeff-applier...
alanw0 Aug 4, 2019
e486ff3
Fix AssembleFaceElemSolverAlgorithm so that...
alanw0 Aug 6, 2019
d0e1028
Converting ScalarEdgeOpenSolverAlg kernel to run on GPU (#306)
jvo1012 Aug 7, 2019
1068275
Using get_rank instead of entity_rank in NgpFieldOps.h to get debug b…
jrood-nrel Aug 7, 2019
fa238a7
Removing more CUDA ifdefs (#309)
jrood-nrel Aug 7, 2019
8aa305b
Fix Wale model to use the deviatoric part of the square of the veloci…
rcknaus Aug 9, 2019
e49ef36
Update readthedocs to use Python 3 and the readthedocs.yml file (#313)
jrood-nrel Aug 9, 2019
e0fde76
Update golds in response to #312.
jrood-nrel Aug 12, 2019
16adb8e
Transition terms in EquationSystems to their NGP versions (#300)
sayerhs Aug 13, 2019
b01101c
Update gold files for restart cases.
jrood-nrel Aug 13, 2019
4b5eab2
Using ; instead of && for restart tests so that rst gold files will s…
jrood-nrel Aug 13, 2019
ddc893e
Fix for NALU_ALIGN for Summit. (#315)
overfelt Aug 13, 2019
67d3ee4
Use coeff applier in AssembleNGPNodeSolverAlgorithm and remove CUDA i…
jrood-nrel Aug 14, 2019
68844a7
Update golds in response to #300.
jrood-nrel Aug 14, 2019
c02c3bb
Merge branch 'master' of github.com:Exawind/nalu-wind
jrood-nrel Aug 14, 2019
370a2ee
Remove more CUDA ifdefs from node kernels to allow checking results o…
jrood-nrel Aug 15, 2019
075baec
Need to tweak tolerances for Mac tests again. They're almost useless …
jrood-nrel Aug 16, 2019
f4140e4
Fix production limiting in specific dissipation rate equation for SST…
rcknaus Aug 16, 2019
f8e54c0
Add missing header
rcknaus Aug 16, 2019
7dd5a4b
Remove ScalarOpenAlgorithm unit test. (#320)
jrood-nrel Aug 16, 2019
8b9747a
Update gold solution for TestTurbulenceAlgorithm.turbviscwalealgorith…
jrood-nrel Aug 19, 2019
401c252
Fix parallel consistency for the minimum distance clipping utility in…
rcknaus Aug 19, 2019
e89d31a
Reinit fix (#323)
psakievich Aug 22, 2019
5a7602d
Revert "Reinit fix (#323)" (#324)
psakievich Aug 22, 2019
0904fc7
Reinit fix (#325)
psakievich Aug 22, 2019
657a0de
Summing viscous forces over all procs for SurfaceForceAndMoment
Aug 26, 2019
3c259a2
Change sign in the abl_top BC
tonyinme Aug 27, 2019
5513e6e
Made numSumIntoCalls_ into a view on TestLinearSystem so that
alanw0 Aug 27, 2019
92fda59
Fix a compiler warning about initialization order in TestLinearSystem,
alanw0 Aug 27, 2019
2cdb814
Add shear initial/boundary condition specification using power law (#…
Aug 28, 2019
3a90991
Removing CUDA ifdefs from more kernel unit tests. (#331)
jrood-nrel Aug 29, 2019
c756944
2-MPI-rank test of tpetra assembly, loadComplete on GPU
alanw0 Aug 29, 2019
801abc4
TpetraHelperObjectsEdge now calls loadComplete
alanw0 Aug 29, 2019
3eb5418
Removed a comment, and AdvDiffEdge
DrBooom Aug 30, 2019
06a76d4
NGP version of nodal gradient calculations (#333)
sayerhs Sep 5, 2019
7fb8d62
NGP version of effective diffusive flux coefficient computation (#335)
sayerhs Sep 5, 2019
ffce386
Convert Edge mass flux computation to NGP (#337)
sayerhs Sep 6, 2019
b213e80
Fix extra semicolon warning on CDash
sayerhs Sep 6, 2019
49a105c
Cleanup of PR338: Removed a ThrowRequire's, and removed a std::unique
DrBooom Sep 6, 2019
974c00c
Conversion of EnthalpyEffectiveDiffFluxCoeffAlgorithm for NGP (#340)
jrood-nrel Sep 6, 2019
0dc6262
Convert field updates in EquationSystems to NGP versions (#342)
sayerhs Sep 8, 2019
4041423
Add Kokkos based calls to Edge master elements. (#334)
overfelt Sep 8, 2019
ea0f147
Fix warnings of inconsistent override in Edge MasterElement headers
sayerhs Sep 8, 2019
2bc6629
Attempt to fix errors on CDash with deleted copy constructor
sayerhs Sep 8, 2019
be078c2
Convert TurbViscKsgsAlg to NGP.
jrood-nrel Sep 6, 2019
a7f5469
LowMach and WallDist: Convert nodal grad computation to NGP version (…
sayerhs Sep 9, 2019
b91f429
Periodic max not periodic sum for SST min dist (#347)
rcknaus Sep 10, 2019
c54eff0
Fix ambiguous method error on CDash
sayerhs Sep 10, 2019
4e0743a
GPU fixes for realm (#348)
alanw0 Sep 10, 2019
1d09592
Fix broken unit test for TurbViscKsgsAlg (#351)
sayerhs Sep 11, 2019
430e440
Convert solution update in EquationSystem to NGP version
sayerhs Sep 10, 2019
d7c6da9
Change constructor for TurbViscAlg to not require additional fields
sayerhs Sep 10, 2019
db21aa8
Convert diffusive flux coeff and turbulent viscosity calcs to NGP
sayerhs Sep 10, 2019
6d86ab5
Fix build error with GCC/Intel on missing header
sayerhs Sep 11, 2019
2fb409a
TKE EqSys: Convert nodal grad, diff flux computations to NGP
sayerhs Sep 11, 2019
d3debb5
copy_tpetra_to_stk and copy_stk_to_tpetra (#350)
alanw0 Sep 11, 2019
24a30e5
Enthalpy: Convert equation terms, diff flux, nodal grad to NGP versio…
sayerhs Sep 11, 2019
5d1cc74
Merge pull request #338 from Exawind/TLSfinal
jhux2 Sep 11, 2019
7de5bf7
Nalu-Wind: fix compile error
jhux2 Sep 12, 2019
18caab8
Fix parenthesis warning in LowMach
sayerhs Sep 13, 2019
4db216f
Fix out of bound array access in Edge22DCVFEM
sayerhs Sep 13, 2019
2d0d738
Update gold files in response to #353 and #354.
jrood-nrel Sep 13, 2019
66c0a89
Cleanup periodic_field_update in preparation for ngp conversion (#365)
alanw0 Sep 13, 2019
98f337e
Add NGP face-element loop utility
sayerhs Sep 13, 2019
6a5a5f4
Change NALU_ALIGNED from long double to double alignment to avoid Nvi…
overfelt Sep 13, 2019
8a00065
Restrict face/elem test to only 1 proc run
sayerhs Sep 13, 2019
85371dc
Actuator disk doc update (#367)
psakievich Sep 14, 2019
4e43f13
Convert ComputeABLWallFrictionVelocity to NGP
sayerhs Sep 13, 2019
650d9f9
Fix selector logic in wall func geometry calcs
sayerhs Sep 14, 2019
f7db874
Updating gold files in response to #366.
jrood-nrel Sep 16, 2019
e363a3a
Convert TKE wall function algorithm to NGP (#368)
sayerhs Sep 16, 2019
676c51d
Revert "Cleanup periodic_field_update in preparation for ngp conversi…
alanw0 Sep 16, 2019
54ac8c5
Updating gold files in response to #368.
jrood-nrel Sep 17, 2019
650bf85
Temporary unit test to create and test memory leak detection. (#372)
jrood-nrel Sep 18, 2019
8162309
Disabling memory leak test in unit tests.
jrood-nrel Sep 19, 2019
65eb81d
Increasing test timeouts again so they are able to run as debug build…
jrood-nrel Sep 19, 2019
fba7788
Yet higher test timeouts to allow for debug build type.
jrood-nrel Sep 20, 2019
b2d7dd2
Convert periodic_field_update for GPU execution (#374)
alanw0 Sep 23, 2019
75242b0
Higher test timeouts, yadda, yadda, yadda.
jrood-nrel Sep 23, 2019
771af6c
Fix GPU compile error. (#378)
overfelt Sep 24, 2019
883434f
Update field updater interface for performance
sayerhs Sep 23, 2019
c3dbd93
Making test timeouts practically useless.
jrood-nrel Sep 24, 2019
73f7e7b
Set stack size on GPU.
overfelt Sep 24, 2019
37b45c3
Converting TurbViscSSTAlg to NGP (#357)
marchdf Sep 24, 2019
31d80a7
Converting EffSSTDiffFluxCoeffAlg to NGP (#380)
jrood-nrel Sep 24, 2019
22d46fb
Updates to get working version of ABL simulation on GPU (#381)
sayerhs Sep 26, 2019
be91a0f
Revert "Set stack size on GPU."
jrood-nrel Sep 26, 2019
6761e82
Revert "Converting TurbViscSSTAlg to NGP (#357)"
jrood-nrel Sep 26, 2019
9e8891d
Merge branch 'master' of https://github.com/Exawind/nalu-wind
jrood-nrel Sep 26, 2019
31504e6
Fix NgpLoopTest.NGP_basic_face_elem_loop test.
overfelt Sep 27, 2019
1a559bb
Fix setting cudaLimitStackSize for unit tests. (#384)
overfelt Sep 28, 2019
c2c0369
Changes to stk unit test header locations. (#386)
jrood-nrel Sep 30, 2019
1b84b4b
Fix compiler warning: unused variable.
overfelt Oct 1, 2019
9c6d250
Add Cartesian Aligned Strong Symmetry BC (#376)
psakievich Oct 1, 2019
b7eb745
Introduce driver code for geometry & TKE ABL wall function computatio…
sayerhs Oct 1, 2019
f3acca3
Convert tviscsstalg (#388)
marchdf Oct 1, 2019
0f253a9
Fix compile error.
overfelt Oct 1, 2019
4d7c4c1
Fix compile error in LinearSystem.
overfelt Oct 1, 2019
b061ea0
Fix compile error: cuda functions can not be protected.
overfelt Oct 1, 2019
7da688b
Add gpu versions of master element functions.
overfelt Oct 1, 2019
b622925
Add gpu version of shape_fcn and shifted_shape_fcn.
overfelt Oct 1, 2019
9ac572b
Fix for bad merge. (#393)
overfelt Oct 1, 2019
b724389
Fix inconsistent override warnings
sayerhs Oct 2, 2019
4c67351
Fix incorrect number of states for dual nodal volume.
sayerhs Oct 2, 2019
b7c1c2d
Fix segfaults in unit tests due to missing TimeIntegrator object
sayerhs Oct 2, 2019
c76959d
Add gpu versions of determinant functions.
overfelt Oct 1, 2019
ce99826
Decorate a couple of functions with KOKKOS_FUNCTION.
overfelt Oct 1, 2019
5e5bf62
Changes to get GeometryInteriorAlg to run on GPU.
overfelt Oct 2, 2019
3ce38ea
Get TurbViscSSTAlg running on GPU.
overfelt Oct 2, 2019
8bd12f8
Fix clang build error.
overfelt Oct 3, 2019
c351e15
Fix bug in ELEM_DATA_NEEDED enum
sayerhs Oct 4, 2019
c105e00
GPU conversion of FixPressureAtNodeAlgorithm (#400)
alanw0 Oct 7, 2019
8e276fe
Fix errors in NGP unit tests on GPU
sayerhs Oct 8, 2019
13ef596
Fix typo of SCV_MIJ error check
marchdf Oct 8, 2019
9482fd1
Fix memory leak in FixPressureAtNodeAlgorithm. (#402)
alanw0 Oct 8, 2019
31e8078
Quite a compiler warning.
overfelt Oct 9, 2019
8a7382e
Remove unused member from Realm
sayerhs Oct 10, 2019
f4cf5c2
Disable default, copy, assignment constructors for MeshInfo
sayerhs Oct 10, 2019
7d6d113
Enable ABL forcing algorithm to work on NGP (#398)
sayerhs Oct 11, 2019
4e2e451
Switch to NGP versions of geometry computations in Realm
sayerhs Oct 10, 2019
f571737
Fix std::array usage on CUDA builds
sayerhs Oct 11, 2019
705d342
Fix usage of modify_on_device within kernel calls
sayerhs Oct 11, 2019
df0c06b
Provide Kokkos configuration and Teuchos Timer output
sayerhs Oct 11, 2019
2447ef1
Make get_entity_master more forgiving for ghost entities.
alanw0 Oct 11, 2019
d6d55e4
Updating golds in response to #406.
jrood-nrel Oct 13, 2019
6757be4
Updating golds in response to #406.
jrood-nrel Oct 13, 2019
19adbb3
Remove unused/deprecated files/classes that have transitioned to NGP …
sayerhs Oct 16, 2019
f88f5e1
Update SDR EqSystem to use NGP versions of Algorithms (#411)
sayerhs Oct 17, 2019
f8ef1d0
Begin deprecating boost_rtree search. (#414)
alanw0 Oct 17, 2019
6b35bd3
Updating golds in response to #411.
jrood-nrel Oct 18, 2019
31b45dd
Convert SDR wall function algorithms to NGP (#415)
sayerhs Oct 20, 2019
1ce4853
Updating golds in response to #415.
jrood-nrel Oct 21, 2019
5ca5aa1
Enabling ablNeutralEdge GPU regression test.
jrood-nrel Oct 21, 2019
5666210
fist commit
gdeskos Dec 4, 2019
59cb852
fist commit
gdeskos Dec 4, 2019
5e55d1f
first commit for wave mesh motion interface
gdeskos Dec 13, 2019
2d9fd2b
first commit for wave mesh motion interface
gdeskos Dec 13, 2019
1057712
added some linear-wave functionality: calculates vertical displacemen…
gdeskos Dec 13, 2019
d0f6ea6
added some linear-wave functionality: calculates vertical displacemen…
gdeskos Dec 13, 2019
d2cb8de
first working repo for moving mesh/prescribed waves
gdeskos Dec 16, 2019
dfa4c2a
first working repo for moving mesh/prescribed waves
gdeskos Dec 16, 2019
caf6187
small fix for horizontal velocity of prescribed waves
gdeskos Dec 18, 2019
26662f9
small fix for horizontal velocity of prescribed waves
gdeskos Dec 18, 2019
de3f078
removed *.exo files
gdeskos Dec 18, 2019
31daee2
resolved conflicts in mesh motion
Dec 19, 2019
cdb2279
added the right vertical and horizontal velocities
gdeskos Dec 19, 2019
1fdc96c
merged with eagle repo
Dec 19, 2019
c972cbb
small change to remove wave velocity from x direction
gdeskos Dec 20, 2019
03d321a
small change to remove wave velocity from x direction
gdeskos Dec 20, 2019
58f9d23
small fix for the horizontal velocity of linear waves
gdeskos Dec 23, 2019
5a4ded5
changes in BdyLayer averaging procedure
gdeskos Dec 27, 2019
44e7d24
small change for tpetra to compile on supercomputer
gdeskos Dec 30, 2019
0fcf0d9
added the PHASE_AVERAGE as an option
gdeskos Jan 3, 2020
f9a9734
merging 03 Jan 2020
gdeskos Jan 3, 2020
38b9a08
merged with upstream/master, resolved all issues -- code compiles
gdeskos Jan 3, 2020
67c9d18
small commit for mesh motion
gdeskos Jan 9, 2020
aaa5b0e
gcl test for different mesh motion -- still fails
gdeskos Jan 13, 2020
1328d9a
Updating golds in response to #476.
jrood-nrel Dec 30, 2019
59265bc
NGP transition of edge open BC for scalars (#480)
sayerhs Dec 31, 2019
0c8fadc
Updating gold files in response to #480.
jrood-nrel Dec 31, 2019
d3c0646
Skeleton for algorithm to compute mesh velocity/swept volume at faces
sayerhs Jan 8, 2020
29c4a84
Instantiate the kernel
sayerhs Jan 8, 2020
74c6c77
Adding computation of swept volume and face mesh velocity
Jan 9, 2020
ec8a4a4
Manually deinterleave/interleave SIMD data for areav calcs at t^{n}
sayerhs Jan 10, 2020
9e06894
Fixing bugs and adding a unit test
Jan 12, 2020
8dee79c
Adding computation of MeshVelocity to Realm after mesh motion
Jan 12, 2020
56c6ca9
Adding a utility to compute a divergence of GenericFieldType already …
Jan 12, 2020
eaa84e3
Adding computation of mesh velocity divergence to MotionRotation class
Jan 12, 2020
af50f0a
Fix bugs to get face_vel_mag and div_mesh_velocity computed on a real…
Jan 13, 2020
bbcca8b
Updating mesh velocity algorithm to use Grandy method and updating un…
Jan 15, 2020
7aa5ee6
Adding a unit test for computation of mesh velocity divergence
Jan 15, 2020
71c63f0
Moving computation of swept volume and face velocity to GeometryAlgDr…
Jan 16, 2020
2916c4a
adding unit tests to verify computation of swept volume and face velo…
Jan 16, 2020
e191493
Adding an algorithm to accumulate swept volume and mesh velocity to t…
Jan 16, 2020
3da0125
Update mesh velocity unit tests to run through GeomAlgDriver
Jan 16, 2020
297ad1a
Switching between edge and element algorithm with user choice
Jan 17, 2020
9aca73f
Fixing bugs for computation of mesh velocity and div on edges
Jan 17, 2020
40c7549
Adding a unit test for scaling motion.
Jan 18, 2020
9ef4b89
added the correct analytical values
gdeskos Jan 18, 2020
a011f6f
merged
gdeskos Jan 21, 2020
2af9f11
Adding a unit test for old div mesh vel
Jan 19, 2020
9141fe5
Unit test original GCL
sayerhs Jan 18, 2020
c44012c
Minor refactoring of the mesh motion creation logic
sayerhs Jan 18, 2020
9ecbce9
Add edge area vector options
sayerhs Jan 18, 2020
7899db2
Updating UnitTestGCL to use latest mesh velocity at faces
Jan 20, 2020
1e051d3
Removing old style testing of mesh vel div
Jan 20, 2020
b314bed
Moving mesh velocity tests to GCL class
Jan 20, 2020
967aceb
Modifying mdot edge alg to use mesh velocity at face
Jan 20, 2020
573a284
Modify ContinuityEdgeSolverAlg to use mesh velocity at face
Jan 20, 2020
9444094
Forgot to add header file for UnitTestGCL
Jan 20, 2020
be43f83
Updating Momentum BDF kernel to account for change in mesh volume
Jan 20, 2020
f9db71c
Scalar BDF kernel to account for change in mesh volume
Jan 20, 2020
f993832
Continuity BDF kernel to account for change in mesh volume
Jan 20, 2020
752d204
Remove unused variable
Jan 20, 2020
4296761
adding an interior deformation mesh motion class
Jan 17, 2020
3737950
adding computation of mesh velocity and cleaning up implementation
Jan 19, 2020
b431aa8
add break to switch statements
Jan 20, 2020
753a5d7
Project velocity if deforming mesh
sayerhs Jan 21, 2020
c56019d
Correct edge mesh velocity computation in parallel
Jan 21, 2020
4cbf313
initiating a wave gcl test
gdeskos Jan 21, 2020
07e7bc8
added a wave motion GCL unittest
gdeskos Jan 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,3 @@
path = reg_tests/mesh
url = https://github.com/Exawind/meshes.git
ignore = dirty
[submodule "wind-utils"]
path = wind-utils
url = https://github.com/Exawind/wind-utils.git
2 changes: 1 addition & 1 deletion include/Realm.h
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ class Realm {
ABLForcingAlgorithm *ablForcingAlg_;
BdyLayerStatistics* bdyLayerStats_{nullptr};
std::unique_ptr<MeshMotionAlg> meshMotionAlg_;

std::vector<Algorithm *> propertyAlg_;
std::map<PropertyIdentifier, ScalarFieldType *> propertyMap_;
std::vector<Algorithm *> initCondAlg_;
Expand Down
3 changes: 2 additions & 1 deletion include/edge_kernels/ContinuityEdgeSolverAlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,12 @@ class ContinuityEdgeSolverAlg : public AssembleEdgeSolverAlgorithm

private:
unsigned coordinates_ {stk::mesh::InvalidOrdinal};
unsigned velocityRTM_ {stk::mesh::InvalidOrdinal};
unsigned velocity_ {stk::mesh::InvalidOrdinal};
unsigned pressure_ {stk::mesh::InvalidOrdinal};
unsigned densityNp1_ {stk::mesh::InvalidOrdinal};
unsigned Gpdx_ {stk::mesh::InvalidOrdinal};
unsigned edgeAreaVec_ {stk::mesh::InvalidOrdinal};
unsigned edgeFaceVelMag_{stk::mesh::InvalidOrdinal};
unsigned Udiag_ {stk::mesh::InvalidOrdinal};
};

Expand Down
61 changes: 61 additions & 0 deletions include/edge_kernels/ScalarOpenEdgeKernel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Copyright 2017 National Technology & Engineering Solutions of Sandia, LLC
// (NTESS), National Renewable Energy Laboratory, University of Texas Austin,
// Northwest Research Associates. Under the terms of Contract DE-NA0003525
// with NTESS, the U.S. Government retains certain rights in this software.
//
// This software is released under the BSD 3-clause license. See LICENSE file
// for more details.
//

#ifndef SCALAROPENEDGEKERNEL_H
#define SCALAROPENEDGEKERNEL_H

#include "kernel/Kernel.h"
#include "KokkosInterface.h"
#include "FieldTypeDef.h"

namespace sierra {
namespace nalu {

class SolutionOptions;

template<typename BcAlgTraits>
class ScalarOpenEdgeKernel : public NGPKernel<ScalarOpenEdgeKernel<BcAlgTraits>>
{
public:
ScalarOpenEdgeKernel(
const stk::mesh::MetaData&,
const SolutionOptions&,
ScalarFieldType*,
ScalarFieldType*,
ElemDataRequests&);

KOKKOS_FORCEINLINE_FUNCTION
ScalarOpenEdgeKernel() = default;

KOKKOS_INLINE_FUNCTION
virtual ~ScalarOpenEdgeKernel() = default;

using Kernel::execute;

KOKKOS_FUNCTION
virtual void execute(
SharedMemView<DoubleType**, DeviceShmem>&,
SharedMemView<DoubleType*, DeviceShmem>&,
ScratchViews<DoubleType, DeviceTeamHandleType, DeviceShmem>&);

private:
unsigned scalarQ_ { stk::mesh::InvalidOrdinal };
unsigned bcScalarQ_ { stk::mesh::InvalidOrdinal };
unsigned openMassFlowRate_ {stk::mesh::InvalidOrdinal};

const DoubleType relaxFac_;

MasterElement* meFC_{nullptr};
};

} // nalu
} // sierra


#endif /* SCALAROPENEDGEKERNEL_H */
4 changes: 4 additions & 0 deletions include/mesh_motion/FrameBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ class FrameBase
{
}

stk::mesh::PartVector get_partvec() {
return partVec_;
};

protected:
//! Reference to the STK Mesh BulkData object
stk::mesh::BulkData& bulk_;
Expand Down
1 change: 1 addition & 0 deletions include/mesh_motion/FrameNonInertial.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class FrameNonInertial : public FrameBase
MotionBase::TransMatType compute_transformation(
const double,
const double*);

};

} // nalu
Expand Down
2 changes: 2 additions & 0 deletions include/mesh_motion/MeshMotionAlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ class MeshMotionAlg

void post_compute_geometry();

stk::mesh::PartVector get_partvec();

private:
MeshMotionAlg() = delete;
MeshMotionAlg(const MeshMotionAlg&) = delete;
Expand Down
65 changes: 65 additions & 0 deletions include/mesh_motion/MotionDeformingInterior.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#ifndef MOTIONDEFORMINGINTERIOR_H
#define MOTIONDEFORMINGINTERIOR_H

#include "MotionBase.h"

namespace sierra{
namespace nalu{

class MotionDeformingInterior : public MotionBase
{
public:
MotionDeformingInterior(
stk::mesh::MetaData&,
const YAML::Node&);

virtual ~MotionDeformingInterior()
{
}

virtual void build_transformation(const double, const double*);

/** Function to compute motion-specific velocity
*
* @param[in] time Current time
* @param[in] compTrans Transformation matrix
* for points other than xyz
* @param[in] mxyz Model coordinates
* @param[in] mxyz Transformed coordinates
*/
virtual ThreeDVecType compute_velocity(
const double time,
const TransMatType& compTrans,
const double* mxyz,
const double* cxyz );

/** perform post compute geometry work for this motion
*
* @param[in] computedMeshVelDiv flag to denote if divergence of
* mesh velocity already computed
*/
void post_compute_geometry(
stk::mesh::BulkData&,
stk::mesh::PartVector&,
stk::mesh::PartVector&,
bool& computedMeshVelDiv );

private:
MotionDeformingInterior() = delete;
MotionDeformingInterior(const MotionDeformingInterior&) = delete;

void load(const YAML::Node&);

void scaling_mat(const double, const double*);

ThreeDVecType xyzMin_;
ThreeDVecType xyzMax_;

ThreeDVecType amplitude_ = {{0.0,0.0,0.0}};
ThreeDVecType frequency_ = {{0.0,0.0,0.0}};
};

} // nalu
} // sierra

#endif /* MOTIONDEFORMINGINTERIOR_H */
11 changes: 11 additions & 0 deletions include/mesh_motion/MotionRotation.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@ class MotionRotation : public MotionBase
const double* mxyz,
const double* cxyz );

/** perform post compute geometry work for this motion
*
* @param[in] computedMeshVelDiv flag to denote if divergence of
* mesh velocity already computed
*/
void post_compute_geometry(
stk::mesh::BulkData&,
stk::mesh::PartVector&,
stk::mesh::PartVector&,
bool& computedMeshVelDiv );

private:
MotionRotation() = delete;
MotionRotation(const MotionRotation&) = delete;
Expand Down
65 changes: 65 additions & 0 deletions include/mesh_motion/MotionWaves.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#ifndef MOTIONWAVES_H
#define MOTIONWAVES_H

#include "MotionBase.h"

namespace sierra{
namespace nalu{

class MotionWaves : public MotionBase
{
public:
MotionWaves(
stk::mesh::MetaData&,
const YAML::Node&);

virtual ~MotionWaves()
{
}

virtual void build_transformation(const double, const double*);

/** Function to compute motion-specific velocity
*
* @param[in] time Current time
* @param[in] compTrans Transformation matrix
* for points other than xyz
* @param[in] mxyz Model coordinates
* @param[in] mxyz Transformed coordinates
*/
virtual ThreeDVecType compute_velocity(
const double time,
const TransMatType& compTrans,
const double* mxyz,
const double* cxyz );

/** perform post compute geometry work for this motion
*
* @param[in] computedMeshVelDiv flag to denote if divergence of
* mesh velocity already computed
*/
void post_compute_geometry(
stk::mesh::BulkData&,
stk::mesh::PartVector&,
stk::mesh::PartVector&,
bool& computedMeshVelDiv );

private:
MotionWaves() = delete;
MotionWaves(const MotionWaves&) = delete;

void load(const YAML::Node&);

void translation_mat(const ThreeDVecType&);

std::string waveModel_{"Sinusoidal_full_domain"};
double amplitude_{0.1};
double waveperiod_{1.0};
double wavelength_{1.0};
double sealevelz_{0.0};
};

} // nalu
} // sierra

#endif /* MOTIONWAVES_H */
3 changes: 3 additions & 0 deletions include/ngp_algorithms/GeometryAlgDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ class GeometryAlgDriver : public NgpAlgDriver
//! Reset fields before calling algorithms
virtual void pre_work() override;

//! Pre work for mesh motion
virtual void mesh_motion_prework();

//! Synchronize fields after algorithms have done their work
virtual void post_work() override;

Expand Down
3 changes: 2 additions & 1 deletion include/ngp_algorithms/MdotEdgeAlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,12 @@ class MdotEdgeAlg : public Algorithm

private:
unsigned coordinates_ {stk::mesh::InvalidOrdinal};
unsigned velocityRTM_ {stk::mesh::InvalidOrdinal};
unsigned velocity_ {stk::mesh::InvalidOrdinal};
unsigned pressure_ {stk::mesh::InvalidOrdinal};
unsigned densityNp1_ {stk::mesh::InvalidOrdinal};
unsigned Gpdx_ {stk::mesh::InvalidOrdinal};
unsigned edgeAreaVec_ {stk::mesh::InvalidOrdinal};
unsigned edgeFaceVelMag_{stk::mesh::InvalidOrdinal};
unsigned Udiag_ {stk::mesh::InvalidOrdinal};
unsigned massFlowRate_ {stk::mesh::InvalidOrdinal};
};
Expand Down
92 changes: 92 additions & 0 deletions include/ngp_algorithms/MeshVelocityAlg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
// Copyright 2017 National Technology & Engineering Solutions of Sandia, LLC
// (NTESS), National Renewable Energy Laboratory, University of Texas Austin,
// Northwest Research Associates. Under the terms of Contract DE-NA0003525
// with NTESS, the U.S. Government retains certain rights in this software.
//
// This software is released under the BSD 3-clause license. See LICENSE file
// for more details.
//

#ifndef MESHVELOCITYALG_H
#define MESHVELOCITYALG_H

#include "Algorithm.h"
#include "ElemDataRequests.h"
#include "FieldTypeDef.h"

#include "stk_mesh/base/Types.hpp"

namespace sierra {
namespace nalu {

class Realm;

template<typename AlgTraits>
class MeshVelocityAlg : public Algorithm
{
public:
MeshVelocityAlg(Realm&, stk::mesh::Part*);

virtual ~MeshVelocityAlg() = default;

virtual void execute() override;

private:
ElemDataRequests elemData_;

unsigned modelCoords_{stk::mesh::InvalidOrdinal};
unsigned currentCoords_{stk::mesh::InvalidOrdinal};
unsigned meshDispNp1_{stk::mesh::InvalidOrdinal};
unsigned meshDispN_{stk::mesh::InvalidOrdinal};
unsigned faceVelMag_{stk::mesh::InvalidOrdinal};
unsigned sweptVolumeNp1_{stk::mesh::InvalidOrdinal};
unsigned sweptVolumeN_{stk::mesh::InvalidOrdinal};

MasterElement* meSCS_{nullptr};

const double isoParCoords_[57] = {
0.00, -1.00, -1.00, // surf 1 1->2 0 8
1.00, 0.00, -1.00, // surf 2 2->3 1 9
0.00, 1.00, -1.00, // surf 3 3->4 2 10
-1.00, 0.00, -1.00, // surf 4 1->4 3 11
0.00, 0.00, -1.00, // 4 12
0.00, -1.00, 1.00, // surf 5 5->6 5 13
1.00, 0.00, 1.00, // surf 6 6->7 6 14
0.00, 1.00, 1.00, // surf 7 7->8 7 15
-1.00, 0.00, 1.00, // surf 8 5->8 8 16
0.00, 0.00, 1.00, // 9 17
1.00, -1.00, 0.00, // surf 10 2->6 10 18
-1.00, -1.00, 0.00, // surf 9 1->5 11 19
0.00, -1.00, 0.00, // 12 20
-1.00, 1.00, 0.00, // surf 12 4->8 14 21
1.00, 1.00, 0.00, // surf 11 3->7 13 22
0.00, 1.00, 0.00, // 15 23
1.00, 0.00, 0.00, // 16 24
-1.00, 0.00, 0.00, // 17 25
0.00, 0.00, 0.00, // 18 26
};

const int scsFaceNodeMap_[12][4] = {
{12, 0, 4, 18},
{16, 1, 4, 18},
{2, 4, 18, 15},
{3, 17, 18, 4},
{5, 12, 18, 9},
{9, 6, 16, 18},
{9, 7, 15, 18},
{8, 9, 18, 17},
{11, 12, 18, 17},
{12, 10, 16, 18},
{14, 15, 18, 16},
{13, 17, 18, 15}
};

double isoCoordsShapeFcn_[152];
};

} // nalu
} // sierra



#endif /* MESHVELOCITYALG_H */
Loading