Skip to content

Conversation

@hyeoksu-lee
Copy link
Contributor

  • Added a case file for 3d turbulent mixing layer to 'examples' directory.
    
  • Added global input parameters 'vel_profile' and 'instability_wave'. Both are designed for a mixing layer with hypertangent mean streamwise velocity profile only. For other types of mean velocity profile or instability waves, the code should be modified.
    
  • To solve an eigenvalue problem for complex general matrix, a few subroutines are imported from EISPACK.
    

@sbryngelson
Copy link
Member

aside from my comments above, you should also add documentation about these input parameters (and how to use them) in https://github.com/MFlowCode/MFC/blob/master/docs/documentation/case.md

+ (1d0 - eta)*orig_prim_vf(i + cont_idx%end))
end do

if (vel_profile) then
Copy link
Member

Choose a reason for hiding this comment

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

please indent this correctly

Copy link
Member

Choose a reason for hiding this comment

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

please use a comment to describe what this is doing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!


parallel_io = .false.
precision = 2
vel_profile = .false.
Copy link
Member

Choose a reason for hiding this comment

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

please indent this correctly

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!

integer :: precision !< Precision of output files

! Hypertangent velocity profile
logical :: vel_profile
Copy link
Member

Choose a reason for hiding this comment

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

please indent this correctly

Copy link
Member

Choose a reason for hiding this comment

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

this isn't how you use doxygen. please use follow the pattern above, like so: logical :: vel_profile !< Hypertangent velocity profile

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!


end subroutine s_perturb_surrounding_flow ! ----------------------------

subroutine s_superposition_instability_wave() ! ------------------------------
Copy link
Member

Choose a reason for hiding this comment

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

does this only work in 2D or 3D? if so, this should be added to the startup checks in m_checker.f90 (or whatever the file is called) so that you cannot run instability_wave on a 1D problem.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, this is only work in 2D and 3D. I added checks in m_checker.f90 to prevent running on a 1D case.

ci=0d0
do j=0,n
ii = 1; jj = 1; br((ii-1)*(n+1)+j,(jj-1)*(n+1)+j) = alpha*u_mean(j);
ii = 1; jj = 2; br((ii-1)*(n+1)+j,(jj-1)*(n+1)+j) = alpha*rho_mean(j);
Copy link
Member

Choose a reason for hiding this comment

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

please indent consistently

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done


end subroutine s_instability_wave

subroutine generate_wave(nl,vnr,vni,alpha,beta,wave,shift)
Copy link
Member

Choose a reason for hiding this comment

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

documentation needed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added documentation on it.

integer i,j,k

do i=0,m
do j=0,n
Copy link
Member

Choose a reason for hiding this comment

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

indent correctly

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!

! 6) cdiv
! 7) pythag
!====================================================================
subroutine cg(nm,nl,ar,ai,wr,wi,zr,zi,fv1,fv2,fv3,ierr)
Copy link
Member

Choose a reason for hiding this comment

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

these routines should live in a separate module so they do not pollute this one. probably in the commmon/ directory.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

All subroutines for solving the eigenvalue problem are moved to m_eigen_solver.f90 in common directory.

@sbryngelson sbryngelson removed the request for review from henryleberre March 26, 2023 18:07
@sbryngelson
Copy link
Member

@hyeoksu-lee
Copy link
Contributor Author

Please add documentation about this feature in https://github.com/MFlowCode/MFC/blob/master/docs/documentation/case.md?rgh-link-date=2023-03-26T18%3A06%3A29Z

I updated case.md file to include documentation about the new feature.

@sbryngelson sbryngelson merged commit 7e48c50 into MFlowCode:master Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants