diff --git a/generate_macrodef.py b/generate_macrodef.py index b86d518..d15f453 100755 --- a/generate_macrodef.py +++ b/generate_macrodef.py @@ -253,7 +253,19 @@ def generate_macrodef_h(): # Define macro buffer_width # number of buffer points for mesh-refinement interfaces - print( "#define buffer_width 6", file=file1 ) + # Calculate ghost_width based on Finite_Diffenence_Method to optimize buffer_width + if ( input_data.Finite_Diffenence_Method == "2nd-order" ): + gw = 2 + elif ( input_data.Finite_Diffenence_Method == "4th-order" ): + gw = 3 + elif ( input_data.Finite_Diffenence_Method == "6th-order" ): + gw = 4 + elif ( input_data.Finite_Diffenence_Method == "8th-order" ): + gw = 5 + else: + gw = 5 # Default conservative value + + print( f"#define buffer_width {gw + 1}", file=file1 ) print( file=file1 ) # Define macro SC_width as buffer_width