GRINS-0.6.0
Namespaces | Classes | Typedefs | Functions | Variables
GRINS Namespace Reference

GRINS namespace. More...

Namespaces

 Cache
 
 Constants
 
 StringUtilities
 

Classes

class  AntiochChemistry
 Wrapper class for Antioch::ChemicalMixture. More...
 
class  AntiochConstantTransportEvaluator
 Wrapper class for evaluating constant transport properties, including Antioch::ConstantLewisDiffusivity. More...
 
class  AntiochConstantTransportMixture
 Wrapper class for storing state for constant transport properties, including Antioch::ConstantLewisDiffusivity. More...
 
class  AntiochEvaluator
 Wrapper class for evaluating chemistry and thermo properties using Antioch. More...
 
class  AntiochKinetics
 Wrapper class for evaluating chemical kinetics using Antioch. More...
 
class  AntiochMixture
 Wrapper class for storing state for Antioch thermo and kinetics. More...
 
class  AntiochWilkeTransportEvaluator
 Wrapper class for evaluating Wilke transport properties using Antioch. More...
 
class  AntiochWilkeTransportMixture
 Wrapper class for storing state for computing Wilke transport properties using Antioch. More...
 
class  ArrheniusCatalycity
 
class  AssemblyContext
 
class  AveragedFan
 Physics class for spatially-averaged fan. More...
 
class  AveragedFanAdjointStabilization
 Physics class for spatially-averaged fan. More...
 
class  AveragedFanBase
 
class  AveragedTurbine
 Physics class for spatially-averaged turbine. More...
 
class  AveragedTurbineAdjointStabilization
 Physics class for spatially-averaged turbine. More...
 
class  AveragedTurbineBase
 
class  AverageNusseltNumber
 
class  AxisymmetricBoussinesqBuoyancy
 Adds Axisymmetric Boussinesq bouyancy source term. More...
 
class  AxisymmetricHeatTransfer
 Physics class for Axisymmetric Heat Transfer. More...
 
class  AxisymmetricHeatTransferBCHandling
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  BCHandlingBase
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  BoundaryConditions
 Class to hold typical boundary condition methods. More...
 
class  BoundaryConditionsFactory
 Object for constructing boundary condition function objects. More...
 
class  BoussinesqBuoyancy
 Adds Boussinesq bouyancy source term. More...
 
class  BoussinesqBuoyancyAdjointStabilization
 Adds Boussinesq bouyancy adjoint stabilization source term. More...
 
class  BoussinesqBuoyancyBase
 
class  BoussinesqBuoyancySPGSMStabilization
 Adds Boussinesq bouyancy SPGSM stabilization source term. More...
 
class  CachedValues
 
class  CanteraEvaluator
 Wrapper class for evaluating thermochemistry and transport properties using Cantera. More...
 
class  CanteraKinetics
 
class  CanteraMixture
 Wrapper class for storing state for computing thermochemistry and transport properties using Cantera. More...
 
class  CanteraThermodynamics
 Wrapper class for evaluating thermo properties using Cantera. More...
 
class  CanteraTransport
 Wrapper class for evaluating transport properties using Cantera. More...
 
class  CatalycityBase
 
class  CatalyticWallBase
 
class  CompositeQoI
 
class  ComputeDistanceJacobian
 
class  ComputeDistanceResidual
 
class  ConcentricCylinderProfile
 Profile for flow between axially moving concentric cylinders. More...
 
struct  conductivity_type
 
class  ConstantCatalycity
 
class  ConstantConductivity
 
class  ConstantPrandtlConductivity
 
class  ConstantSourceFunction
 
class  ConstantSourceTerm
 
class  ConstantSpecificHeat
 
class  ConstantViscosity
 
class  DBCContainer
 Simple helper class to setup general Dirichlet boundary conditions. More...
 
struct  diffusivity_type
 
class  DisplacementContinuationSolver
 
class  DistanceFunction
 
class  ElasticCable
 
class  ElasticCableBase
 
class  ElasticCableConstantGravity
 
class  ElasticityTensor
 
class  ElasticMembrane
 
class  ElasticMembraneBase
 
class  ElasticMembraneConstantPressure
 
class  ErrorEstimatorFactory
 
class  GasRecombinationCatalyticWall
 
class  GasSolidCatalyticWall
 
class  GaussianProfile
 Gaussian profile. More...
 
class  GaussianXYProfile
 Gaussian profile. More...
 
class  GenericICHandler
 Base class for reading and handling initial conditions for physics classes. More...
 
class  HeatConduction
 
class  HeatTransfer
 Physics class for Heat Transfer. More...
 
class  HeatTransferAdjointStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  HeatTransferBase
 Physics class for Heat Transfer. More...
 
class  HeatTransferBCHandling
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  HeatTransferSource
 Adds generic, spatially dependent source term to HeatTransfer physics. More...
 
class  HeatTransferSPGSMStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  HeatTransferStabilizationBase
 
class  HeatTransferStabilizationHelper
 
class  HookesLaw
 Elasticity tensor for Hooke's law. More...
 
class  HookesLaw1D
 Hooke's law specialized for one-dimensional problems. More...
 
class  Hyperelasticity
 
class  HyperelasticStrainEnergy
 
class  ICHandlingBase
 Base class for reading and handling initial conditions for physics classes. More...
 
class  IncompressibleNavierStokes
 Physics class for Incompressible Navier-Stokes. More...
 
class  IncompressibleNavierStokesAdjointStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  IncompressibleNavierStokesBase
 Physics class for Incompressible Navier-Stokes. More...
 
