Skip to content

FPO Maxima Scripts - #58

Open
jmrodman wants to merge 48 commits into
mainfrom
fpo
Open

FPO Maxima Scripts#58
jmrodman wants to merge 48 commits into
mainfrom
fpo

Conversation

@jmrodman

@jmrodman jmrodman commented Feb 8, 2025

Copy link
Copy Markdown
Collaborator

All of the Maxima scripts to generate the FPO kernels for gkylzero.

pcagas and others added 30 commits July 25, 2022 15:12
…repo together with a script to test against them
…ght location in the output array. And doExpand -> doExpand1 error
…ients from input H and G potentials. Currently only calculates diagonal terms of diffusion tensor, need to add 6-cell recovery to calculate cross terms. Boundary surface terms use surface expansions of corresponding derivatives in the recovery (drag coeff uses dh/dv and diff coeff uses d2g/dv2). Also will need to be updated to support hybrid basis for p=1.
…e working. Committing to save work before refactoring to align with Mana's FEM Poisson kernel generation
Resolve conflicts
… for velocity space. Domain volume, edges, and corners are now all generated through the same script.
…agonal terms of the tensor by integrating by parts twice to match the cross terms. Cell averages look great and individual components are smooth, but solutions are oscillatory when interpolated.
…r. Updating drag coefficient kernels to also use the same domain stencil indexing. Removing old scripts that used the old way.
…hange to recovery-face that allows specifying bcs or bc as boundary conditions for one side of the 6-cell recovery
…ling errors and an incorrect derivative. Also, being responsible and blocking local variables in the kernel gen functions
John Rodman added 15 commits May 6, 2024 11:56
…fusion surface kernels now include both surface and volume contributions. Need to update boundary surface terms to match domain volume updates.
…l stencil is oriented such that the `x` direction (left/center/right) is along the lower variable, and the `y` direction (bottom/center/top) is along the upper variable. For example, if the center cell is (2,2), for both vxvy and vyvx kernels, cell CL is (1,2) and cell CR is (3,2). This method works more naturally with how Gkeyll indexes through arrays
…th what's in the FPO kernels in g0. There are still some questions about whether or not how I'm doing the diffusion off-diagonal updates is redundant, but this works for now.
… a change in the 1-cell recovery script to get things working (seems like this was abandoned a long time ago). Left GK portion untouched because I'm not familiar with it. Also adjusted diffusion coefficient calculation. For some reason I was still using 6-cell with BCs at the boundaries, but 2-cell works fine and is faster. This is also what we do in the diffusion term update
… hybrid. This caused much mental anguish. The script is changed now to use hybrid for p1 serendipity.
@jmrodman
jmrodman requested a review from JunoRavin February 8, 2025 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants