oj-lappi / astaroth_dummy_repo

1 stars 1 forks source link

DSL: Implementation of shock viscosity #5

Open oj-lappi opened 3 years ago

oj-lappi commented 3 years ago

Skeleton of shock_highorder (by Matthias)

Initialization:

precalculate smooth kernel allocate additional vertex buffer for variable 'shock' (communicated) (DSL: v)

Calculation of shock:

update ghost zones for all variables (Library: v) shock = div(u) (DSL: v)

update ghost zones for shock shock = maximum_over_cubicle(shock) (needs second buffer; Library: v)

update ghost zones for shock shock = smooth_over_cubicle(shock) (needs second buffer)

rescale: shock = shock*dxmin**2 (DSL: v)

Calculation of viscous force:

nu_shock(shock(div(u)grad(lnrho)+grad(div(u)))+div(u)grad(shock)) (DSL: v)

miikkavaisala commented 3 years ago

Shock viscosity is there and it survives common sense level of testing.

What we will need is a way to embed it into parallel framework, as now it only work on single GPU.