class  IncompressibleNavierStokesBCHandling
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  IncompressibleNavierStokesSPGSMStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  IncompressibleNavierStokesStabilizationBase
 
class  IncompressibleNavierStokesStabilizationHelper
 
class  IncompressiblePlaneStressHyperelasticity
 
class  LowMachNavierStokes
 Physics class for Incompressible Navier-Stokes. More...
 
class  LowMachNavierStokesBase
 Physics class for Incompressible Navier-Stokes. More...
 
class  LowMachNavierStokesBCHandling
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  LowMachNavierStokesBraackStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  LowMachNavierStokesSPGSMStabilization
 Adds SPGSM-based stabilization to LowMachNavierStokes physics class. More...
 
class  LowMachNavierStokesStabilizationBase
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  LowMachNavierStokesStabilizationHelper
 
class  LowMachNavierStokesVMSStabilization
 Adds VMS-based stabilization to LowMachNavierStokes physics class. More...
 
class  MeshAdaptiveSolverBase
 
class  MeshBuilder
 
class  MooneyRivlin
 
class  MultiphysicsSystem
 Interface with libMesh for solving Multiphysics problems. More...
 
class  NBCContainer
 Simple helper class to setup general Neumann boundary conditions. More...
 
class  NeumannFuncObj
 Base class for general, non-constant Neumann boundary conditions. More...
 
class  ParabolicProfile
 Parabolic profile. More...
 
class  ParameterManager
 Simple class to hold and initialize a ParameterVector. More...
 
class  ParameterUser
 ParameterUser base class. Utility methods for subclasses. More...
 
class  ParsedConductivity
 
class  ParsedInteriorQoI
 Parsed Interior QoI. More...
 
class  ParsedSourceTerm
 
class  ParsedVelocitySource
 Physics class for Velocity Penalty. More...
 
class  ParsedVelocitySourceAdjointStabilization
 Adds Velocity penalty adjoint stabilization source term. More...
 
class  ParsedVelocitySourceBase
 
class  ParsedViscosity
 
class  PBCContainer
 Simple helper class to setup periodic boundary conditions. More...
 
class  Physics
 Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem. More...
 
class  PhysicsFactory
 Object for constructing list of physics for simulation. More...
 
class  PostProcessedQuantities
 
class  PostprocessingFactory
 This object handles constructing the postprocessing object to be used. More...
 
class  PowerLawCatalycity
 
class  PressurePinning
 Class to hold typical boundary condition methods. More...
 
class  PrimitiveFlowFEVariables
 
class  PrimitiveFlowVariables
 
class  PrimitiveTempFEVariables
 
class  PrimitiveTempVariables
 
class  QoIBase
 
class  QoIFactory
 
class  ReactingLowMachNavierStokes
 
class  ReactingLowMachNavierStokesBase
 
class  ReactingLowMachNavierStokesBCHandling
 
class  ScalarODE
 Physics class for arbitrary scalar-valued ODEs. More...
 
class  Simulation
 
class  SimulationBuilder
 
class  SolidMechanicsBCHandling
 
class  SolidMechanicsFEVariables
 
class  SolidMechanicsVariables
 
class  Solver
 
class  SolverContext
 Simple class to hold objects passed to Solver::solve. More...
 
class  SolverFactory
 This object handles constructing the solver to be used. More...
 
class  SourceTermBase
 Base class for generic source function term, f(x,y,z,t). More...
 
class  SpalartAllmaras
 Physics class for Incompressible Navier-Stokes. More...
 
class  SpalartAllmarasBCHandling
 Base class for reading and handling boundary conditions for physics classes. More...
 
class  SpalartAllmarasHelper
 
class  SpalartAllmarasParameters
 Encapsulate Spalart-Allmaras model parameters. More...
 
class  SpalartAllmarasSPGSMStabilization
 Adds SUPG stabilization to the SpalartAllmaras 'physics'. More...
 
class  SpalartAllmarasStabilizationBase
 
class  SpalartAllmarasStabilizationHelper
 
class  SpalartAllmarasViscosity
 
class  StabilizationHelper
 
class  SteadyMeshAdaptiveSolver
 
class  SteadySolver
 
class  SteadyVisualization
 
class  Stokes
 Physics class for Stokes. More...
 
class  StressStrainLaw
 
class  ThermallyDrivenFlowTestBCFactory
 
struct  thermo_type
 
class  TurbulenceFEVariables
 
class  TurbulenceModelsBase
 Physics class for Turbulence Models. More...
 
class  TurbulenceVariables
 
class  UnsteadySolver
 
class  UnsteadyVisualization
 
class  VelocityDrag
 Physics class for Velocity Drag. More...
 
class  VelocityDragAdjointStabilization
 Physics class for Velocity Drag. More...
 
class  VelocityDragBase
 
class  VelocityPenalty
 Physics class for Velocity Penalty. More...
 
class  VelocityPenaltyAdjointStabilization
 Adds Velocity penalty adjoint stabilization source term. More...
 
class  VelocityPenaltyBase
 
struct  viscosity_type
 
class  Visualization
 
class  VisualizationFactory
 
class  Vorticity
 Vorticity QoI. More...
 
class  ZeroFluxBC
 

Typedefs

typedef int BCType
 
typedef std::string PhysicsName
 
typedef unsigned int VariableIndex
 More descriptive name of the type used for variable indices. More...
 
typedef std::string VariableName
 
typedef libMesh::boundary_id_type BoundaryID
 More descriptive name of the type used for boundary ids. More...
 
typedef std::map< std::string, std::tr1::shared_ptr< GRINS::Physics > > PhysicsList
 Container for GRINS::Physics object pointers. More...
 
