axisym_vibrating_shell_non_newtonian.cc File Reference
#include <fenv.h>
#include "generic.h"
#include "generalised_newtonian_axisym_navier_stokes.h"
#include "solid.h"
#include "constitutive.h"
#include "fluid_interface.h"
#include "meshes/triangle_mesh.h"
#include "overloaded_element_body.h"

Classes

class  oomph::MyTaylorHoodElement< DIM >
 Overload TaylorHood element to modify output. More...
 
class  oomph::FaceGeometry< MyTaylorHoodElement >
 
class  oomph::FaceGeometry< FaceGeometry< MyTaylorHoodElement > >
 
class  AxisymmetricVibratingShellProblem< ELEMENT >
 Problem class to simulate the settling of a viscous drop. More...
 

Namespaces

 oomph
 DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
 
 oomph::Problem_Parameter
 Namespace for Problem Parameter.
 

Functions

void oomph::Problem_Parameter::oscillation (const double &time, const Vector< double > &x, Vector< double > &force)
 Function describing the oscillation. More...
 
double oomph::Problem_Parameter::free_surface_profile (const double r)
 
int main (int argc, char **argv)
 Driver code for vibrating drop problem. More...
 

Variables

unsigned oomph::Problem_Parameter::BDF_type =2
 Which bdf timestepper do we use? More...
 
unsigned oomph::Problem_Parameter::Nprev_for_extrapolation_of_strain_rate =2
 
double oomph::Problem_Parameter::Uniform_element_area =0.004
 Uniform initial element area. More...
 
std::string oomph::Problem_Parameter::Directory = "RESLT"
 Output directory. More...
 
std::string oomph::Problem_Parameter::Restart_file =""
 Name of restart file. More...
 
DocInfo oomph::Problem_Parameter::Doc_info_trace
 Doc info trace file. More...
 
DocInfo oomph::Problem_Parameter::Doc_info_soln
 Doc info solutions. More...
 
double oomph::Problem_Parameter::External_pressure =0.0
 Set external pressure. More...
 
double oomph::Problem_Parameter::Re =1.967e-1
 Reynolds number. More...
 
double oomph::Problem_Parameter::ReInvFr =1.0
 
double oomph::Problem_Parameter::Ca = 42.19
 Capillary number. More...
 
double oomph::Problem_Parameter::St = 1.440e0
 Strouhal number. More...
 
double oomph::Problem_Parameter::Re_St = Re*St
 Reynolds multiplied Strouhal. More...
 
double oomph::Problem_Parameter::F_max = 40.24
 Maximum force of the applied oscillation (non-dimensionalised) More...
 
double oomph::Problem_Parameter::Oscillating_body_force_multiplier =1.0
 Body force multiplier. More...
 
double oomph::Problem_Parameter::Initial_settling_time = 0.25
 Time after which oscillation starts. More...
 
double oomph::Problem_Parameter::Dt_min =1.0e-6
 Minimum allowable timestep. More...
 
double oomph::Problem_Parameter::Nu =0.3
 Pseudo-solid Poisson ratio. More...
 
double oomph::Problem_Parameter::C1 =1.0
 Pseudo-solid Mooney-Rivlin parameter. More...
 
double oomph::Problem_Parameter::E =2.2
 Pseudo-solid Young's modulus. More...
 
double oomph::Problem_Parameter::Shell_radius =1.0
 Radius of the shell. More...
 
ConstitutiveLawoomph::Problem_Parameter::Constitutive_law_pt =0
 Constitutive law used to determine the mesh deformation. More...
 
double oomph::Problem_Parameter::Yield_stress = 2.861e-1
 have a generic yield stress, required for the output function More...
 
double oomph::Problem_Parameter::C_yield_stress =2.526e-1
 Yield stress. More...
 
double oomph::Problem_Parameter::C_Re =7.827e-1
 Reynolds number. More...
 
double oomph::Problem_Parameter::C_St = 2.966e-1
 Strouhal number. More...
 
double oomph::Problem_Parameter::C_Re_St = C_Re*C_St
 Reynolds multiplied Strouhal. More...
 
double oomph::Problem_Parameter::HB_yield_stress =2.861e-1
 Yield stress. More...
 
