From bfd6c65754bc94176164432ee1f9ab6828dae618 Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Thu, 26 Feb 2026 21:25:53 -0600 Subject: [PATCH 1/7] Initial push of updated force output --- src/simulation/m_data_output.fpp | 17 +++++++++++++++++ src/simulation/m_time_steppers.fpp | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/simulation/m_data_output.fpp b/src/simulation/m_data_output.fpp index 5051d5e15d..e76a3010ca 100644 --- a/src/simulation/m_data_output.fpp +++ b/src/simulation/m_data_output.fpp @@ -1105,6 +1105,23 @@ contains MPI_INTEGER, status, ierr) call MPI_FILE_CLOSE(ifile, ierr) + if (proc_rank == 0) then + write (file_loc, '(A)') 'ib.dat' + file_loc = trim(case_dir)//'/D/'//trim(file_loc) + open (2, FILE=trim(file_loc), & + FORM='unformatted', & + ACCESS='stream', & + STATUS='unknown', & + POSITION='append') + block + integer :: i + do i = 1, num_ibs + write (2) time_step, mytime, i, patch_ib(i)%force, patch_ib(i)%torque + end do + end block + close (2) + end if + #endif end subroutine s_write_parallel_ib_data diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index cfcb8568db..96549b44ec 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -630,6 +630,8 @@ contains ! check if any IBMS are moving, and if so, update the markers, ghost points, levelsets, and levelset norms if (moving_immersed_boundary_flag) then call s_propagate_immersed_boundaries(s) + else + call s_fixed_immersed_boundaries() end if ! update the ghost fluid properties point values based on IB state @@ -852,6 +854,22 @@ contains end subroutine s_propagate_immersed_boundaries + subroutine s_fixed_immersed_boundaries() + + integer :: i + logical :: forces_computed + + forces_computed = .false. + + do i = 1, num_ibs + if (.not. forces_computed) then + call s_compute_ib_forces(q_prim_vf, fluid_pp) + forces_computed = .true. + end if + end do + + end subroutine s_fixed_immersed_boundaries + !> This subroutine saves the temporary q_prim_vf vector !! into the q_prim_ts vector that is then used in p_main !! @param t_step current time-step From 4ba4703225ae3d21299280b9bc073d432d9667e3 Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Thu, 26 Feb 2026 21:29:02 -0600 Subject: [PATCH 2/7] Removed unused code for force output --- src/simulation/m_time_steppers.fpp | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index 96549b44ec..5668355c82 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -631,7 +631,7 @@ contains if (moving_immersed_boundary_flag) then call s_propagate_immersed_boundaries(s) else - call s_fixed_immersed_boundaries() + call s_compute_ib_forces(q_prim_vf, fluid_pp) end if ! update the ghost fluid properties point values based on IB state @@ -854,22 +854,6 @@ contains end subroutine s_propagate_immersed_boundaries - subroutine s_fixed_immersed_boundaries() - - integer :: i - logical :: forces_computed - - forces_computed = .false. - - do i = 1, num_ibs - if (.not. forces_computed) then - call s_compute_ib_forces(q_prim_vf, fluid_pp) - forces_computed = .true. - end if - end do - - end subroutine s_fixed_immersed_boundaries - !> This subroutine saves the temporary q_prim_vf vector !! into the q_prim_ts vector that is then used in p_main !! @param t_step current time-step From 647d4c02bfdcbb3e9a075fad0b19260efc5d51a0 Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Thu, 26 Feb 2026 21:55:37 -0600 Subject: [PATCH 3/7] Updated .gitignore --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index e80d14a6f9..d57ff13ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -15,10 +15,18 @@ src/*/autogen/ .nfs* +MFC.code-workspace +runit +stderr.log +.gitignore + __pycache__ *.egg-info +# Runfiles +rundir + # Auto-generated version file toolchain/mfc/_version.py From a21a311bab494405a5a01c6fbbb151d749d63dac Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Fri, 27 Feb 2026 12:01:07 -0600 Subject: [PATCH 4/7] Improved force output at EVERY time step. Includes refactor to better organize the code. Adds new case parameter ib_force_wrt to toggle output. --- docs/documentation/case.md | 3 ++ src/simulation/m_data_output.fpp | 61 +++++++++++++++++--------- src/simulation/m_global_parameters.fpp | 2 + src/simulation/m_mpi_proxy.fpp | 2 +- src/simulation/m_start_up.fpp | 1 + src/simulation/m_time_steppers.fpp | 18 +++++++- toolchain/mfc/params/definitions.py | 3 +- 7 files changed, 66 insertions(+), 24 deletions(-) diff --git a/docs/documentation/case.md b/docs/documentation/case.md index 356f6d90fc..652645df9b 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -615,6 +615,7 @@ To restart the simulation from $k$-th time step, see @ref running "Restarting Ca | `alpha_wrt(i)` | Logical | Add the volume fraction of fluid $i$ to the database | | `gamma_wrt` | Logical | Add the specific heat ratio function to the database | | `heat_ratio_wrt` | Logical | Add the specific heat ratio to the database | +| `ib_force_wrt` | Logical | Write IB force & torque datafile at each time step | | `pi_inf_wrt` | Logical | Add the liquid stiffness function to the database | | `pres_inf_wrt` | Logical | Add the liquid stiffness to the formatted database | | `c_wrt` | Logical | Add the sound speed to the database | @@ -675,6 +676,8 @@ If `file_per_process` is true, then pre_process, simulation, and post_process mu - `probe_wrt` activates the output of state variables at coordinates specified by `probe(i)%[x;y,z]`. +- `ib_force_wrt` activates the output of data specified by patch_ib(i)%force(:) and patch_ib(i)%torque(:) into a single datafile for all IBs at all timesteps + - `output_partial_domain` activates the output of part of the domain specified by `[x,y,z]_output%%beg` and `[x,y,z]_output%%end`. This is useful for large domains where only a portion of the domain is of interest. It is not supported when `precision = 1` and `format = 1`. diff --git a/src/simulation/m_data_output.fpp b/src/simulation/m_data_output.fpp index e76a3010ca..4ae00b66f7 100644 --- a/src/simulation/m_data_output.fpp +++ b/src/simulation/m_data_output.fpp @@ -37,17 +37,20 @@ module m_data_output s_open_run_time_information_file, & s_open_com_files, & s_open_probe_files, & + s_open_ib_force_file, & s_write_run_time_information, & s_write_data_files, & s_write_serial_data_files, & s_write_parallel_data_files, & + s_write_ib_data_file, & s_write_com_files, & s_write_probe_files, & + s_write_ib_force_file, & s_close_run_time_information_file, & s_close_com_files, & s_close_probe_files, & - s_finalize_data_output_module, & - s_write_ib_data_file + s_close_ib_force_file, & + s_finalize_data_output_module real(wp), allocatable, dimension(:, :, :) :: icfl_sf !< ICFL stability criterion real(wp), allocatable, dimension(:, :, :) :: vcfl_sf !< VCFL stability criterion @@ -254,6 +257,18 @@ contains end subroutine s_open_probe_files + impure subroutine s_open_ib_force_file + character(LEN=path_len + 2*name_len) :: file_loc + + write (file_loc, '(A)') 'ib_force.dat' + file_loc = trim(case_dir)//'/D/'//trim(file_loc) + open (92, FILE=trim(file_loc), & + FORM='unformatted', & + ACCESS='stream', & + STATUS='replace', & + POSITION='append') + end subroutine s_open_ib_force_file + !> The goal of the procedure is to output to the run-time !! information file the stability criteria extrema in the !! entire computational domain and at the given time-step. @@ -1058,7 +1073,7 @@ contains write (t_step_dir, '(A,I0,A,I0)') trim(case_dir)//'/p_all' write (t_step_dir, '(a,i0,a,i0)') trim(case_dir)//'/p_all/p', & proc_rank, '/', time_step - write (file_path, '(A,I0,A)') trim(t_step_dir)//'/ib.dat' + write (file_path, '(A,I0,A)') trim(t_step_dir)//'/ib_data.dat' open (2, FILE=trim(file_path), & FORM='unformatted', & @@ -1105,23 +1120,6 @@ contains MPI_INTEGER, status, ierr) call MPI_FILE_CLOSE(ifile, ierr) - if (proc_rank == 0) then - write (file_loc, '(A)') 'ib.dat' - file_loc = trim(case_dir)//'/D/'//trim(file_loc) - open (2, FILE=trim(file_loc), & - FORM='unformatted', & - ACCESS='stream', & - STATUS='unknown', & - POSITION='append') - block - integer :: i - do i = 1, num_ibs - write (2) time_step, mytime, i, patch_ib(i)%force, patch_ib(i)%torque - end do - end block - close (2) - end if - #endif end subroutine s_write_parallel_ib_data @@ -1137,7 +1135,22 @@ contains call s_write_serial_ib_data(time_step) end if - end subroutine + end subroutine s_write_ib_data_file + + !> @brief Writes IB force/torque records to D/ib_force.dat on rank 0. + impure subroutine s_write_ib_force_file(time_step) + + integer, intent(in) :: time_step + if (proc_rank == 0) then + block + integer :: i + do i = 1, num_ibs + write (92) time_step, mytime, i, patch_ib(i)%force, patch_ib(i)%torque + end do + end block + end if + + end subroutine s_write_ib_force_file !> This writes a formatted data file where the root processor !! can write out the CoM information @@ -1908,6 +1921,12 @@ contains end subroutine s_close_probe_files + impure subroutine s_close_ib_force_file + + close (92) + + end subroutine s_close_ib_force_file + !> The computation of parameters, the allocation of memory, !! the association of pointers and/or the execution of any !! other procedures that are necessary to setup the module. diff --git a/src/simulation/m_global_parameters.fpp b/src/simulation/m_global_parameters.fpp index aa45e2668b..be40e430bd 100644 --- a/src/simulation/m_global_parameters.fpp +++ b/src/simulation/m_global_parameters.fpp @@ -395,6 +395,7 @@ module m_global_parameters !> @{ logical :: ib integer :: num_ibs + logical :: ib_force_wrt type(ib_patch_parameters), dimension(num_patches_max) :: patch_ib type(vec3_dt), allocatable, dimension(:) :: airfoil_grid_u, airfoil_grid_l @@ -714,6 +715,7 @@ contains ! Immersed Boundaries ib = .false. num_ibs = dflt_int + ib_force_wrt = .false. ! Bubble modeling bubbles_euler = .false. diff --git a/src/simulation/m_mpi_proxy.fpp b/src/simulation/m_mpi_proxy.fpp index 95f61fc7d7..ffd2723940 100644 --- a/src/simulation/m_mpi_proxy.fpp +++ b/src/simulation/m_mpi_proxy.fpp @@ -114,7 +114,7 @@ contains & 'cfl_adap_dt', 'cfl_const_dt', 'cfl_dt', 'surface_tension', & & 'shear_stress', 'bulk_stress', 'bubbles_lagrange', & & 'hyperelasticity', 'down_sample', 'int_comp','fft_wrt', & - & 'hyper_cleaning' ] + & 'hyper_cleaning', 'ib_force_wrt'] call MPI_BCAST(${VAR}$, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, ierr) #:endfor diff --git a/src/simulation/m_start_up.fpp b/src/simulation/m_start_up.fpp index 925ad55db0..4819abe6e7 100644 --- a/src/simulation/m_start_up.fpp +++ b/src/simulation/m_start_up.fpp @@ -144,6 +144,7 @@ contains x_domain, y_domain, z_domain, & hypoelasticity, & ib, num_ibs, patch_ib, & + ib_force_wrt, & fluid_pp, bub_pp, probe_wrt, prim_vars_wrt, & fd_order, probe, num_probes, t_step_old, & alt_soundspeed, mixture_err, weno_Re_flux, & diff --git a/src/simulation/m_time_steppers.fpp b/src/simulation/m_time_steppers.fpp index 5668355c82..b6ec5a9bd6 100644 --- a/src/simulation/m_time_steppers.fpp +++ b/src/simulation/m_time_steppers.fpp @@ -463,6 +463,11 @@ contains call s_open_run_time_information_file() end if + ! Opening and writing the header of the ib data file + if (proc_rank == 0 .and. ib_force_wrt) then + call s_open_ib_force_file() + end if + if (cfl_dt) then @:ALLOCATE(max_dt(0:m, 0:n, 0:p)) end if @@ -630,10 +635,16 @@ contains ! check if any IBMS are moving, and if so, update the markers, ghost points, levelsets, and levelset norms if (moving_immersed_boundary_flag) then call s_propagate_immersed_boundaries(s) - else + ! compute ib forces for fixed immersed boundaries if requested for output + else if (ib_force_wrt .and. s == nstage) then call s_compute_ib_forces(q_prim_vf, fluid_pp) end if + ! Write IB forces to file if requested and at the RK final stage + if (ib_force_wrt .and. s == nstage) then + call s_write_ib_force_file(t_step) + end if + ! update the ghost fluid properties point values based on IB state if (qbmm .and. .not. polytropic) then call s_ibm_correct_state(q_cons_ts(1)%vf, q_prim_vf, pb_ts(1)%sf, mv_ts(1)%sf) @@ -1052,6 +1063,11 @@ contains call s_close_run_time_information_file() end if + ! Writing the footer of and closing the IB data file + if (proc_rank == 0 .and. ib_force_wrt) then + call s_close_ib_force_file() + end if + end subroutine s_finalize_time_steppers_module end module m_time_steppers diff --git a/toolchain/mfc/params/definitions.py b/toolchain/mfc/params/definitions.py index d44249f664..d459170cde 100644 --- a/toolchain/mfc/params/definitions.py +++ b/toolchain/mfc/params/definitions.py @@ -214,6 +214,7 @@ "prim_vars_wrt": "Write primitive variables", "cons_vars_wrt": "Write conservative variables", "run_time_info": "Print runtime info", + "ib_force_wrt": "Write IB force/torque data", # Misc "case_dir": "Case directory path", "cantera_file": "Cantera mechanism file", @@ -932,7 +933,7 @@ def _load(): # pylint: disable=too-many-locals,too-many-statements _r("format", INT, {"output"}) _r("schlieren_alpha", REAL, {"output"}) for n in ["parallel_io", "file_per_process", "run_time_info", "prim_vars_wrt", - "cons_vars_wrt", "fft_wrt"]: + "cons_vars_wrt", "fft_wrt", "ib_force_wrt"]: _r(n, LOG, {"output"}) for n in ["schlieren_wrt", "alpha_rho_wrt", "rho_wrt", "mom_wrt", "vel_wrt", "flux_wrt", "E_wrt", "pres_wrt", "alpha_wrt", "kappa_wrt", "gamma_wrt", From 9192b580c7a4c8a01d9eecec92a9d95d3dac450a Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Fri, 27 Feb 2026 17:43:03 -0600 Subject: [PATCH 5/7] This commit adds post_processing of IB force data --- docs/documentation/case.md | 2 +- src/post_process/m_data_output.fpp | 53 ++++++++++++++++++++++++ src/post_process/m_global_parameters.fpp | 2 + src/post_process/m_mpi_proxy.fpp | 2 +- src/post_process/m_start_up.fpp | 2 +- src/post_process/p_main.fpp | 4 ++ 6 files changed, 62 insertions(+), 3 deletions(-) diff --git a/docs/documentation/case.md b/docs/documentation/case.md index 652645df9b..f6084dda97 100644 --- a/docs/documentation/case.md +++ b/docs/documentation/case.md @@ -676,7 +676,7 @@ If `file_per_process` is true, then pre_process, simulation, and post_process mu - `probe_wrt` activates the output of state variables at coordinates specified by `probe(i)%[x;y,z]`. -- `ib_force_wrt` activates the output of data specified by patch_ib(i)%force(:) and patch_ib(i)%torque(:) into a single datafile for all IBs at all timesteps +- `ib_force_wrt` activates the output of data specified by patch_ib(i)%force(:) and patch_ib(i)%torque(:) into a single binary datafile for all IBs at all timesteps. During post_processing, this file is converted into separate force/torque time histories for each IB. - `output_partial_domain` activates the output of part of the domain specified by `[x,y,z]_output%%beg` and `[x,y,z]_output%%end`. This is useful for large domains where only a portion of the domain is of interest. diff --git a/src/post_process/m_data_output.fpp b/src/post_process/m_data_output.fpp index ff0aeeee6f..3053b3703f 100644 --- a/src/post_process/m_data_output.fpp +++ b/src/post_process/m_data_output.fpp @@ -30,6 +30,7 @@ module m_data_output s_write_variable_to_formatted_database_file, & s_write_lag_bubbles_results_to_text, & s_write_lag_bubbles_to_formatted_database_file, & + s_write_ib_force_files, & s_write_intf_data_file, & s_write_energy_data_file, & s_close_formatted_database_file, & @@ -1499,6 +1500,58 @@ contains end subroutine s_write_lag_variable_to_formatted_database_file + impure subroutine s_write_ib_force_files() + + character(len=len_trim(case_dir) + 4*name_len) :: in_file, out_file, file_loc + integer :: iu_in, ios, i, rec_step, rec_id + integer, allocatable, dimension(:) :: iu_out + real(wp) :: rec_time + real(wp), dimension(3) :: rec_force, rec_torque + + file_loc = trim(case_dir)//'/D' + + in_file = trim(file_loc)//'/ib_force.dat' + open (newunit=iu_in, file=trim(in_file), form='unformatted', access='stream', & + status='old', action='read', iostat=ios) + if (ios /= 0) then + print *, 'ERROR: cannot open input file: ', trim(in_file), ' iostat=', ios + return + end if + + allocate (iu_out(num_ibs)) + do i = 1, num_ibs + write (out_file, '(A,I0,A)') trim(file_loc)//'/ib_', i, '.txt' + open (newunit=iu_out(i), file=trim(out_file), form='formatted', status='replace', action='write', iostat=ios) + if (ios /= 0) then + print *, 'ERROR: cannot open output file: ', trim(out_file), ' iostat=', ios + close (iu_in) + do rec_id = 1, i - 1 + close (iu_out(rec_id)) + end do + deallocate (iu_out) + return + end if + write (iu_out(i), '(A)') 'mytime F fx fy fz Tau Tau_x Tau_y Tau_z' + end do + + do + read (iu_in, iostat=ios) rec_step, rec_time, rec_id, rec_force, rec_torque + if (ios /= 0) exit ! EOF (<0) or read error (>0) + if (rec_id >= 1 .and. rec_id <= num_ibs) then + write (iu_out(rec_id), '(7(ES24.16E3,1X))') rec_time, & + sqrt(sum(rec_force**2)), rec_force(1), rec_force(2), rec_force(3), & + sqrt(sum(rec_torque**2)), rec_torque(1), rec_torque(2), rec_torque(3) + end if + end do + + close (iu_in) + do i = 1, num_ibs + close (iu_out(i)) + end do + deallocate (iu_out) + + end subroutine s_write_ib_force_files + !> @brief Extract the volume-fraction interface contour from primitive fields and write the coordinates to the interface data file. impure subroutine s_write_intf_data_file(q_prim_vf) diff --git a/src/post_process/m_global_parameters.fpp b/src/post_process/m_global_parameters.fpp index 219667a158..11cc3e4b87 100644 --- a/src/post_process/m_global_parameters.fpp +++ b/src/post_process/m_global_parameters.fpp @@ -261,6 +261,7 @@ module m_global_parameters logical :: schlieren_wrt logical :: cf_wrt logical :: ib + logical :: ib_force_wrt logical :: chem_wrt_Y(1:num_species) logical :: chem_wrt_T logical :: lag_header @@ -494,6 +495,7 @@ contains sim_data = .false. cf_wrt = .false. ib = .false. + ib_force_wrt = .false. lag_txt_wrt = .false. lag_header = .true. lag_db_wrt = .false. diff --git a/src/post_process/m_mpi_proxy.fpp b/src/post_process/m_mpi_proxy.fpp index 29e65942c6..e43ca38556 100644 --- a/src/post_process/m_mpi_proxy.fpp +++ b/src/post_process/m_mpi_proxy.fpp @@ -101,7 +101,7 @@ contains & 'adv_n', 'ib', 'cfl_adap_dt', 'cfl_const_dt', 'cfl_dt', & & 'surface_tension', 'hyperelasticity', 'bubbles_lagrange', & & 'output_partial_domain', 'relativity', 'cont_damage', 'bc_io', & - & 'down_sample','fft_wrt', 'hyper_cleaning' ] + & 'down_sample','fft_wrt', 'hyper_cleaning', 'ib_force_wrt'] call MPI_BCAST(${VAR}$, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, ierr) #:endfor diff --git a/src/post_process/m_start_up.fpp b/src/post_process/m_start_up.fpp index 74a15d04db..c6eafd2035 100644 --- a/src/post_process/m_start_up.fpp +++ b/src/post_process/m_start_up.fpp @@ -116,7 +116,7 @@ contains lag_rad_wrt, lag_rvel_wrt, lag_r0_wrt, lag_rmax_wrt, & lag_rmin_wrt, lag_dphidt_wrt, lag_pres_wrt, lag_mv_wrt, & lag_mg_wrt, lag_betaT_wrt, lag_betaC_wrt, & - alpha_rho_e_wrt + alpha_rho_e_wrt, ib_force_wrt ! Inquiring the status of the post_process.inp file file_loc = 'post_process.inp' diff --git a/src/post_process/p_main.fpp b/src/post_process/p_main.fpp index b8980ac012..65a22f2e22 100644 --- a/src/post_process/p_main.fpp +++ b/src/post_process/p_main.fpp @@ -93,6 +93,10 @@ program p_main end do ! END: Time-Marching Loop + if (proc_rank == 0 .and. ib_force_wrt) then + call s_write_ib_force_files() + end if + close (11) call s_finalize_modules() From 1957f56ad1cf428532ba01691fd47aba17494fa9 Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Tue, 3 Mar 2026 09:36:18 -0600 Subject: [PATCH 6/7] Removed force/torque magnitude --- src/post_process/m_data_output.fpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/post_process/m_data_output.fpp b/src/post_process/m_data_output.fpp index 3053b3703f..517d16df11 100644 --- a/src/post_process/m_data_output.fpp +++ b/src/post_process/m_data_output.fpp @@ -1531,7 +1531,7 @@ contains deallocate (iu_out) return end if - write (iu_out(i), '(A)') 'mytime F fx fy fz Tau Tau_x Tau_y Tau_z' + write (iu_out(i), '(A)') 'mytime fx fy fz Tau_x Tau_y Tau_z' end do do @@ -1539,8 +1539,8 @@ contains if (ios /= 0) exit ! EOF (<0) or read error (>0) if (rec_id >= 1 .and. rec_id <= num_ibs) then write (iu_out(rec_id), '(7(ES24.16E3,1X))') rec_time, & - sqrt(sum(rec_force**2)), rec_force(1), rec_force(2), rec_force(3), & - sqrt(sum(rec_torque**2)), rec_torque(1), rec_torque(2), rec_torque(3) + rec_force(1), rec_force(2), rec_force(3), & + rec_torque(1), rec_torque(2), rec_torque(3) end if end do From 17bfe443402d07e466f07a33e3187900ad4a6ce4 Mon Sep 17 00:00:00 2001 From: Mike VandenBoom Date: Tue, 3 Mar 2026 10:00:03 -0600 Subject: [PATCH 7/7] Revert "Updated .gitignore" This reverts commit 647d4c02bfdcbb3e9a075fad0b19260efc5d51a0. By reverting this commit, it returns gitignore to the MFC master version. --- .gitignore | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.gitignore b/.gitignore index d57ff13ba3..e80d14a6f9 100644 --- a/.gitignore +++ b/.gitignore @@ -15,18 +15,10 @@ src/*/autogen/ .nfs* -MFC.code-workspace -runit -stderr.log -.gitignore - __pycache__ *.egg-info -# Runfiles -rundir - # Auto-generated version file toolchain/mfc/_version.py