typedef std::map< std::string, std::tr1::shared_ptr< GRINS::Physics > >::const_iterator PhysicsListIter
 Iterator for PhysicsList. More...
 
typedef PhysicsFactory::PhysicsPtr PhysicsPtr
 

Functions

void visc_cond_specheat_error (const std::string &physics, const std::string &conductivity, const std::string &viscosity, const std::string &specific_heat)
 
void visc_error (const std::string &physics, const std::string &viscosity)
 
void conductivity_error (const std::string &physics, const std::string &conductivity)
 
template<template< typename > class Subclass>
PhysicsPtr new_mu_class (const std::string &physics_to_add, const GetPot &input)
 
template<>
PhysicsPtr new_mu_class< SpalartAllmaras > (const std::string &physics_to_add, const GetPot &input)
 
template<template< typename > class Subclass>
PhysicsPtr new_turb_mu_class (const std::string &physics_to_add, const GetPot &input)
 
template<template< typename > class Subclass>
PhysicsPtr new_k_class (const std::string &physics_to_add, const GetPot &input)
 
template<template< typename, typename, typename > class Subclass>
PhysicsPtr new_mu_cp_k_class (const std::string &physics_to_add, const GetPot &input)
 
template<template< typename, typename > class Subclass>
PhysicsPtr new_reacting_low_mach_class (const std::string &physics_to_add, const GetPot &input)
 
void grins_version_stdout ()
 
int get_grins_version ()
 
void skip_comment_lines (std::istream &in, const char comment_start)
 Skip comment lines in the header of an ASCII text file prefixed with the comment character 'comment_start'. More...
 

Variables

const PhysicsName stokes = "Stokes"
 
const PhysicsName incompressible_navier_stokes = "IncompressibleNavierStokes"
 
const PhysicsName incompressible_navier_stokes_adjoint_stab
 
const PhysicsName incompressible_navier_stokes_spgsm_stab
 
const PhysicsName velocity_drag = "VelocityDrag"
 
const PhysicsName velocity_drag_adjoint_stab = "VelocityDragAdjointStabilization"
 
const PhysicsName velocity_penalty = "VelocityPenalty"
 
const PhysicsName velocity_penalty2 = "VelocityPenalty2"
 
const PhysicsName velocity_penalty3 = "VelocityPenalty3"
 
const PhysicsName velocity_penalty_adjoint_stab = "VelocityPenaltyAdjointStabilization"
 
const PhysicsName velocity_penalty2_adjoint_stab = "VelocityPenalty2AdjointStabilization"
 
const PhysicsName velocity_penalty3_adjoint_stab = "VelocityPenalty3AdjointStabilization"
 
const PhysicsName parsed_velocity_source = "ParsedVelocitySource"
 
const PhysicsName parsed_velocity_source_adjoint_stab = "ParsedVelocitySourceAdjointStabilization"
 
const PhysicsName averaged_fan = "AveragedFan"
 
const PhysicsName averaged_fan_adjoint_stab = "AveragedFanAdjointStabilization"
 
const PhysicsName averaged_turbine = "AveragedTurbine"
 
const PhysicsName spalart_allmaras = "SpalartAllmaras"
 
const PhysicsName spalart_allmaras_spgsm_stab = "SpalartAllmarasSPGSMStabilization"
 
const PhysicsName scalar_ode = "ScalarODE"
 
const PhysicsName heat_conduction = "HeatConduction"
 
const PhysicsName heat_transfer = "HeatTransfer"
 
const PhysicsName heat_transfer_source = "HeatTransferSource"
 
const PhysicsName heat_transfer_adjoint_stab = "HeatTransferAdjointStabilization"
 
const PhysicsName heat_transfer_spgsm_stab = "HeatTransferSPGSMStabilization"
 
const PhysicsName axisymmetric_heat_transfer = "AxisymmetricHeatTransfer"
 
const PhysicsName boussinesq_buoyancy = "BoussinesqBuoyancy"
 
const PhysicsName boussinesq_buoyancy_adjoint_stab = "BoussinesqBuoyancyAdjointStabilization"
 
const PhysicsName boussinesq_buoyancy_spgsm_stab = "BoussinesqBuoyancySPGSMStabilization"
 
const PhysicsName axisymmetric_boussinesq_buoyancy = "AxisymmetricBoussinesqBuoyancy"
 
const PhysicsName low_mach_navier_stokes = "LowMachNavierStokes"
 
const PhysicsName low_mach_navier_stokes_braack_stab = "LowMachNavierStokesBraackStabilization"
 
const PhysicsName low_mach_navier_stokes_spgsm_stab = "LowMachNavierStokesSPGSMStabilization"
 
const PhysicsName low_mach_navier_stokes_vms_stab = "LowMachNavierStokesVMSStabilization"
 
const PhysicsName reacting_low_mach_navier_stokes = "ReactingLowMachNavierStokes"
 
const PhysicsName elastic_membrane = "ElasticMembrane"
 
const PhysicsName elastic_cable = "ElasticCable"
 
const PhysicsName elastic_membrane_constant_pressure = "ElasticMembraneConstantPressure"
 
const PhysicsName elastic_cable_constant_gravity = "ElasticCableConstantGravity"
 
const PhysicsName constant_source_term = "ConstantSourceTerm"
 
const PhysicsName parsed_source_term = "ParsedSourceTerm"
 
const unsigned int invalid_var_index = std::numeric_limits<unsigned int>::max()
 Invalid varaible index id. More...
 
const std::string u_var_name_default = "u"
 Default physics variable names. More...
 
const std::string v_var_name_default = "v"
 y-velocity More...
 
const std::string w_var_name_default = "w"
 z-velocity More...
 