double oomph::Problem_Parameter::HB_flow_index = 0.828
 Power law exponent. More...
 
double oomph::Problem_Parameter::HB_Re =2.430e-1
 Reynolds number. More...
 
double oomph::Problem_Parameter::HB_St =1.295e0
 Strouhal number. More...
 
double oomph::Problem_Parameter::HB_Re_St = HB_Re*HB_St
 Reynolds multiplied Strouhal. More...
 
double oomph::Problem_Parameter::S_alpha =3.181e-1
 Pre-factor in Sisko model K / ( mu_inf T^(n-1) ) More...
 
double oomph::Problem_Parameter::S_flow_index =4.89e-6
 Flow index in Sisko model. More...
 
double oomph::Problem_Parameter::S_Re =1.967e-1
 Reynolds number. More...
 
double oomph::Problem_Parameter::S_St = 1.440e0
 Strouhal number. More...
 
double oomph::Problem_Parameter::S_Re_St = S_Re*S_St
 Reynolds multiplied Strouhal. More...
 
double oomph::Problem_Parameter::Critical_strain_rate =1.4e-14
 Critical strain rate. More...
 
GeneralisedNewtonianConstitutiveEquation< 3 > * oomph::Problem_Parameter::Const_eqn_pt =0
 Fluid constitutive equation. More...
 
ofstream oomph::Problem_Parameter::Trace_file
 Trace file. More...
 
ofstream oomph::Problem_Parameter::Norm_file
 File to document the norm of the solution (for validation purposes) More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver code for vibrating drop problem.

