Commit Graph
45 Commits
Author SHA1 Message Date
camierjs 351806ce77 [MemorySanitizer] use-of-uninitialized-value InvTNewtonSolverBase 2025-06-19 10:59:27 -07:00
Andrew Ho 537112ebb8 cleaned up kernel specialization registration
Added assert for unsupported NewtonSegmentProject
2025-03-28 16:03:33 -07:00
Andrew Ho 2ce31f6841 one more old code comment 2025-03-28 13:01:10 -07:00
Andrew Ho 6859612af9 cleanup old code 2025-03-28 12:58:47 -07:00
Andrew Ho d9d963cc88 Address review comments
- changed use_dev to use_device
- added a way to directly set initial guess order rather than have
  relative order only
- cleanup newton solves
- updated some documentation
2025-03-28 12:47:49 -07:00
Andrew Ho e386c1a655 Default to closed uniform points for edgescan if btype is invalid
Update documentation
2025-03-17 13:33:07 -07:00
Andrew Ho 2ced1ceb84 Re-arranged interface to UpdateNodes from a GridFunction
Added tests for 2D embedded in 3D and 3D mesh
2025-03-12 17:42:45 -07:00
Andrew Ho cd799dba86 removed ::mfem in batchitrans
isn't needed here
2025-03-12 11:32:21 -07:00
Andrew Ho 00008800b8 fixed typo 2025-03-12 11:11:29 -07:00
Andrew Ho 52c1a3c0b8 fixed element dof indexing 2025-02-24 12:16:38 -08:00
Andrew Ho 83f553f4a9 fixed non-power of 2 team sizes
these fail during the tree reduction steps
2025-02-24 02:14:44 -08:00
Andrew Ho bcde2ec4f1 fixed step counting in findpts for some cases 2025-02-21 06:51:50 -08:00
Andrew Ho cdbc8c710c implemented iteration count tracking in findpts and batch element transformations 2025-02-20 18:57:47 -08:00
Andrew Ho c75c5f2ea8 added optimization for guesses co-located at dofs
this matches findpts, seems like a worthwhile performance upgrade in
most situations over center
2025-02-20 05:15:46 -08:00
Andrew Ho 34ea1d5b07 fixed batch edgescan
Adding a native nodal DOFs init guess type would work well for some elements
2025-02-19 20:58:58 -08:00
Andrew Ho d1f560d652 implemented batch edgescan
Could have a smarter traversal order
2025-02-19 17:29:40 -08:00
Andrew Ho 8048e1d433 return the element result from InvTNewtonSolver
this allows an EdgeScan to re-use the same solver code
2025-02-19 15:10:22 -08:00
Andrew Ho c322d7cbb0 using max_q1d speeds up physnode initial guess finder 2025-02-19 01:59:17 -08:00
Andrew Ho baa2c246f9 changed newtonsolve parallelization strategy
uses a lot less shared memory, hopefully performs better. Need to tune
max_team_x.
2025-02-18 17:57:47 -08:00
Andrew Ho 337dd7c274 changed loop order
try to improve memory access pattern
2025-02-15 08:26:58 -08:00
Andrew Ho 6f3ecfe129 fixed 3d cube linsolve 2025-02-14 20:27:40 -08:00
Andrew Ho ccdaa48f69 batch inverse element transformation should now work for all square and cube element geometries
assumes that evaluating at GLL nodes is equivalent, which I think for
NURBS meshes is not true
2025-02-14 12:32:09 -08:00
Andrew Ho 490b60c272 re-arrangement to make doxygen happy 2025-02-14 00:01:53 -08:00
Andrew Ho 9aaa7f13a3 fixed -Wall -Werror for some config options 2025-02-13 16:46:51 -08:00
Andrew Ho 07605d3097 fixed compile bugs wtih various configurations 2025-02-13 14:58:55 -08:00
Andrew Ho 02aed483e6 fixed newtonsolver 2025-02-13 09:20:16 -08:00
Andrew Ho facb0b5434 implemented newtonproject solves 2025-02-12 22:25:00 -08:00
Andrew Ho cb32b5ee8e implemented square element newton project solve 2025-02-12 21:00:46 -08:00
Andrew Ho cd50b6b806 setup infrastructure for calling newtonsolve
still need to implement remaining specializations
2025-02-12 13:40:44 -08:00
Andrew Ho 74ef6490a7 implemented elementproject for segments 2025-02-12 13:09:14 -08:00
Andrew Ho f963df773c implemented raw newton solve for segments 2025-02-12 12:52:33 -08:00
Andrew Ho 31786ff0e0 enabled specifying 1D forall thread block size
left as an optional param
2025-02-12 11:15:41 -08:00
Andrew Ho 3c17ed88c5 fixed some bugs
switched qaud1d type with basis type
fixed computing coordinate interpolation not summing basis values
2025-02-11 11:56:25 -08:00
Andrew Ho 0a754a78b9 implemented tensor basis optimization 2025-02-11 11:11:34 -08:00
Andrew Ho 35f508ca8c fixed bugs in batch closestphysnode kernel
still could perform better...
2025-02-11 00:31:06 -08:00
Andrew Ho acea00376b fixed serial reduction save index
should be the thread x id, not just i
2025-02-10 12:36:27 -08:00
Andrew Ho 13fed2e691 implemented PhysNodeFinder for tensor elements 2025-02-10 12:25:19 -08:00
Andrew Ho 1332ba5ee7 stride_sdim needs all element dofs, not just ndof1d 2025-02-10 12:17:14 -08:00
Andrew Ho a252286472 implemented ClosestPhysNodeImpl for segments in SDim 2025-02-10 12:10:31 -08:00
Andrew Ho 8bab223de4 switched init condition kernels to template on geometry instead of dim 2025-02-10 11:52:33 -08:00
Andrew Ho 96392055d6 think I want separate kernels per geometry shape 2025-02-10 10:13:53 -08:00
Andrew Ho 36f1b769c5 specialize on device vs. non-device 2025-02-09 08:36:30 -08:00
Andrew Ho 3e074b3c7e implemented refinement points for batch itransform 2025-02-09 08:31:24 -08:00
Andrew Ho d8773cad73 initialize batch inverse transformation kernels in setup
this is guaranteed to be called before the kernels are used
2025-02-09 07:44:14 -08:00
Andrew Ho b1f7cb2766 moved batch inverse transform implementation into separate cpp file 2025-02-09 07:34:37 -08:00