const std::string nu_var_name_default = "nu"
 z-velocity More...
 
const std::string u_r_var_name_default = "r_vel"
 r-velocity (axisymmetric case) More...
 
const std::string u_z_var_name_default = "z_vel"
 z-velocity (axisymmetric case) More...
 
const std::string p_var_name_default = "p"
 pressure More...
 
const std::string T_var_name_default = "T"
 temperature More...
 
const std::string fan_speed_var_name_default = "fan_speed"
 fan speed More...
 
const std::string scalar_ode_var_name_default = "scalar_var"
 arbitrary scalar ODE variable name More...
 
const std::string Ex_var_name_default = "Ex"
 Ex field. More...
 
const std::string Ey_var_name_default = "Ey"
 Ey field. More...
 
const std::string Ez_var_name_default = "Ez"
 Ez field. More...
 
const std::string Bx_var_name_default = "Bx"
 Bx field. More...
 
const std::string By_var_name_default = "By"
 By field. More...
 
const std::string Bz_var_name_default = "Bz"
 Bz field. More...
 
const std::string u_disp_name_default = "u"
 
const std::string v_disp_name_default = "v"
 
const std::string w_disp_name_default = "w"
 
const std::string avg_nusselt = "average_nusselt_number"
 
const std::string vorticity = "vorticity"
 
const std::string parsed_interior = "parsed_interior"
 

Detailed Description

GRINS namespace.

Typedef Documentation

typedef int GRINS::BCType

Definition at line 32 of file bc_types.h.

typedef libMesh::boundary_id_type GRINS::BoundaryID

More descriptive name of the type used for boundary ids.

We make it a short int to be compatible with libMesh

Definition at line 54 of file var_typedefs.h.

typedef std::map< std::string,std::tr1::shared_ptr<GRINS::Physics> > GRINS::PhysicsList

Container for GRINS::Physics object pointers.

Definition at line 57 of file var_typedefs.h.

typedef std::map< std::string,std::tr1::shared_ptr<GRINS::Physics> >::const_iterator GRINS::PhysicsListIter

Iterator for PhysicsList.

Definition at line 60 of file var_typedefs.h.

typedef std::string GRINS::PhysicsName

Definition at line 33 of file grins_physics_names.h.

Definition at line 103 of file physics_factory.C.

typedef unsigned int GRINS::VariableIndex

More descriptive name of the type used for variable indices.

Definition at line 40 of file var_typedefs.h.

typedef std::string GRINS::VariableName

Definition at line 50 of file var_typedefs.h.

Function Documentation

void GRINS::conductivity_error ( const std::string &  physics,
const std::string &  conductivity 
)

Definition at line 129 of file physics_factory.C.

Referenced by new_k_class().

131  {
132  std::cerr << "================================================================" << std::endl
133  << "Invalid combination of models for " << physics << std::endl
134  << "Conductivity model = " << conductivity << std::endl
135  << "================================================================" << std::endl;
136  libmesh_error();
137  }
int GRINS::get_grins_version ( )

Definition at line 51 of file grins_version.C.

References GRINS_MAJOR_VERSION, GRINS_MICRO_VERSION, and GRINS_MINOR_VERSION.

Referenced by grins_version_stdout().

52  {
53  /* Note: return format follows the versioning convention xx.yy.zz where
54 
55  xx = major version number
56  yy = minor version number
57  zz = micro version number
58 
59  For example:
60  v. 0.23 -> 002300 = 2300
61  v 0.23.1 -> 002301 = 2301
62  v. 10.23.2 -> 102302 */
63 
64  int major_version = 0;
65  int minor_version = 0;
66  int micro_version = 0;
67 
68 #ifdef GRINS_MAJOR_VERSION
69  major_version = GRINS_MAJOR_VERSION;
70 #endif
71 
72 #ifdef GRINS_MINOR_VERSION
73  minor_version = GRINS_MINOR_VERSION;
74 #endif
75 
76 #ifdef GRINS_MICRO_VERSION
77  micro_version = GRINS_MICRO_VERSION;
78 #endif
79 
80  return major_version*10000 + minor_version*100 + micro_version;
81  }
#define GRINS_MINOR_VERSION
Definition: grins_version.h:33
#define GRINS_MICRO_VERSION
Definition: grins_version.h:34
#define GRINS_MAJOR_VERSION
Definition: grins_version.h:32
void GRINS::grins_version_stdout ( )

Definition at line 31 of file grins_version.C.

References get_grins_version(), GRINS_BUILD_ARCH, GRINS_BUILD_DATE, GRINS_BUILD_HOST, GRINS_BUILD_USER, GRINS_BUILD_VERSION, GRINS_CXX, GRINS_CXXFLAGS, GRINS_LIB_RELEASE, and GRINS_LIB_VERSION.

Referenced by main().