1691 {
1692 
1694 
1695  // Store command line arguments
1696  CommandLineArgs::setup(argc,argv);
1697 
1698  // Define possible command line arguments and parse the ones that
1699  // were actually specified
1700 
1701  // Suppress writing of restart files (they're big!)
1702  CommandLineArgs::specify_command_line_flag("--suppress_restart_files");
1703 
1704 
1705  // Use extrapolated strain rate when determining viscosity?
1707  ("--use_current_strainrate_for_viscosity");
1708 
1709  // Name of restart file
1711  ("--restart_file",
1713 
1714  // Output directory
1716  "--dir",
1718 
1719  // Multiplier for oscillatory body force (hierher MH hack)
1721  "--osc_body_force_multiplier",
1723 
1724  // BDF TYPE (1,2 or 4)
1726  "--bdf_type",
1728 
1729  // Number of previous values to be used for extrapolation
1730  // of strain rate (<= Problem_Parameter::BDF_type)
1732  "--nprev_for_extrapolation_of_strain_rate",
1734 
1735  // Min number of steps period (as timestep limitation)
1736  unsigned min_ntstep_per_period=40;
1738  "--min_ntstep_per_period",&min_ntstep_per_period);
1739 
1740  // Initial number of steps period
1741  unsigned initial_ntstep_per_period=40;
1743  "--initial_ntstep_per_period",&initial_ntstep_per_period);
1744 
1745  // Manual adaptation?
1746  unsigned nadapt_interval=1;
1748  "--manual_adapt",&nadapt_interval);
1749 
1750  // Uniform element area
1752  "--uniform_element_area",
1754 
1755  // Use Newtonian constitutive equation (and specify its
1756  // viscosity ratio)
1757  double newtonian_viscosity_ratio=1.0;
1759  "--use_newtonian_constitutive_equation",
1760  &newtonian_viscosity_ratio);
1761 
1762  // Use Casson const eqn
1764  "--use_casson_constitutive_equation",
1766 
1767  // Use Herschel Bulkley const eqn
1769  "--use_herschel_bulkley_constitutive_equation",
1771 
1772  // Use Sisko const eqn
1774  "--use_sisko_constitutive_equation",
1776 
1777  // Temporal accuray
1778  double epsilon_t=2.0e-7;
1780  "--epsilon_t",&epsilon_t);
1781 
1782  // Flag indicating whether we use fixed point iteration or not
1783  // Number of fixed point iterations before we use Aitken extrapolation
1784  unsigned fixed_point_steps_before_aitken_extrapolation=0;
1786  "--use_fixed_point_iteration",
1787  &fixed_point_steps_before_aitken_extrapolation);
1788 
1789  // Validation command line flag
1791 
1792  // Parse command line
1794 
1795  // Doc what has actually been specified on the command line
1797 
1798  // Choose constitutive equation
1799  if (CommandLineArgs::command_line_flag_has_been_set("--use_newtonian_constitutive_equation"))
1800  {
1801  oomph_info << "Using Newtonian constitutive equation with viscosity ratio: "
1802  << newtonian_viscosity_ratio << std::endl;
1804  new NewtonianConstitutiveEquation<3>(newtonian_viscosity_ratio);
1805  }
1807  ("--use_casson_constitutive_equation"))
1808  {
1809  oomph_info << "Using Casson constitutive equation"
1810  << " with cutoff strain rate: "
1812  << std::endl;
1817 
1822  }
1824  ("--use_herschel_bulkley_constitutive_equation"))
1825  {
1826  oomph_info << "Using Herschel Bulkley constitutive equation"
1827  << " with cutoff strain rate: "
1829  << std::endl;
1835 
1840  }
1842  ("--use_sisko_constitutive_equation")) ||
1844  ("--validation")) )
1845  {
1846  oomph_info << "Using Sisko constitutive equation"
1847  << " with cutoff strain rate: "
1849  << std::endl;
1855 
1860  }
1861  else
1862  {
1863  oomph_info << "Please select constitutive equation!\n";
1864  abort();
1865  }
1866 
1867 
1869  {
1871  nadapt_interval=5;
1872  fixed_point_steps_before_aitken_extrapolation=500;
1875  }
1876 
1877 
1878  // Create generalised Hookean constitutive equations
1881 
1882  // Open trace file
1883  Problem_Parameter::Trace_file.open((Problem_Parameter::Directory+"/trace.dat").c_str());
1884 
1885  // Write trace file
1887  << "VARIABLES="
1888  << "\"time\", " // 1
1889  << "\"drop height\"," // 2
1890  << "\"body force\"," // 3
1891  << "\"volume\"," // 4
1892  << "\"number of elements\","// 5
1893  << "\"max element area \"," // 6
1894  << "\"min element area \"," // 7
1895  << "\"max spatial error\"," // 8
1896  << "\"min spatial error\"," // 9
1897  << "\"norm of strain invariant\"," // 10
1898  << "\"norm of extrapolated strain invariant\"," // 11
1899  << "\"norm of error in extrapolated strain invariant\"," // 12
1900  << "\"min_invariant \"," // 13
1901  << "\"max_invariant \"," // 14
1902  << "\"min_viscosity \"," // 15
1903  << "\"max_viscosity \"," // 16
1904  << "\"norm of viscosity \"," // 17
1905  << "\"dt\"," // 18
1906  << "\"global temporal error norm\"," // 19
1907  << "\"doc number\"" // 20
1908  << std::endl;
1909 
1910 
1911  // Open norm file
1912  Problem_Parameter::Norm_file.open((Problem_Parameter::Directory+"/norm.dat").c_str()); // hierher needed? Maybe keep
1913  // alive for distant future when this becomes a demo driver code...
1914 
1915  // Output directory
1918 
1919 
1920  // Doc constitutive equation
1921  ofstream constitutive_file;
1922  constitutive_file.open((Problem_Parameter::Directory+"/constitutive.dat").c_str());
1923  double invariant_min=1.0e-15;
1924  double invariant_max=1.0e2;
1925  unsigned nstep_per_decade=10;
1926  double ratio=pow(0.1,double(1.0/nstep_per_decade));
1927  double invariant=invariant_max;
1928  while (invariant>invariant_min)
1929  {
1930  constitutive_file << invariant << " "
1932  << std::endl;
1933  invariant*=ratio;
1934  }
1935  constitutive_file.close();
1936 
1937  // Create problem in initial configuration
1941 
1942  // Timestepping parameters:
1943  //-------------------------
1944 
1945  oomph_info << "Tolerance for adaptive timestepping: epsilon_t = "
1946  << epsilon_t << std::endl;
1947 
1948  // Initial tiemstep
1949  double dt_new=1.0/double(initial_ntstep_per_period);
1950 
1951  // max. permitted timestep
1952  double dt_max=1.0/double(min_ntstep_per_period);
1953 
1954  // Do timestepping until tmax
1955  double t_max=500.25; //2.0
1956 
1957  // Tolerance for fixed point iteration in %
1958  double fixed_point_tol=1.0; //1.0e-6;
1959 
1960  // Restart?
1962  {
1963  problem.restart();
1964  oomph_info << "Done restart\n";
1965 
1966  // Have read in next timestep
1967  dt_new=problem.next_dt();
1968 
1969  // Doc the read-in initial conditions
1970  problem.doc_solution();
1971  }
1972  else
1973  {
1974  oomph_info << "Not doing restart\n";
1975 
1976  // Initialise timestepper
1977  problem.next_dt()=dt_new;
1978  problem.initialise_dt(problem.next_dt());
1979 
1980  // Perform impulsive start from current state
1981  problem.assign_initial_values_impulsive();
1982 
1983  oomph_info << "zeroth order extrapol (one prev value)" << std::endl;
1984  problem.set_nprev_for_extrapolation_of_strain_rate_for_all_elements(1);
1985 
1986  // Take one timestep and doc
1987  problem.unsteady_newton_solve(dt_new);
1988  problem.doc_solution();
1989 
1990  // Take a few timesteps with fixed timestep and without adaptation
1991  // to get some history values under our belt
1992  unsigned nstep=unsigned(t_max/problem.next_dt()); // hierher //5;
1993  oomph_info << "Doing " << nstep
1994  << " steps with constant timestep and mesh " << std::endl;
1995  //for (unsigned i=0;i<nstep;i++)
1996  unsigned count = 0;
1997  while (problem.time_pt()->time()<t_max)
1998  {
1999  // Adapt?
2000  if( (CommandLineArgs::command_line_flag_has_been_set("--manual_adapt") ||
2002  ((Problem_Parameter::Doc_info_trace.number())%nadapt_interval==0))
2003  {
2004  oomph_info << "hierher: time for another adaptation at doc number ="
2005  << Problem_Parameter::Doc_info_trace.number() << std::endl;
2006  problem.adapt();
2007  }
2008 
2009  if (count==3)
2010  {
2011  oomph_info << "next order extrapol (two prev values)" << std::endl;
2012  problem.set_nprev_for_extrapolation_of_strain_rate_for_all_elements(2);
2013  }
2014 
2015  oomph_info << "HIERHER: SKIPPING FOURTH ORDER STUFF!\n";
2016  // if (i==7)
2017  // {
2018  // oomph_info << "next order extrapol (four prev values)" << std::endl;
2019  // problem.set_nprev_for_extrapolation_of_strain_rate_for_all_elements(4);
2020  // }
2021 
2022 
2023  // problem.unsteady_newton_solve(dt_new);
2024 
2025  // Adaptive timestep with specified temporal tolerance epsilon_t
2026  dt_new=problem.adaptive_unsteady_newton_solve(problem.next_dt(),epsilon_t);
2027 
2028  // Next timestep
2029  cout << "Suggested new dt: " << dt_new << std::endl;
2030  if(dt_new > dt_max)
2031  {
2032  dt_new=dt_max;
2033  cout<<"dt limited (from above) to: "<<dt_new<<endl;
2034  }
2035  if(dt_new < Problem_Parameter::Dt_min)
2036  {
2038  cout<<"dt limited (from below) to: "<<Problem_Parameter::Dt_min<<endl;
2039  }
2040  problem.next_dt()=dt_new;
2041 
2042  //problem.doc_solution();
2043 
2044  //if(i<3) continue;
2045 
2046  // Fixed point iteration?
2047  if ( CommandLineArgs::command_line_flag_has_been_set("--use_fixed_point_iteration")||
2049  {
2050  oomph_info << "DOING FIXED POINT ITERATION\n";
2051 
2052  problem.enable_fixed_point_iteration_for_strain_rate_for_all_elements();
2053 
2054  unsigned i_fp=0;
2055  double error_fixed_point_iteration = DBL_MAX;
2056 
2057  //for (unsigned i_fp=0;i_fp<nfixed_point;i_fp++)
2058  while(error_fixed_point_iteration > fixed_point_tol)
2059  {
2060  if(i_fp == fixed_point_steps_before_aitken_extrapolation)
2061  {
2062  oomph_info << "DOING AITKEN EXTRAPOLATION\n";
2063  problem.enable_aitken_extrapolation_for_all_elements();
2064  }
2065  oomph_info << "FIXED POINT RE-SOLVE " << i_fp << " FOR t = "
2066  << problem.time_pt()->time() << "\n";
2067  problem.newton_solve();
2068  //problem.doc_solution();
2069  error_fixed_point_iteration=
2070  problem.calculate_error_of_fixed_point_iteration();
2071 
2072  // if( error_fixed_point_iteration < fixed_point_tol)
2073  // {
2074  // oomph_info << "Error in fixed point iteration is less than the "
2075  // << "specified tolerance of "<<fixed_point_tol<<"%\n";
2076 
2077  // oomph_info << "\nSTOPPING FIXED POINT ITERATION\n";
2078  // problem.doc_solution();
2079  // break;
2080  // }
2081 
2082  // if(i_fp==nfixed_point-1)
2083  // {
2084  // oomph_info << "Maximum number of fixed point iterations ("
2085  // <<nfixed_point<<") reached.\n";
2086 
2087  // oomph_info << "\nSTOPPING FIXED POINT ITERATION\n";
2088  // problem.doc_solution();
2089  // break;
2090  // }
2091 
2092  // Update latest guess
2093  problem.update_latest_fixed_point_iteration_guess_for_strain_rate_for_all_elements();
2094 
2095  i_fp++;
2096  }
2097 
2098  problem.doc_solution();
2099 
2100  // Switch off
2101  problem.disable_fixed_point_iteration_for_strain_rate_for_all_elements();
2102  }
2103  else
2104  {
2105  problem.doc_solution();
2106  }
2107 
2108  count++;
2109 
2110  if( (count==20) &&
2112  {
2113  break;
2114  }
2115 
2116 
2117  }
2118  oomph_info << "hierher bailing out after const timesteps\n";
2119  exit(0);
2120  }
2121 
2122 
2123  // Now do temporally adaptive solves, explicitly adaptiving every specified number
2124  //--------------------------------------------------------------------------------
2125  // of steps
2126  //---------
2128  {
2129  while (problem.time_pt()->time()<t_max)
2130  {
2131  // Adaptive timestep with specified temporal tolerance epsilon_t
2132  dt_new=problem.adaptive_unsteady_newton_solve(problem.next_dt(),epsilon_t);
2133 
2134  // Next timestep
2135  cout << "Suggested new dt: " << dt_new << std::endl;
2136  if(dt_new > dt_max)
2137  {
2138  dt_new=dt_max;
2139  cout<<"dt limited (from above) to: "<<dt_new<<endl;
2140  }
2141  if(dt_new < Problem_Parameter::Dt_min)
2142  {
2144  cout<<"dt limited from below to: "<<Problem_Parameter::Dt_min<<endl;
2145  }
2146  problem.next_dt()=dt_new;
2147 
2148  // Doc it...
2149  problem.doc_solution();
2150 
2151  // Adapt?
2152  if ((Problem_Parameter::Doc_info_trace.number())%nadapt_interval==0)
2153  {
2154  oomph_info << "hierher: time for another adaptation at doc number ="
2155  << Problem_Parameter::Doc_info_trace.number() << std::endl;
2156  problem.adapt();
2157  }
2158  }
2159  }
2160  // Doubly adaptive run
2161  //--------------------
2162  else
2163  {
2164  unsigned max_adapt=1;
2165  bool first=false;
2166  dt_new=problem.doubly_adaptive_unsteady_newton_solve(problem.next_dt(),epsilon_t,
2167  max_adapt,first);
2168 
2169  // Next timestep
2170  cout << "Suggested new dt: " << dt_new << std::endl;
2171  if(dt_new > dt_max)
2172  {
2173  dt_new=dt_max;
2174  cout<<"dt limited (from above) to: "<<dt_new<<endl;
2175  }
2176  if(dt_new < Problem_Parameter::Dt_min)
2177  {
2179  cout<<"dt limited from below to: "<<Problem_Parameter::Dt_min<<endl;
2180  }
2181  problem.next_dt()=dt_new;
2182 
2183  // Doc it...
2184  problem.doc_solution();
2185  }
2186 
2187 
2188 
2189 
2190 
2191 
2192 
2193 
2194  exit(0);
2195 
2196 } //End of main
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Problem class to simulate the settling of a viscous drop.
Definition: axisym_vibrating_shell_non_newtonian.cc:282
EIGEN_DEVICE_FUNC const GlobalUnaryPowReturnType< Derived, ScalarExponent > pow(const Eigen::ArrayBase< Derived > &x, const ScalarExponent &exponent)
Definition: GlobalFunctions.h:137
Definition: generalised_newtonian_constitutive_models.h:891
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
unsigned & number()
Number used (e.g.) for labeling output files.
Definition: oomph_utilities.h:554
Definition: constitutive_laws.h:699
virtual double viscosity(const double &second_invariant_of_rate_of_strain_tensor)=0
Definition: generalised_newtonian_axisym_navier_stokes_elements.h:1931
Definition: generalised_newtonian_constitutive_models.h:360
Overload TaylorHood element to modify output.
Definition: pressure_driven_torus.cc:98
Definition: generalised_newtonian_constitutive_models.h:72
Definition: generalised_newtonian_constitutive_models.h:685
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
ofstream Norm_file
Definition: refineable_two_layer_interface.cc:341
ofstream Trace_file
Trace file.
Definition: refineable_two_layer_interface.cc:335
ConstitutiveLaw * Constitutive_law_pt
Constitutive law used to determine the mesh deformation.
Definition: jeffery_orbit.cc:82
double St
Strouhal number.
Definition: jeffery_orbit.cc:62
double Nu
Pseudo-solid (mesh) Poisson ratio.
Definition: jeffery_orbit.cc:75
double Re
Reynolds number.
Definition: jeffery_orbit.cc:59
bool command_line_flag_has_been_set(const std::string &flag)
Definition: oomph_utilities.cc:501
void specify_command_line_flag(const std::string &command_line_flag, const std::string &doc)
Specify possible argument-free command line flag.
Definition: oomph_utilities.cc:451
void parse_and_assign(int argc, char *argv[], const bool &throw_on_unrecognised_args)
Definition: oomph_utilities.cc:760
void doc_specified_flags()
Document specified command line flags.
Definition: oomph_utilities.cc:610
std::string Directory
Output directory.
Definition: axisym_vibrating_shell_non_newtonian.cc:64
std::string Restart_file
Name of restart file.
Definition: axisym_vibrating_shell_non_newtonian.cc:67
double C_St
Strouhal number.
Definition: axisym_vibrating_shell_non_newtonian.cc:161
double HB_Re
Reynolds number.
Definition: axisym_vibrating_shell_non_newtonian.cc:178
double Uniform_element_area
Uniform initial element area.
Definition: axisym_vibrating_shell_non_newtonian.cc:61
double S_St
Strouhal number.
Definition: axisym_vibrating_shell_non_newtonian.cc:201
double S_Re_St
Reynolds multiplied Strouhal.
Definition: axisym_vibrating_shell_non_newtonian.cc:204
double S_Re
Reynolds number.
Definition: axisym_vibrating_shell_non_newtonian.cc:198
double HB_Re_St
Reynolds multiplied Strouhal.
Definition: axisym_vibrating_shell_non_newtonian.cc:184
double S_flow_index
Flow index in Sisko model.
Definition: axisym_vibrating_shell_non_newtonian.cc:195
GeneralisedNewtonianConstitutiveEquation< 3 > * Const_eqn_pt
Fluid constitutive equation.
Definition: axisym_vibrating_shell_non_newtonian.cc:213
double HB_flow_index
Power law exponent.
Definition: axisym_vibrating_shell_non_newtonian.cc:175
DocInfo Doc_info_soln
Doc info solutions.
Definition: axisym_vibrating_shell_non_newtonian.cc:73
unsigned BDF_type
Which bdf timestepper do we use?
Definition: axisym_vibrating_shell_non_newtonian.cc:54
double Critical_strain_rate
Critical strain rate.
Definition: axisym_vibrating_shell_non_newtonian.cc:210
double Yield_stress
have a generic yield stress, required for the output function
Definition: axisym_vibrating_shell_non_newtonian.cc:149
double C_yield_stress
Yield stress.
Definition: axisym_vibrating_shell_non_newtonian.cc:155
DocInfo Doc_info_trace
Doc info trace file.
Definition: axisym_vibrating_shell_non_newtonian.cc:70
double C_Re_St
Reynolds multiplied Strouhal.
Definition: axisym_vibrating_shell_non_newtonian.cc:164
unsigned Nprev_for_extrapolation_of_strain_rate
Definition: axisym_vibrating_shell_non_newtonian.cc:58
double C_Re
Reynolds number.
Definition: axisym_vibrating_shell_non_newtonian.cc:158
double Initial_settling_time
Time after which oscillation starts.
Definition: axisym_vibrating_shell_non_newtonian.cc:100
double HB_St
Strouhal number.
Definition: axisym_vibrating_shell_non_newtonian.cc:181
double Re_St
Reynolds multiplied Strouhal.
Definition: axisym_vibrating_shell_non_newtonian.cc:91
double Dt_min
Minimum allowable timestep.
Definition: axisym_vibrating_shell_non_newtonian.cc:103
double S_alpha
Pre-factor in Sisko model K / ( mu_inf T^(n-1) )
Definition: axisym_vibrating_shell_non_newtonian.cc:192
double HB_yield_stress
Yield stress.
Definition: axisym_vibrating_shell_non_newtonian.cc:172
double Oscillating_body_force_multiplier
Body force multiplier.
Definition: axisym_vibrating_shell_non_newtonian.cc:97
double Tolerable_error
Definition: unstructured_two_d_mesh_geometry_base.cc:1103
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References oomph::Problem_Parameter::BDF_type, oomph::Problem_Parameter::C_Re, oomph::Problem_Parameter::C_Re_St, oomph::Problem_Parameter::C_St, oomph::Problem_Parameter::C_yield_stress, oomph::CommandLineArgs::command_line_flag_has_been_set(), oomph::Problem_Parameter::Const_eqn_pt, Problem_Parameter::Constitutive_law_pt, oomph::Problem_Parameter::Critical_strain_rate, oomph::Problem_Parameter::Directory, oomph::Problem_Parameter::Doc_info_soln, oomph::Problem_Parameter::Doc_info_trace, oomph::CommandLineArgs::doc_specified_flags(), oomph::Problem_Parameter::Dt_min, e(), oomph::Problem_Parameter::HB_flow_index, oomph::Problem_Parameter::HB_Re, oomph::Problem_Parameter::HB_Re_St, oomph::Problem_Parameter::HB_St, oomph::Problem_Parameter::HB_yield_stress, oomph::Problem_Parameter::Initial_settling_time, Problem_Parameter::Norm_file, oomph::Problem_Parameter::Nprev_for_extrapolation_of_strain_rate, Problem_Parameter::Nu, oomph::DocInfo::number(), oomph::oomph_info, oomph::Problem_Parameter::Oscillating_body_force_multiplier, oomph::CommandLineArgs::parse_and_assign(), Eigen::bfloat16_impl::pow(), problem, Problem_Parameter::Re, oomph::Problem_Parameter::Re_St, oomph::Problem_Parameter::Restart_file, oomph::Problem_Parameter::S_alpha, oomph::Problem_Parameter::S_flow_index, oomph::Problem_Parameter::S_Re, oomph::Problem_Parameter::S_Re_St, oomph::Problem_Parameter::S_St, oomph::DocInfo::set_directory(), Flag_definition::setup(), oomph::CommandLineArgs::specify_command_line_flag(), Problem_Parameter::St, oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, Problem_Parameter::Trace_file, oomph::Problem_Parameter::Uniform_element_area, oomph::GeneralisedNewtonianConstitutiveEquation< DIM >::viscosity(), and oomph::Problem_Parameter::Yield_stress.