A description of the sum factorization trick for finite elements and the conditions for when it can be used effectively.
A description of the sum factorization trick for finite elements and the conditions for when it can be used effectively.
How to approximate the derivative of mesh-generation when explicitly parameterizing designs through level set functions
On writing/optimizing CUDA kernels for a Finite Element library
An overview of how to use graphs to implement forward and reverse mode differentiation.
Simulation of packing spherical conductive particles and calculating effective resistance.
On combining primitive shapes with smoothed boolean operations, and how to mitigate some of the problems that arise.
Slides from a presentation describing how to improve CPU performance through vectorization
An overview of the "universal mesh" algorithm for creating quality simplex meshes of implicitly-defined regions.
A reference containing information about periodic surfaces suitable for infill structure in 3D printed parts.
Different methods of enforcing simple constraints on ODEs can impose additional stability criteria.
This document investigates the effectiveness of multigrid when used on a nonconforming hierarchy of unstructured meshes.
An algorithm for coarsening simplex meshes, to enable multigrid methods with unstructured meshes.
A simple iterative procedure for improving element quality of finite element meshes.
How to speed up Mathematica notebooks by calling through to functions in C++ libraries
Gauss is said to have found an elegant visual proof for summing integers. Does a similar idea work for summing perfect squares?
What sound does a coffee mug make when you tap it with a spoon? In this post, we write a small 2D finite element code in Mathematica to simulate a coffee cup vibrating.
This document demonstrates how in some cases, eliminating template parameters can significantly reduce compile time and binary size, while retaining performance parity.
Compiler Explorer is a great tool for prototyping and understanding code snippets, and running a local instance can make it even more flexible and responsive.
CMake's ExternalData provides a way for projects to download large data files just-in-time, rather than putting them directly in a git repo or project tarball. This feature doesn't seem to be used very often, so this is an example project showing how to set it up.
Basic rigid body physics for accurate predictions of the ball’s trajectory.
Improve ball simulation by using the collision meshes in Rocket League.
A predictive model for the ball's response when hit by a car.
How to simulate the car's response to user inputs while in the air.
How to figure out the user's inputs from a car's aerial trajectory.
How to simulate the car's response to user inputs while on the ground.
How to analyze paths to determine shortest arrival time, possible arrival speeds, and boost usage.
How to make your Rocket League bot reliably hit aerials.