32  {
33  std::cout << "--------------------------------------------------------" << std::endl;
34  std::cout << "GRINS Package: Version = " << GRINS_LIB_VERSION;
35  std::cout << " (" << get_grins_version() << ")" << std::endl << std::endl;
36 
37  std::cout << GRINS_LIB_RELEASE << std::endl << std::endl;
38 
39  std::cout << "Build Date = " << GRINS_BUILD_DATE << std::endl;
40  std::cout << "Build Host = " << GRINS_BUILD_HOST << std::endl;
41  std::cout << "Build User = " << GRINS_BUILD_USER << std::endl;
42  std::cout << "Build Arch = " << GRINS_BUILD_ARCH << std::endl;
43  std::cout << "Build Rev = " << GRINS_BUILD_VERSION << std::endl << std::endl;
44 
45  std::cout << "C++ Config = " << GRINS_CXX << " " << GRINS_CXXFLAGS << std::endl;
46  std::cout << "--------------------------------------------------------" << std::endl;
47 
48  return;
49  }
#define GRINS_BUILD_ARCH
Definition: grins_version.h:37
#define GRINS_BUILD_USER
Definition: grins_version.h:36
int get_grins_version()
Definition: grins_version.C:51
#define GRINS_CXXFLAGS
Definition: grins_version.h:46
#define GRINS_CXX
Definition: grins_version.h:45
#define GRINS_LIB_RELEASE
Definition: grins_version.h:43
#define GRINS_LIB_VERSION
Definition: grins_version.h:42
#define GRINS_BUILD_DATE
Definition: grins_version.h:39
#define GRINS_BUILD_HOST
Definition: grins_version.h:38
#define GRINS_BUILD_VERSION
Definition: grins_version.h:40
template<template< typename > class Subclass>
PhysicsPtr GRINS::new_k_class ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 202 of file physics_factory.C.

References conductivity_error(), and heat_transfer.

204  {
205  std::string conductivity =
206  input( "Physics/"+heat_transfer+"/conductivity_model", "constant" );
207 
208  if( conductivity == "constant" )
209  return PhysicsPtr
210  (new Subclass<ConstantConductivity>(physics_to_add,input));
211  else if( conductivity == "parsed" )
212  return PhysicsPtr
213  (new Subclass<ParsedConductivity>(physics_to_add,input));
214 
215  conductivity_error(physics_to_add, conductivity);
216  return PhysicsPtr();
217  }
void conductivity_error(const std::string &physics, const std::string &conductivity)
PhysicsFactory::PhysicsPtr PhysicsPtr
const PhysicsName heat_transfer
template<template< typename > class Subclass>
PhysicsPtr GRINS::new_mu_class ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 148 of file physics_factory.C.

References incompressible_navier_stokes, and visc_error().

150  {
151  std::string viscosity =
152  input( "Physics/"+incompressible_navier_stokes+"/viscosity_model", "constant" );
153 
154  if( viscosity == "constant" )
155  return PhysicsPtr
156  (new Subclass<ConstantViscosity>(physics_to_add,input));
157  else if( viscosity == "parsed" )
158  return PhysicsPtr
159  (new Subclass<ParsedViscosity>(physics_to_add,input));
160  else if( viscosity == "spalartallmaras" )
161  return PhysicsPtr
162  (new Subclass<SpalartAllmarasViscosity<ConstantViscosity> >(physics_to_add,input));
163 
164  visc_error(physics_to_add, viscosity);
165  return PhysicsPtr();
166  }
const PhysicsName incompressible_navier_stokes
void visc_error(const std::string &physics, const std::string &viscosity)
PhysicsFactory::PhysicsPtr PhysicsPtr
template<>
PhysicsPtr GRINS::new_mu_class< SpalartAllmaras > ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 171 of file physics_factory.C.

References incompressible_navier_stokes, and visc_error().

Referenced by GRINS::PhysicsFactory::add_physics().

173  {
174  std::string viscosity =
175  input( "Physics/"+incompressible_navier_stokes+"/viscosity_model", "constant" );
176 
177  if( viscosity == "spalartallmaras" )
178  return PhysicsPtr
179  (new SpalartAllmaras<ConstantViscosity>(physics_to_add,input));
180 
181  visc_error(physics_to_add, viscosity);
182  return PhysicsPtr();
183  }
const PhysicsName incompressible_navier_stokes
void visc_error(const std::string &physics, const std::string &viscosity)
PhysicsFactory::PhysicsPtr PhysicsPtr
template<template< typename, typename, typename > class Subclass>
PhysicsPtr GRINS::new_mu_cp_k_class ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 220 of file physics_factory.C.

References low_mach_navier_stokes, and visc_cond_specheat_error().

222  {
223  std::string conductivity = input( "Physics/"+low_mach_navier_stokes+"/conductivity_model", "constant" );
224  std::string viscosity = input( "Physics/"+low_mach_navier_stokes+"/viscosity_model", "constant" );
225  std::string specific_heat = input( "Physics/"+low_mach_navier_stokes+"/specific_heat_model", "constant" );
226 
227  if( conductivity == "constant" && viscosity == "constant" && specific_heat == "constant" )
228  {
229  return PhysicsPtr
230  (new Subclass<ConstantViscosity,
231  ConstantSpecificHeat,
232  ConstantConductivity>
233  (physics_to_add,input));
234  }
235 
236  visc_cond_specheat_error(physics_to_add, conductivity,
237  viscosity, specific_heat);
238  return PhysicsPtr();
239  }
void visc_cond_specheat_error(const std::string &physics, const std::string &conductivity, const std::string &viscosity, const std::string &specific_heat)
PhysicsFactory::PhysicsPtr PhysicsPtr
const PhysicsName low_mach_navier_stokes
template<template< typename, typename > class Subclass>
PhysicsPtr GRINS::new_reacting_low_mach_class ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 242 of file physics_factory.C.

References reacting_low_mach_navier_stokes.

