Flags Namespace Reference

Extend namespace for flags. More...

Functions

void doc_flags ()
 Doc flags. More...
 
void segregated_doc_flags ()
 Doc flags for extended namespace. More...
 

Variables

unsigned Solver_flag =0
 
unsigned Solver_sub_flag =0
 
unsigned Resolution_factor =1
 Resolution factor (multiplier for number of elements across channel) More...
 
unsigned Use_displ_control =1
 Use displacement control (1) or not (0) More...
 
unsigned Steady_flag =1
 Steady run (1) or unsteady run (0) More...
 
unsigned Nsteps =5
 Number of steps in parameter study. More...
 
string Run_identifier_string =""
 String to identify the run type in trace file. More...
 
string Restart_file_name =""
 Name of restart file. More...
 
unsigned Use_segregated_solver =1
 Use Newton solver (0) or segregated solver (1)? More...
 
unsigned Use_pointwise_aitken =0
 Use pointwise Aitken extrapolation (1) or not (0) More...
 
double Omega_under_relax =1.0
 Under-relaxation parameter (1.0: no under-relaxation; 0.0: freeze) More...
 
unsigned Use_irons_and_tuck_extrapolation =0
 Use Irons and Tuck extrapolation (1) or not (0) More...
 
unsigned Convergence_criterion =0
 Convergence criterion: 0: global resmax; 1: abs. change; 2: rel. change. More...
 
double Convergence_tolerance =1.0e-9
 Convergence tolerance. More...
 
double Dt =0.1
 Timestep. More...
 

Detailed Description

Extend namespace for flags.

Extend namespace for control flags.

Namespace for flags.

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

Function Documentation

◆ doc_flags()

void Flags::doc_flags ( )

Doc flags.

255  {
256 
257  std::cout << "\nFlags:\n"
258  << "======\n";
259 
260  std::cout << "-- Resolution factor: " << Resolution_factor << std::endl;
261 
262  if (Steady_flag)
263  {
264  std::cout << "-- Steady run " << std::endl;
265  if (Use_displ_control)
266  {
267  std::cout << "-- Using displacement control " << std::endl;
268  }
269  else
270  {
271  std::cout << "-- Not using displacement control " << std::endl;
272  }
273  }
274  else
275  {
276  std::cout << "-- Unsteady run " << std::endl;
277  if (Use_displ_control)
278  {
279  std::cout << "-- Not using displacement control (command line flag\n"
280  << " overwritten because it's an unsteady run!) "
281  << std::endl;
282  }
283  }
284 
285  std::cout << "-- Reynolds number: "
286  << Global_Physical_Variables::Re << std::endl;
287 
288  std::cout << "-- FSI parameter Q: "
289  << Global_Physical_Variables::Q << std::endl;
290 
291 
292  if (Restart_file_name!="")
293  {
294  std::cout << "-- Performing restart from: " << Restart_file_name
295  << std::endl;
296  std::cout << "-- Jump in pressure: " << Global_Physical_Variables::P_step
297  << std::endl;
298  }
299  else
300  {
301  std::cout << "-- No restart " << std::endl;
302  }
303  std::cout << std::endl;
304  }
string Restart_file_name
Name of restart file.
Definition: fsi_chan_problem.h:251
unsigned Resolution_factor
Resolution factor (multiplier for number of elements across channel)
Definition: fsi_chan_problem.h:236
unsigned Steady_flag
Steady run (1) or unsteady run (0)
Definition: fsi_chan_problem.h:242
unsigned Use_displ_control
Use displacement control (1) or not (0)
Definition: fsi_chan_problem.h:239
double Q
Ratio of scales.
Definition: elastic_bretherton.cc:131
double P_step
Definition: fsi_chan_problem.h:62
double Re
Reynolds number.
Definition: fibre.cc:55

References Global_Physical_Variables::P_step, Global_Physical_Variables::Q, Global_Physical_Variables::Re, Resolution_factor, Restart_file_name, Steady_flag, and Use_displ_control.

Referenced by main().

◆ segregated_doc_flags()

void Flags::segregated_doc_flags ( )

Doc flags for extended namespace.

