------------------------------------------------------------------------ r124 | guilherme | 2012-10-31 09:53:38 -0200 (Qua, 31 Out 2012) | 19 lines The boundary condition n . grad u = 0 was applied on the west boundary considering both the ksi and eta derivatives, unlike the previous revision that considered only the derivative relatively to ksi. The derivative of u relatively to eta was approximated by if j = 2, then u_eta = 0.5d0 * ( - u(npnne) + 4.d0 * u(npne) - 3.d0 * u(npe) ) if j = ny-1, then u_eta = 0.5d0 * ( u(npsse) - 4.d0 * u(npse) + 3.d0 * u(npe) ) if 3 <= j <= ny-2 u_eta = 0.5d0 * ( u(npne) - u(npse) ) In these approximations, no fictitious volumes were considered. The program converged. ------------------------------------------------------------------------ r123 | guilherme | 2012-10-31 08:48:57 -0200 (Qua, 31 Out 2012) | 1 line Bug fixed: In the previous revision the boundary condition was applied only for v, while it should be applied to u and v. This problem was fixed in this revision. ------------------------------------------------------------------------ r122 | guilherme | 2012-10-30 15:40:56 -0200 (Ter, 30 Out 2012) | 28 lines The boundary condition u . grad phi = 0 for the components u and v of the velocity vector on the east boundary was approximated until the previous revision as diff( phi, ksi) = 0, neglecting the derivative relatively to eta. In this revision the correct boundary condition was applied using the following approximation to phi_eta = diff( phi, eta): if j = 2, then u_eta = 0.5d0 * ( - u(npnnw) + 4.d0 * u(npnw) - 3.d0 * u(npw) ) v_eta = 0.5d0 * ( - v(npnnw) + 4.d0 * v(npnw) - 3.d0 * v(npw) ) if j = ny-1, then u_eta = 0.5d0 * ( 3.d0 * u(npw) - 4.d0 * u(npsw) + u(npssw) ) v_eta = 0.5d0 * ( 3.d0 * v(npw) - 4.d0 * v(npsw) + v(npssw) ) if 3 <= j <= ny-2 u_eta = 0.5d0 * ( u(npnw) - u(npsw) ) v_eta = 0.5d0 * ( v(npnw) - v(npsw) ) In these approximations no fictitious volumes are used. The extrapolation to the fictitious volumes follows the same scheme. On the west boundary, the velocities ue and ve are calculated by simple mean. The program converged. ------------------------------------------------------------------------ r121 | guilherme | 2012-10-30 14:59:31 -0200 (Ter, 30 Out 2012) | 50 lines The boundary condition for u and v on the south boundary was modified. In the previous revision the velocity on the boundary was assumed equal to the velocity on the node of volume P. This may be inconsistent because the velocity on the boundary must be tangent to the boundary, while this may not accur to the velocity at the node of the volume P. The new boundary condition is given by ! South boundary (for u) j = 1 do i = 2, nx-1 np = nx * (j-1) + i npn = np + nx a(np,:) = 0.d0 a(np,8) = 1.d0 a(np,5) = 1.d0 aux = sqrt( ( u(npn)**2 + v(npn)**2 ) / ( xk(np)**2 + yk(np)**2 ) ) & * sign( 1.d0, u(npn) * xk(np) + v(npn) * yk(np) ) b(np) = 2.d0 * aux * xk(np) end do and ! South boundary (for v) j = 1 do i = 2, nx-1 np = nx * (j-1) + i npn = np + nx a(np,:) = 0.d0 a(np,5) = 1.d0 a(np,8) = 1.d0 aux = sqrt( ( u(npn)**2 + v(npn)**2 ) / ( xk(np)**2 + yk(np)**2 ) ) & * sign( 1.d0, u(npn) * xk(np) + v(npn) * yk(np) ) b(np) = 2.d0 * aux * yk(np) end do The extrapolation to the fictitious volumes and the calculation of the velocities on the boundary faces follow the same rule. The program converged. ------------------------------------------------------------------------ r120 | guilherme | 2012-10-29 18:19:01 -0200 (Seg, 29 Out 2012) | 19 lines The boundary condition u . grad p = 0 for the pressure p on the east boundary was approximated taking into account the derivative of p relatively to ksi and eta. Until de previous revision, only the derivative relatively to ksi was considered. The derivative relatively to eta was given by if j = 2, then pe = ( -p(npnnw) + 4.d0 * p(npnw) - 3.d0 * p(npw) ) / 2.d0 if j = ny-1, then pe = ( 3.d0 * p(npw) - 4.d0 * p(npsw) + p(npssw) ) / 2.d0 if 3 <= j <= ny-2, then pe = ( p(npnw) - p(npsw) ) / 2.d0 With this scheme no fictitious volumes are used. The program converged. ------------------------------------------------------------------------ r119 | guilherme | 2012-10-29 17:35:28 -0200 (Seg, 29 Out 2012) | 19 lines The boundary condition n . grad p = 0 for the pressure p on the west boundary was approximated taking into account the derivative of p relatively to ksi and eta. Until de previous revision, only the derivative relatively to ksi was considered. The derivative relatively to eta was given by if j = 2, then pe = ( -p(npnne) + 4.d0 * p(npne) - 3.d0 * p(npe) ) / 2.d0 if j = ny-1, then pe = ( 3.d0 * p(npe) - 4.d0 * p(npse) + p(npsse) ) / 2.d0 if 3 <= j <= ny-2, then pe = ( p(npne) - p(npse) ) / 2.d0 With this scheme no fictitious volumes are used. The program converged. ------------------------------------------------------------------------ r118 | guilherme | 2012-10-29 16:03:09 -0200 (Seg, 29 Out 2012) | 17 lines The boundary condition n . grad p = 0 for the pressure p on the south boundary was approximated taking into account the derivative of p relatively to ksi and eta. Until de previous revision, only the derivative relatively to eta was considered. The derivative relatively to ksi was given by if i = 2, then pk = ( - p(npnee) + 4.d0 * p(npne) - 3.d0 * p(npn) ) / 2.d0 if i = nx-1, then pk = ( 3.d0 * p(npn) - 4.d0 * p(npnw) + p(npnww) ) / 2.d0 if 3 <= i <= nx-2, then pk = ( p(npne) - p(npnw) ) / 2.d0 ------------------------------------------------------------------------ r117 | guilherme | 2012-10-27 21:01:41 -0200 (Sáb, 27 Out 2012) | 24 lines The boundary condition u . grad T = 0 for the temperature T on the east boundary was approximated until the previous revision as diff( T, ksi) = 0, neglecting the derivative relatively to eta. In this revision the correct boundary condition was applied using the following approximation to Te = diff( T, eta): if j = 2, then Te = 0.5d0 * ( - T(npnne) + 4.d0 * T(npne) - 3.d0 * T(npe) ) if j = ny-1, then Te = 0.5d0 * ( T(npsse) - 4.d0 * T(npse) + 3.d0 * T(npe) ) if 3 <= j <= ny-2 Te = 0.5d0 * ( T(npne) - T(npse) ) In these approximations no fictitious volumes are used. The program converged. ------------------------------------------------------------------------ r116 | guilherme | 2012-10-27 15:23:59 -0200 (Sáb, 27 Out 2012) | 15 lines Another approximation to the derivative of T relatively to eta (on the west boundary) was applied as an attempt to overcome the divergence. The approximation is if j = 2, then Te = 0.5d0 * ( - T(npnne) + 4.d0 * T(npne) - 3.d0 * T(npe) ) if j = ny-1, then Te = 0.5d0 * ( T(npsse) - 4.d0 * T(npse) + 3.d0 * T(npe) ) if 3 <= j <= ny-2 Te = 0.5d0 * ( T(npne) - T(npse) ) With this new approximation the convergence was obtained. It is important to note that the approximation applied does not use the fictitious volumes. ------------------------------------------------------------------------ r115 | guilherme | 2012-10-27 14:16:29 -0200 (Sáb, 27 Out 2012) | 15 lines Another approximation to the derivative of T relatively to eta (on the west boundary) was applied as an attempt to overcome the divergency. The approximation is if j = 2, then Te = 0.25d0 * ( -( T(npnn) + T(npnne) ) + 4.d0 * ( T(npn) + T(npne) ) - 3.d0 * ( T(np) + T(npe) ) ) if j = ny-1, then Te = 0.25d0 * ( ( T(npss) + T(npsse) ) - 4.d0 * ( T(nps) + T(npse) ) + 3.d0 * ( T(np) + T(npe) ) ) if 3 <= j <= ny-2 Te = 0.25d0 * ( T(npn) + T(npne) - T(nps) - T(npse) ) This new approximation is not enought to ensure the convergency. ------------------------------------------------------------------------ r114 | guilherme | 2012-10-27 13:40:36 -0200 (Sáb, 27 Out 2012) | 7 lines The boundary condition on the west boundary for the temperature is of null normal gradient. This BC was approximated, until the previous revision, taking the derivative relatively to ksi equals zero, neglecting the derivative relatively to eta. In order to improve this approximation, the eta derivative must be taken into account. In this revision, the derivative of T relatively to eta is given by Te = 0.25d0 * ( T(npn) + T(npne) - T(nps) - T(npse) ) This approximation envolves real and fictitious volumes, including those of the corners. After the application of this boundary condition, the program diverges. ------------------------------------------------------------------------ r113 | guilherme | 2012-10-27 11:10:36 -0200 (Sáb, 27 Out 2012) | 7 lines The boundary condition on the south boundary for the temperature is of null normal gradient. This BC was approximated, until the previous revision, taking the derivative relatively to eta equals zero, neglecting the derivative relatively to ksi. In order to improve this approximation, the ksi derivative must be taken into account. In this revision, the derivative of T relatively to ksi is given by Tk = 0.25d0 * ( T(npe) + T(npne) - T(npw) - T(npnw) ). This approximation envolves real and fictitious volumes, including those of the corners. After the application of this boundary condition, no instability was observed. ------------------------------------------------------------------------ r112 | guilherme | 2012-10-27 10:15:21 -0200 (Sáb, 27 Out 2012) | 1 line Reverted to revision 108. ------------------------------------------------------------------------ r111 | guilherme | 2012-10-24 18:13:04 -0200 (Qua, 24 Out 2012) | 1 line This revision implements the calculation of the min and max values of the E-factor for the u, v, T and p' linear system as well as the min and max of p'. This is a temporary revision. ------------------------------------------------------------------------ r108 | guilherme | 2012-10-12 17:00:07 -0300 (Sex, 12 Out 2012) | 3 lines In the main program "call get_extrapolation_to_corners(nx, ny, p)" was replaced by "call get_p_extrapolation_to_fictitious(nx, ny, PF, p)" followed by "call get_density_at_nodes( nx, ny, Rg, p, T, ro)" ------------------------------------------------------------------------ r107 | guilherme | 2012-10-12 16:50:49 -0300 (Sex, 12 Out 2012) | 4 lines In the subroutine "get_boundary_simplec_coefficients", it was changed "de(np) = de(npw)" to "de(np) = ye(np) * due(np) + xe(np) * dve(np)" ------------------------------------------------------------------------ r106 | guilherme | 2012-10-12 16:32:23 -0300 (Sex, 12 Out 2012) | 1 line Changed the scheme of calculation of subroutine get_velocity_correction_at_faces_with_pl. ------------------------------------------------------------------------ r72 | guilherme | 2012-09-17 12:06:54 -0300 (Seg, 17 Set 2012) | 1 line Initial conditions were adjusted to the mathmatical description of documentation of Mach2d-5.8.2.1-rv002. The calculation of the velocities at the boundary faces was adjusted too. It were implemented subroutines get_T_extrapolation_to_fictitious and get_p_extrapolation_to_fictitious, used in the initial conditions. ------------------------------------------------------------------------ r71 | guilherme | 2012-09-17 11:04:25 -0300 (Seg, 17 Set 2012) | 1 line Implemented a iterative cycle inside the time evolution cycle. This cycle allows the study of the transient problem. ------------------------------------------------------------------------ r70 | guilherme | 2012-09-13 16:44:33 -0300 (Qui, 13 Set 2012) | 1 line Created a branch to implement the algorithm necessary to calculate the correct transient. ------------------------------------------------------------------------ r69 | guilherme | 2012-09-13 16:42:14 -0300 (Qui, 13 Set 2012) | 1 line Updated Code Blocks project. ------------------------------------------------------------------------ r68 | guilherme | 2012-09-11 22:59:01 -0300 (Ter, 11 Set 2012) | 1 line Added function get_RAM to data module as well as var. RAM to store RAM memory. In the main program, it was added a call to get_RAM and changed parameters of post_processing subroutine. New variables were added to be printed by subroutine write_main_results in the postp module. ------------------------------------------------------------------------ r67 | guilherme | 2012-09-11 22:18:41 -0300 (Ter, 11 Set 2012) | 1 line Added a Code Blocks project. ------------------------------------------------------------------------ r66 | guilherme | 2012-09-11 20:23:14 -0300 (Ter, 11 Set 2012) | 2 lines First import of the version 5.8.2.1 of Mach2D. The manually versioned files are stored in tags/manually-versioned. Revision 21 of the manually versioned files will be used as trunk. ------------------------------------------------------------------------