244  {
245  std::string thermochem_lib = input( "Physics/"+reacting_low_mach_navier_stokes+"/thermochemistry_library", "DIE!" );
246 
247  if( thermochem_lib == "cantera" )
248  {
249 #ifdef GRINS_HAVE_CANTERA
250  return PhysicsPtr(new Subclass<CanteraMixture,CanteraEvaluator>(physics_to_add,input));
251 #else
252  std::cerr << "Error: Cantera not enabled. Cannot use Cantera library."
253  << std::endl;
254  libmesh_error();
255 
256 #endif // GRINS_HAVE_CANTERA
257  }
258  else if( thermochem_lib == "antioch" )
259  {
260 #ifdef GRINS_HAVE_ANTIOCH
261  std::string mixing_model = input( "Physics/Antioch/mixing_model" , "wilke" );
262 
263  std::string thermo_model = input( "Physics/Antioch/thermo_model", "stat_mech");
264  std::string viscosity_model = input( "Physics/Antioch/viscosity_model", "blottner");
265  std::string conductivity_model = input( "Physics/Antioch/conductivity_model", "eucken");
266  std::string diffusivity_model = input( "Physics/Antioch/diffusivity_model", "constant_lewis");
267 
268  if( mixing_model == std::string("wilke") )
269  {
270  if( (thermo_model == std::string("stat_mech")) &&
271  (diffusivity_model == std::string("constant_lewis")) &&
272  (conductivity_model == std::string("eucken")) &&
273  (viscosity_model == std::string("sutherland")) )
274  {
275  return PhysicsPtr(new Subclass<GRINS::AntiochWilkeTransportMixture<Antioch::StatMechThermodynamics<libMesh::Real>,
276  Antioch::MixtureViscosity<Antioch::SutherlandViscosity<libMesh::Real> >,
277  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >,
278  Antioch::ConstantLewisDiffusivity<libMesh::Real> >,
279  GRINS::AntiochWilkeTransportEvaluator<Antioch::StatMechThermodynamics<libMesh::Real>,
280  Antioch::MixtureViscosity<Antioch::SutherlandViscosity<libMesh::Real> >,
281  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >,
282  Antioch::ConstantLewisDiffusivity<libMesh::Real> > >(physics_to_add,input) );
283  }
284  else if( (thermo_model == std::string("stat_mech")) &&
285  (diffusivity_model == std::string("constant_lewis")) &&
286  (conductivity_model == std::string("eucken")) &&
287  (viscosity_model == std::string("blottner")) )
288  {
289  return PhysicsPtr(new Subclass<GRINS::AntiochWilkeTransportMixture<Antioch::StatMechThermodynamics<libMesh::Real>,
290  Antioch::MixtureViscosity<Antioch::BlottnerViscosity<libMesh::Real> >,
291  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >,
292  Antioch::ConstantLewisDiffusivity<libMesh::Real> >,
293  GRINS::AntiochWilkeTransportEvaluator<Antioch::StatMechThermodynamics<libMesh::Real>,
294  Antioch::MixtureViscosity<Antioch::BlottnerViscosity<libMesh::Real> >,
295  Antioch::EuckenThermalConductivity<Antioch::StatMechThermodynamics<libMesh::Real> >,
296  Antioch::ConstantLewisDiffusivity<libMesh::Real> > >(physics_to_add,input) );
297  }
298  else
299  {
300  std::cerr << "Error: Unknown Antioch model combination: "
301  << "viscosity_model = " << viscosity_model << std::endl
302  << "conductivity_model = " << conductivity_model << std::endl
303  << "diffusivity_model = " << diffusivity_model << std::endl
304  << "thermo_model = " << thermo_model << std::endl;
305  libmesh_error();
306  }
307  }
308  else if( mixing_model == std::string("constant") )
309  {
310  if( viscosity_model != std::string("constant") )
311  {
312  std::cerr << "Error: For constant mixing_model, viscosity model must be constant!"
313  << std::endl;
314  libmesh_error();
315  }
316 
317  if( diffusivity_model != std::string("constant_lewis") )
318  {
319  std::cerr << "Error: For constant mixing_model, diffusivity model must be constant_lewis!"
320  << std::endl;
321  libmesh_error();
322  }
323 
324  if( (thermo_model == std::string("stat_mech")) &&
325  (conductivity_model == std::string("constant")) )
326  {
328  GRINS::AntiochConstantTransportEvaluator<Antioch::StatMechThermodynamics<libMesh::Real>, GRINS::ConstantConductivity> >(physics_to_add,input) );
329  }
330  else if( (thermo_model == std::string("cea")) &&
331  (conductivity_model == std::string("constant")) )
332  {
334  GRINS::AntiochConstantTransportEvaluator<Antioch::CEAEvaluator<libMesh::Real>, GRINS::ConstantConductivity> >(physics_to_add,input) );
335  }
336  else if( (thermo_model == std::string("stat_mech")) &&
337  (conductivity_model == std::string("constant_prandtl")) )
338  {
340  GRINS::AntiochConstantTransportEvaluator<Antioch::StatMechThermodynamics<libMesh::Real>, GRINS::ConstantPrandtlConductivity> >(physics_to_add,input) );
341  }
342  else if( (thermo_model == std::string("cea")) &&
343  (conductivity_model == std::string("constant_prandtl")) )
344  {
346  GRINS::AntiochConstantTransportEvaluator<Antioch::CEAEvaluator<libMesh::Real>, GRINS::ConstantPrandtlConductivity> >(physics_to_add,input) );
347  }
348  else
349  {
350  std::cerr << "Error: Unknown Antioch model combination: "
351  << "viscosity_model = " << viscosity_model << std::endl
352  << "conductivity_model = " << conductivity_model << std::endl
353  << "diffusivity_model = " << diffusivity_model << std::endl
354  << "thermo_model = " << thermo_model << std::endl;
355  libmesh_error();
356  }
357  }
358  else // mixing_model
359  {
360  std::cerr << "Error: Unknown Antioch mixing_model "
361  << mixing_model << "!" << std::endl;
362  libmesh_error();
363  }
364 #else
365  std::cerr << "Error: Antioch not enabled. Cannot use Antioch library."
366  << std::endl;
367  libmesh_error();
368 
369 #endif // GRINS_HAVE_ANTIOCH
370  }
371  else
372  {
373  std::cerr << "Error: Invalid thermo-chemistry library" << std::endl
374  << " for ReactingLowMachNavierStokes physics." << std::endl
375  << " thermochemistry_library = " << thermochem_lib << std::endl;
376  libmesh_error();
377  }
378 
379  return PhysicsPtr();
380  }
Wrapper class for evaluating constant transport properties, including Antioch::ConstantLewisDiffusivi...
PhysicsFactory::PhysicsPtr PhysicsPtr
const PhysicsName reacting_low_mach_navier_stokes
Wrapper class for storing state for computing Wilke transport properties using Antioch.
Wrapper class for storing state for constant transport properties, including Antioch::ConstantLewisDi...
Wrapper class for evaluating Wilke transport properties using Antioch.
template<template< typename > class Subclass>
PhysicsPtr GRINS::new_turb_mu_class ( const std::string &  physics_to_add,
const GetPot &  input 
)

