Solve the equation system with just the penalization terms to find an implicit update for the IMEX timestepping procedure.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_material_type), | intent(in) | :: | material | Definition of the material, which directly describes the penalization. We expect the mask function Chi to be defined in materialdat(:,:,1), the obstacle velocity U_o in materialdat(:,:,2:nDims+1) and the obstacle Temperature T_o in materialdat(:,:,nDims+2). |
||
type(atl_euler_type), | intent(in) | :: | eqn | Definition of parameters in the Euler equations. This has to provide cv, the viscous permeability and the thermal permeability. |
||
real(kind=rk), | intent(in) | :: | weighted_dt | Timestep which is already weighted by the time integration scheme. |
||
integer, | intent(in) | :: | ndims | Number of dimensions, the equation system is computed in (2 or 3). |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj | Description of the projection for the material. |
||
real(kind=rk), | intent(inout) | :: | state(:,:,:) | The state variables of the equation system, they will be updated to the solution of the implicit computation for penalization. |
||
real(kind=rk), | intent(out) | :: | timestep_rhs(:,:,:) | Right hand side contribution by the implicit calculation. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iMatElem | ||||
integer, | private | :: | iElem | ||||
integer, | private | :: | iPoint | ||||
integer, | private | :: | iDir | ||||
integer, | private | :: | nElems | ||||
integer, | private | :: | nPoints | ||||
integer, | private | :: | nVars | ||||
real(kind=rk), | private, | parameter | :: | numzero | = | 8*tiny(weighted_dt) | |
real(kind=rk), | private | :: | inv_visc_perm | ||||
real(kind=rk), | private | :: | inv_thrm_perm | ||||
real(kind=rk), | private | :: | viscous_time_weight | ||||
real(kind=rk), | private | :: | thermal_time_weight | ||||
real(kind=rk), | private | :: | viscous_fact | ||||
real(kind=rk), | private | :: | thermal_fact | ||||
real(kind=rk), | private | :: | Chi | ||||
real(kind=rk), | private | :: | U_o(3) | ||||
real(kind=rk), | private | :: | T_o | ||||
real(kind=rk), | private | :: | relvel | ||||
real(kind=rk), | private, | allocatable | :: | modalCoeff(:,:) | |||
real(kind=rk), | private, | allocatable | :: | modalCoeff_cur(:,:) | |||
real(kind=rk), | private, | allocatable | :: | pointVal(:,:) | |||
real(kind=rk), | private, | allocatable | :: | cur(:,:) | |||
real(kind=rk), | private, | allocatable | :: | velocity(:,:) | |||
real(kind=rk), | private, | allocatable | :: | velmag(:) | |||
real(kind=rk), | private, | allocatable | :: | temperature(:) |