Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSPH module #94

Merged
merged 77 commits into from
Oct 15, 2021
Merged

GSPH module #94

merged 77 commits into from
Oct 15, 2021

Conversation

jmpearl
Copy link
Collaborator

@jmpearl jmpearl commented Oct 5, 2021

Convolution - Free GSPH module.

This is currently only for fluids. An HLLC appox Riemann solver replaces aritficial viscosity and creates a interface velocity to resolve contact discontinuities. User can select the limiter and wave speed method. A bunch of options are included for what gradient is used to reconstruct the interface state.

This is just to test everything is working as it was before with the parsed out module. ApproxReimannSolvers will get their own class
added back in eps0 field and all the bc things that make compatible energy work. The compatible might be necessary for RSPH when pairwise DepsDt might have different sign. HLLC solver: gave the linear interface construction its own funcs and now applying linear construction to the pressure field
getting some oscillations on order of the kernel length w/ cfl = 0.25, goes away at cfl 0.5. Possible because using old DvDx DpDx
M corr added to continuity, DpDx and DvDx for approx reimann solver, energy conservation, and conservation of momentum. M corr on coon-mo wont conserve rotational momentum as force no longer acts on line of action
this adds extra dissiplation for high mach # impacts necessary for preventing interpenetration
compatible energy is weighted based on the pairwise DepsDt. Wave speed based on davis/einfeldt min/max strategy for larger Riemann presure when impacting
limiting based on the GSPH velocity gradient created too much diffusion at the FSI. Changed to using the raw SPH velocity gradient to determine velocity slope limiter and then apply that to the GSPH velocity gradient. Pressure gradient changed to the raw SPH version for now (this will need to be adjusted to deal with flows w/ gravitation).
For GSPH we need to allow pairwise internal energy DDts to be opposite signs. To do this we use basically the same compatible energy formulation but the difference between the eval-derivs calculated pairwise work (from DepsDti DepsDtj) and the conservative pairwise work (from acceleration) is used instead of the total pairwise work. This difference is subtracted from DepsDti & j to enforce conversation. The quantity subtracted is weighted by magnitude of DepsDti & j
…tion added, attempted a volume correction

seems like using DvDt from past step for DpDx and last stemp DvDx works best for sedov type problems. The volume correction helps with volume conservation but lead to poor performance on sedov shock tests. The density sum with ASPH allowed for lower neighbor counts nPerh~2.5
modificaiton to DrhoDx calc is rolled into this
@jmpearl jmpearl marked this pull request as draft October 5, 2021 01:10
@jmpearl jmpearl marked this pull request as ready for review October 7, 2021 18:21
@jmpearl jmpearl requested a review from jmikeowen October 7, 2021 18:21
Copy link
Collaborator

@jmikeowen jmikeowen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a whole lot of new code here -- I gotta admit I'm curious to try out the Riemann variation here.

@jmikeowen jmikeowen merged commit 09e8150 into develop Oct 15, 2021
@jmpearl jmpearl deleted the RSPH branch October 15, 2021 18:40
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.

2 participants