Definition at line 187 of file physics_factory.C.

References incompressible_navier_stokes, and visc_error().

189  {
190  std::string viscosity =
191  input( "Physics/"+incompressible_navier_stokes+"/viscosity_model", "constant" );
192 
193  if( viscosity == "spalartallmaras" )
194  return PhysicsPtr
195  (new Subclass<SpalartAllmarasViscosity<ConstantViscosity> >(physics_to_add,input));
196 
197  visc_error(physics_to_add, viscosity);
198  return PhysicsPtr();
199  }
const PhysicsName incompressible_navier_stokes
void visc_error(const std::string &physics, const std::string &viscosity)
PhysicsFactory::PhysicsPtr PhysicsPtr
void GRINS::skip_comment_lines ( std::istream &  in,
const char  comment_start 
)

Skip comment lines in the header of an ASCII text file prefixed with the comment character 'comment_start'.

This is put in GRINS namespace so we can reuse in a few classes where we are reading in text tables. Originally taken from FIN-S.

Definition at line 30 of file input_utils.C.

31  {
32  char c, line[256];
33 
34  while (in.get(c), c==comment_start)
35  in.getline (line, 255);
36 
37  // put back first character of
38  // first non-comment line
39  in.putback (c);
40  }
void GRINS::visc_cond_specheat_error ( const std::string &  physics,
const std::string &  conductivity,
const std::string &  viscosity,
const std::string &  specific_heat 
)

Definition at line 105 of file physics_factory.C.

Referenced by new_mu_cp_k_class().

109  {
110  std::cerr << "================================================================" << std::endl
111  << "Invalid combination of models for " << physics << std::endl
112  << "Conductivity model = " << conductivity << std::endl
113  << "Viscosity model = " << viscosity << std::endl
114  << "Specific heat model = " << specific_heat << std::endl
115  << "================================================================" << std::endl;
116  libmesh_error();
117  }
void GRINS::visc_error ( const std::string &  physics,
const std::string &  viscosity 
)

Definition at line 119 of file physics_factory.C.

Referenced by new_mu_class(), new_mu_class< SpalartAllmaras >(), and new_turb_mu_class().

121  {
122  std::cerr << "================================================================" << std::endl
123  << "Invalid combination of models for " << physics << std::endl
124  << "Viscosity model = " << viscosity << std::endl
125  << "================================================================" << std::endl;
126  libmesh_error();
127  }

Variable Documentation

const PhysicsName GRINS::averaged_fan = "AveragedFan"
const PhysicsName GRINS::averaged_fan_adjoint_stab = "AveragedFanAdjointStabilization"

Definition at line 52 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::averaged_turbine = "AveragedTurbine"
const std::string GRINS::avg_nusselt = "average_nusselt_number"
const PhysicsName GRINS::axisymmetric_boussinesq_buoyancy = "AxisymmetricBoussinesqBuoyancy"
const PhysicsName GRINS::axisymmetric_heat_transfer = "AxisymmetricHeatTransfer"
const PhysicsName GRINS::boussinesq_buoyancy = "BoussinesqBuoyancy"
const PhysicsName GRINS::boussinesq_buoyancy_adjoint_stab = "BoussinesqBuoyancyAdjointStabilization"
const PhysicsName GRINS::boussinesq_buoyancy_spgsm_stab = "BoussinesqBuoyancySPGSMStabilization"

Definition at line 65 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const std::string GRINS::Bx_var_name_default = "Bx"

Bx field.

Definition at line 81 of file variable_name_defaults.h.

const std::string GRINS::By_var_name_default = "By"

By field.

Definition at line 84 of file variable_name_defaults.h.

const std::string GRINS::Bz_var_name_default = "Bz"

Bz field.

Definition at line 87 of file variable_name_defaults.h.

const PhysicsName GRINS::constant_source_term = "ConstantSourceTerm"

Definition at line 76 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::elastic_cable = "ElasticCable"
const PhysicsName GRINS::elastic_cable_constant_gravity = "ElasticCableConstantGravity"

Definition at line 75 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::elastic_membrane = "ElasticMembrane"
const PhysicsName GRINS::elastic_membrane_constant_pressure = "ElasticMembraneConstantPressure"

Definition at line 74 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const std::string GRINS::Ex_var_name_default = "Ex"

Ex field.

Definition at line 72 of file variable_name_defaults.h.

const std::string GRINS::Ey_var_name_default = "Ey"

Ey field.

Definition at line 75 of file variable_name_defaults.h.

const std::string GRINS::Ez_var_name_default = "Ez"

