From a36d485394e50cf41faf1719b607a7aa917cafcc Mon Sep 17 00:00:00 2001 From: Joern Behrens <joern.behrens@uni-hamburg.de> Date: Tue, 8 Feb 2022 14:30:33 +0100 Subject: [PATCH] minor changes in initialization --- .../options-sphere/SLM_initial_stacked.f90 | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/flash2d/src/options-sphere/SLM_initial_stacked.f90 b/flash2d/src/options-sphere/SLM_initial_stacked.f90 index 566891c..0c9ffa9 100644 --- a/flash2d/src/options-sphere/SLM_initial_stacked.f90 +++ b/flash2d/src/options-sphere/SLM_initial_stacked.f90 @@ -193,9 +193,9 @@ IMPLICIT NONE - TYPE (grid_handle), INTENT(in) :: p_ghand + TYPE (grid_handle), INTENT(in) :: p_ghand REAL (KIND = GRID_SR), INTENT(in) :: r_time - INTEGER, INTENT(in) :: i_arlen + INTEGER, INTENT(in) :: i_arlen REAL (KIND = GRID_SR), DIMENSION(i_arlen), INTENT(out) :: r_array REAL (KIND = GRID_SR), DIMENSION(GRID_dimension) :: r_centr REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_sentr=(/ 0.0, 0.0 /) @@ -203,10 +203,11 @@ REAL (KIND = GRID_SR), DIMENSION(GRID_dimension) :: r_tmp INTEGER :: i_count, i_num, i_alct REAL (KIND = GRID_SR), DIMENSION(:,:), ALLOCATABLE :: r_coo + REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_spher !---------- calculate center ! CAUTION: THIS IS NOT IMPLEMENTED YET !!! - r_centr= grid_geokart(r_sentr) +! r_centr= grid_geokart(r_sentr) !---------- allocate workspace @@ -232,7 +233,8 @@ !---------- loop over the nodes node_loop: DO i_count= 1, i_num - r_array(i_count)= coshill(r_coo(:,i_count),r_centr) + r_spher = grid_kartgeo(r_coo(:,i_count)) + r_array(i_count)= coshill(r_spher, r_sentr) END DO node_loop !---------- deallocate workspace @@ -259,10 +261,11 @@ REAL (KIND = GRID_SR), DIMENSION(:,:), ALLOCATABLE :: r_aux REAL (KIND = GRID_SR), DIMENSION(:,:), ALLOCATABLE :: r_coo INTEGER (KIND = GRID_SI), DIMENSION(1) :: i_valind + REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_spher !---------- get center - r_centr= grid_geokart(r_sentr) +! r_centr= grid_geokart(r_sentr) !---------- allocate workspace @@ -283,15 +286,16 @@ !---------- compute radii of initial ball-type cosine hill density... -! i_ind = max(4 - abs(floor(0.5*i_stcnumlayers)-i_lay),0) -! r_rds = (GRID_RADIUS/ 6.0)*i_ind/4 + i_ind = max(4 - abs(floor(0.5*i_stcnumlayers)-i_lay),0) + r_rds = (1.0/ 6.0)*i_ind/4 r_aux = 0. IF ((i_lay .GE. 2) .AND. (i_lay .LE. i_stcnumlayers -2)) then !---------- loop over the nodes node_loop: DO i_count= 1, i_num - r_aux(1,i_count)= coshill(r_coo(:,i_count),r_centr, r_radius=r_rds) + r_spher = grid_kartgeo(r_coo(:,i_count)) + r_aux(1,i_count)= coshill(r_spher, r_sentr, r_radius=r_rds) END DO node_loop END IF @@ -314,14 +318,14 @@ !---------- local declarations IMPLICIT NONE - REAL (KIND = GRID_SR), DIMENSION(GRID_dimension) :: r_coor - REAL (KIND = GRID_SR), DIMENSION(GRID_dimension) :: r_centr + REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_coor + REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_centr REAL (KIND = GRID_SR), OPTIONAL :: r_radius REAL (KIND = GRID_SR) :: r_hill REAL (KIND = GRID_SR) :: r_maxheight=1.0 REAL (KIND = GRID_SR) :: r_maxrad REAL (KIND = GRID_SR) :: r_dist, r_tmp - REAL (KIND = GRID_SR), DIMENSION(GRID_dimension) :: r_xy + REAL (KIND = GRID_SR), DIMENSION(GRID_dimspherical) :: r_xy !---------- watch out for optional argument -- GitLab