Closed dreamer2368 closed 2 years ago
@dreamer2368, just a head's up that I have landed some modifications to the CI setup on this branch. In particular, the supporting docker container environment derived from docker/test/Dockerfile
will be built automatically when the file is changed and then subsequently used in later tests. The image is hosted by a new account and is available as pecosut/tps_env:latest
. I had to refactor things and merge two of our previous workflows so you should only see one top-level CI event kicked off.
It looks to be working ok now and pulls in your updated MASA version. When you are happy with the remaining PR, we can merge.
@koomie , it looks good to me. A question is, when a PR updates the container (presumably as pecosut/tps_env:latest
), is this updated container reflected to the main CI test before the merge, or only after the PR is merged? Another way to put it is, do these two branches use the same tag of the container or separate tags specified for each branch?
Regardless of the answer, i think the current PR is sufficient to merge to main.
@koomie , it looks good to me. A question is, when a PR updates the container (presumably as
pecosut/tps_env:latest
), is this updated container reflected to the main CI test before the merge, or only after the PR is merged? Another way to put it is, do these two branches use the same tag of the container or separate tags specified for each branch?Regardless of the answer, i think the current PR is sufficient to merge to main.
Once this is landed, the main
branch will also use the same container. In the current config, the container is updated by the PR and will should be rebuilt again when it lands on main
. In general, it will be the exact same container, so we waste a few minutes doing it again, but this allows you to update the container and test the PR.
WallBC
have an option for general wall condition.heavy_thermal_condition
only takesisothermal
andadiabatic
. Ifisothermal
,temperature
also must be specified.electron_thermal_condition
takesisothermal
,adiabatic
, andsheath
.electron_thermal_condition
is only effective forsheath
, prescribing diffusion fluxes. Other conditions will be ignored and zero diffusion fluxes will be set.WallBC::computeGeneralWallFlux
prescribes the boundary condition according to the data-typesBoundaryPrimitiveData
andBoundaryViscousFluxData
.BoundaryPrimitiveData
has aVector prim
, which has the same structure as primitive variable.Array<bool> primIdxs
specifies which components are prescribed and replaced in boundary flux computation.BoundaryViscousFluxData
has a similar structure toBoundaryPrimitiveData
, havingVector primFlux
andArray<bool> primFluxIdxs
. Just as the state variable, boundary condition for viscous flux is also specified with primitives, such as diffusion velocity, stress and heat fluxes.Vector primFlux
has the following structure:numSpecies
components: species diffusion velocitiesnvel
components: viscous stressGasMixture::modifyStateFromPrimitive
andFluxes::ComputeBdrViscousFluxes
replace state or viscous flux with the prescribed boundary conditions. In principle, these can be used for all boundary conditions; however, currently the use ofGasMixture::modifyStateFromPrimitive
is limited toWallBC::computeGeneralWallFlux
to avoid any inadvertent changes in the existing simulations.gradUp
or the resultant viscous flux. Therefore,Fluxes::ComputeBdrViscousFluxes
replaced viscous flux handling of all wall boundary conditions. This did not affect any of the existingDryAir
CI tests.mms.general_wall.test
checks:Fluxes::ComputeBdrViscousFluxes
compared toFluxes::ComputeViscousFluxes
in any random normal directionternary_2d_ambipolar_wall
andternary_2d_sheath
.utils/compute_rhs
.utils/compute_rhs
shows different convergence behaviors depending on mesh geometry type or basis. It is not clear whether this issue only belongs toutils/compute_rhs
or the entire code. Also, it is independent of boundary condition. While this issue will be further pursued in the separate branchcompute_rhs
, the test uses a verified basis and geometry type (Legendre / quadrilateral element).