Ez field.

Definition at line 78 of file variable_name_defaults.h.

const std::string GRINS::fan_speed_var_name_default = "fan_speed"
const PhysicsName GRINS::heat_conduction = "HeatConduction"
const PhysicsName GRINS::heat_transfer = "HeatTransfer"
const PhysicsName GRINS::heat_transfer_adjoint_stab = "HeatTransferAdjointStabilization"
const PhysicsName GRINS::heat_transfer_source = "HeatTransferSource"
const PhysicsName GRINS::heat_transfer_spgsm_stab = "HeatTransferSPGSMStabilization"

Definition at line 61 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::incompressible_navier_stokes = "IncompressibleNavierStokes"
const PhysicsName GRINS::incompressible_navier_stokes_adjoint_stab
Initial value:
=
"IncompressibleNavierStokesAdjointStabilization"

Definition at line 37 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics(), and GRINS::PhysicsFactory::check_physics_consistency().

const PhysicsName GRINS::incompressible_navier_stokes_spgsm_stab
Initial value:
=
"IncompressibleNavierStokesSPGSMStabilization"

Definition at line 39 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics(), and GRINS::PhysicsFactory::check_physics_consistency().

const unsigned int GRINS::invalid_var_index = std::numeric_limits<unsigned int>::max()

Invalid varaible index id.

We can't use negative values, so we use the max to be able to initialize VariableIndex quantities since we're much more unlikely to hit the max than 0.

Definition at line 48 of file var_typedefs.h.

const PhysicsName GRINS::low_mach_navier_stokes = "LowMachNavierStokes"
const PhysicsName GRINS::low_mach_navier_stokes_braack_stab = "LowMachNavierStokesBraackStabilization"

Definition at line 68 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::low_mach_navier_stokes_spgsm_stab = "LowMachNavierStokesSPGSMStabilization"

Definition at line 69 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::low_mach_navier_stokes_vms_stab = "LowMachNavierStokesVMSStabilization"

Definition at line 70 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const std::string GRINS::nu_var_name_default = "nu"

z-velocity

Definition at line 51 of file variable_name_defaults.h.

const std::string GRINS::p_var_name_default = "p"
const std::string GRINS::parsed_interior = "parsed_interior"

Definition at line 32 of file qoi_names.h.

Referenced by GRINS::QoIFactory::add_qoi().

const PhysicsName GRINS::parsed_source_term = "ParsedSourceTerm"

Definition at line 77 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::parsed_velocity_source = "ParsedVelocitySource"

Definition at line 49 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::parsed_velocity_source_adjoint_stab = "ParsedVelocitySourceAdjointStabilization"

Definition at line 50 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::reacting_low_mach_navier_stokes = "ReactingLowMachNavierStokes"
const PhysicsName GRINS::scalar_ode = "ScalarODE"
const std::string GRINS::scalar_ode_var_name_default = "scalar_var"

arbitrary scalar ODE variable name

Definition at line 69 of file variable_name_defaults.h.

Referenced by GRINS::ScalarODE::read_input_options().

const PhysicsName GRINS::spalart_allmaras = "SpalartAllmaras"
const PhysicsName GRINS::spalart_allmaras_spgsm_stab = "SpalartAllmarasSPGSMStabilization"

Definition at line 55 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::stokes = "Stokes"

Definition at line 35 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const std::string GRINS::T_var_name_default = "T"
const std::string GRINS::u_disp_name_default = "u"

Definition at line 89 of file variable_name_defaults.h.

const std::string GRINS::u_r_var_name_default = "r_vel"
const std::string GRINS::u_var_name_default = "u"

Default physics variable names.

These are the default string names for all the available physics variables. These can be reset by the user, but we provide sane defaults here.

Todo:
Should we put the default physics variable names in a class instead of just GRINS namespace?

x-velocity

Definition at line 42 of file variable_name_defaults.h.

Referenced by GRINS::Vorticity::init(), GRINS::ReactingLowMachNavierStokesBase< Mixture, Evaluator >::read_input_options(), and GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::read_input_options().

const std::string GRINS::u_z_var_name_default = "z_vel"
const std::string GRINS::v_disp_name_default = "v"

Definition at line 90 of file variable_name_defaults.h.

const std::string GRINS::v_var_name_default = "v"
const PhysicsName GRINS::velocity_drag = "VelocityDrag"
const PhysicsName GRINS::velocity_drag_adjoint_stab = "VelocityDragAdjointStabilization"

Definition at line 42 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::velocity_penalty = "VelocityPenalty"

Definition at line 43 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const PhysicsName GRINS::velocity_penalty2 = "VelocityPenalty2"
const PhysicsName GRINS::velocity_penalty2_adjoint_stab = "VelocityPenalty2AdjointStabilization"
const PhysicsName GRINS::velocity_penalty3 = "VelocityPenalty3"
const PhysicsName GRINS::velocity_penalty3_adjoint_stab = "VelocityPenalty3AdjointStabilization"
const PhysicsName GRINS::velocity_penalty_adjoint_stab = "VelocityPenaltyAdjointStabilization"

Definition at line 46 of file grins_physics_names.h.

Referenced by GRINS::PhysicsFactory::add_physics().

const std::string GRINS::vorticity = "vorticity"

Definition at line 31 of file qoi_names.h.

Referenced by GRINS::QoIFactory::add_qoi().

const std::string GRINS::w_disp_name_default = "w"

Definition at line 91 of file variable_name_defaults.h.

const std::string GRINS::w_var_name_default = "w"

Generated on Mon Jun 22 2015 21:32:21 for GRINS-0.6.0 by  doxygen 1.8.9.1