82  {
83  std::cout << "\nFlags:\n"
84  << "======\n";
85 
86  std::cout << "-- Resolution factor: " << Resolution_factor << std::endl;
87 
88 
90  {
91  std::cout << "-- Using segregated solver " << std::endl;
92  }
93  else
94  {
95  std::cout << "-- Using monolithic Newton solver " << std::endl;
96  }
97 
98 
100  {
101  std::cout << "-- Using pointwise Aitken extrapolation " << std::endl;
102  }
103  else
104  {
105  std::cout << "-- Not using pointwise Aitken extrapolation " << std::endl;
106  }
107 
108 
109 
111  {
112  std::cout << "-- Using Irons and Tuck's extrapolation " << std::endl;
113  }
114  else
115  {
116  std::cout << "-- Not using Irons and Tuck's extrapolation " << std::endl;
117  }
118 
119 
120  if (Convergence_criterion==0)
121  {
122  std::cout << "-- Convergence based on max. global residual " << std::endl;
123  }
124  else if (Convergence_criterion==1)
125  {
126  std::cout << "-- Convergence based on max. abs. change " << std::endl;
127  }
128  else if (Convergence_criterion==2)
129  {
130  std::cout << "-- Convergence based on max. rel. change " << std::endl;
131  }
132  else
133  {
134  std::cout << "-- Wrong convergence criterion [0,1,2]: "
135  << Convergence_criterion << std::endl;
136  exit(1);
137  }
138 
139 
140  std::cout << "-- Convergence tolerance: "
141  << Convergence_tolerance << std::endl;
142 
143 
144  std::cout << "-- Under-relaxation parameter: "
145  << Omega_under_relax << std::endl;
146 
147  if (Steady_flag)
148  {
149  std::cout << "-- Steady run " << std::endl;
150  if (Use_displ_control)
151  {
152  std::cout << "-- Using displacement control " << std::endl;
153  }
154  else
155  {
156  std::cout << "-- Not using displacement control " << std::endl;
157  }
158  }
159  else
160  {
161  std::cout << "-- Unsteady run " << std::endl;
162  if (Use_displ_control)
163  {
164  std::cout << "-- Not using displacement control (command line flag\n"
165  << " overwritten because it's an unsteady run!) "
166  << std::endl;
167  }
168  }
169 
170 
171  std::cout << "-- Reynolds number: "
172  << Global_Physical_Variables::Re << std::endl;
173 
174 
175  std::cout << "-- FSI parameter Q: "
176  << Global_Physical_Variables::Q << std::endl;
177 
178 
179  std::cout << "-- Timestep dt : " << Flags::Dt << std::endl;
180 
181 
182  if (Restart_file_name!="")
183  {
184  std::cout << "-- Performing restart from: " << Restart_file_name
185  << std::endl;
186  std::cout << "-- Jump in pressure: " << Global_Physical_Variables::P_step
187  << std::endl;
188 
189  }
190  else
191  {
192  std::cout << "-- No restart " << std::endl;
193  }
194  std::cout << std::endl;
195 
196  }
unsigned Use_segregated_solver
Use Newton solver (0) or segregated solver (1)?
Definition: fsi_chan_seg_driver.cc:60
double Convergence_tolerance
Convergence tolerance.
Definition: fsi_chan_seg_driver.cc:75
double Omega_under_relax
Under-relaxation parameter (1.0: no under-relaxation; 0.0: freeze)
Definition: fsi_chan_seg_driver.cc:66
double Dt
Timestep.
Definition: fsi_chan_seg_driver.cc:78
unsigned Use_irons_and_tuck_extrapolation
Use Irons and Tuck extrapolation (1) or not (0)
Definition: fsi_chan_seg_driver.cc:69
unsigned Use_pointwise_aitken
Use pointwise Aitken extrapolation (1) or not (0)
Definition: fsi_chan_seg_driver.cc:63
unsigned Convergence_criterion
Convergence criterion: 0: global resmax; 1: abs. change; 2: rel. change.
Definition: fsi_chan_seg_driver.cc:72

References Convergence_criterion, Convergence_tolerance, Dt, Omega_under_relax, Global_Physical_Variables::P_step, Global_Physical_Variables::Q, Global_Physical_Variables::Re, Resolution_factor, Restart_file_name, Steady_flag, Use_displ_control, Use_irons_and_tuck_extrapolation, Use_pointwise_aitken, and Use_segregated_solver.

Referenced by main().

Variable Documentation

◆ Convergence_criterion

unsigned Flags::Convergence_criterion =0

Convergence criterion: 0: global resmax; 1: abs. change; 2: rel. change.

Referenced by main(), segregated_doc_flags(), and SegregatedFSICollapsibleChannelProblem< ELEMENT >::SegregatedFSICollapsibleChannelProblem().

◆ Convergence_tolerance

◆ Dt

◆ Nsteps

◆ Omega_under_relax

◆ Resolution_factor

◆ Restart_file_name

string Flags::Restart_file_name =""

◆ Run_identifier_string

◆ Solver_flag

unsigned Flags::Solver_flag =0

Solver flag [0: direct; 1: exact; 2: simple; 3: Schur/Superlu; 4: Schur/Hypre]

Referenced by main().

◆ Solver_sub_flag

unsigned Flags::Solver_sub_flag =0

Solver sub flag [0: diag; 1: retain fluid on solid; 2: retain solid on fluid]

Referenced by main().

◆ Steady_flag

◆ Use_displ_control

unsigned Flags::Use_displ_control =1

Use displacement control (1) or not (0)

Referenced by doc_flags(), main(), and segregated_doc_flags().

◆ Use_irons_and_tuck_extrapolation

◆ Use_pointwise_aitken

◆ Use_segregated_solver