GRINS-0.6.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GRINS::ParsedConductivity Class Reference

#include <parsed_conductivity.h>

Inheritance diagram for GRINS::ParsedConductivity:
Inheritance graph
[legend]
Collaboration diagram for GRINS::ParsedConductivity:
Collaboration graph
[legend]

Public Member Functions

 ParsedConductivity (const GetPot &input)
 
 ~ParsedConductivity ()
 
libMesh::Real operator() (AssemblyContext &context, unsigned int qp) const
 
libMesh::Real operator() (const libMesh::Point &p, const libMesh::Real time)
 
virtual void set_parameter (libMesh::Number &param_variable, const GetPot &input, const std::string &param_name, libMesh::Number param_default)
 Each subclass can simultaneously read a parameter value from. More...
 
virtual void register_parameter (const std::string &param_name, libMesh::ParameterMultiPointer< libMesh::Number > &param_pointer) const
 Each subclass will register its copy of an independent. More...
 

Private Member Functions

 ParsedConductivity ()
 

Private Attributes

libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > k
 

Detailed Description

Definition at line 44 of file parsed_conductivity.h.

Constructor & Destructor Documentation

GRINS::ParsedConductivity::ParsedConductivity ( const GetPot &  input)

Definition at line 29 of file parsed_conductivity.C.

References k.

29  :
30  ParameterUser("ParsedConductivity")
31  {
32  if( !input.have_variable("Materials/Conductivity/k") )
33  {
34  std::cerr<<"No conductivity has been specified."<<std::endl;
35 
36  libmesh_error();
37  }
38  else
39  {
40  std::string conductivity_function = input("Materials/Conductivity/k",std::string("0"));
41 
42  k.reset(new libMesh::ParsedFunction<libMesh::Number>(conductivity_function));
43 
44  if (conductivity_function == "0")
45  {
46  std::cerr << "Warning! Zero Conductivity specified!" << std::endl;
47 
48  libmesh_error();
49  }
50  }
51 
52  return;
53  }
libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > k
ParameterUser(const std::string &user_name)
GRINS::ParsedConductivity::~ParsedConductivity ( )

Definition at line 55 of file parsed_conductivity.C.

56  {
57  return;
58  }
GRINS::ParsedConductivity::ParsedConductivity ( )
private

Member Function Documentation

libMesh::Real GRINS::ParsedConductivity::operator() ( AssemblyContext context,
unsigned int  qp 
) const
inline

Definition at line 66 of file parsed_conductivity.h.

67  {
68  // FIXME: We should be getting the variable index to get the qps from the context
69  // not hardcode it to be 0
70  const std::vector<libMesh::Point>& x = context.get_element_fe(0)->get_xyz();
71 
72  const libMesh::Point& x_qp = x[qp];
73 
74  libMesh::Number _k_value = (*k)(x_qp,context.time);
75 
76  return _k_value;
77  }
libMesh::Real GRINS::ParsedConductivity::operator() ( const libMesh::Point &  p,
const libMesh::Real  time 
)
inline

Definition at line 80 of file parsed_conductivity.h.

References k.

81  {
82  return (*k)(p,time);
83  }
libMesh::AutoPtr< libMesh::FunctionBase< libMesh::Number > > k
void GRINS::ParameterUser::register_parameter ( const std::string &  param_name,
libMesh::ParameterMultiPointer< libMesh::Number > &  param_pointer 
) const
virtualinherited

Each subclass will register its copy of an independent.

Reimplemented in GRINS::AxisymmetricHeatTransfer< Conductivity >, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::IncompressibleNavierStokesBase< Viscosity >, GRINS::BoussinesqBuoyancySPGSMStabilization< Viscosity >, GRINS::HeatConduction< Conductivity >, GRINS::HeatTransferBase< Conductivity >, and GRINS::BoussinesqBuoyancyAdjointStabilization< Viscosity >.

Definition at line 50 of file parameter_user.C.

Referenced by GRINS::BoussinesqBuoyancyAdjointStabilization< Viscosity >::register_parameter(), GRINS::HeatTransferBase< Conductivity >::register_parameter(), GRINS::HeatConduction< Conductivity >::register_parameter(), GRINS::BoussinesqBuoyancySPGSMStabilization< Viscosity >::register_parameter(), GRINS::IncompressibleNavierStokesBase< Viscosity >::register_parameter(), GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >::register_parameter(), and GRINS::AxisymmetricHeatTransfer< Conductivity >::register_parameter().

53  {
54  std::map<std::string, libMesh::Number*>::const_iterator it =
55  _my_parameters.find(param_name);
56 
57  if (it != _my_parameters.end())
58  {
59  std::cout << _my_name << " uses parameter " << param_name
60  << std::endl;
61  param_pointer.push_back(it->second);
62  }
63  }
std::map< std::string, libMesh::Number * > _my_parameters
void GRINS::ParameterUser::set_parameter ( libMesh::Number &  param_variable,
const GetPot &  input,
const std::string &  param_name,
libMesh::Number  param_default 
)
virtualinherited

Each subclass can simultaneously read a parameter value from.

Definition at line 35 of file parameter_user.C.

References GRINS::ParameterUser::_my_name, and GRINS::ParameterUser::_my_parameters.

Referenced by GRINS::AveragedFanAdjointStabilization< Viscosity >::AveragedFanAdjointStabilization(), GRINS::AveragedTurbineAdjointStabilization< Viscosity >::AveragedTurbineAdjointStabilization(), GRINS::BoussinesqBuoyancyAdjointStabilization< Viscosity >::BoussinesqBuoyancyAdjointStabilization(), GRINS::BoussinesqBuoyancyBase::BoussinesqBuoyancyBase(), GRINS::BoussinesqBuoyancySPGSMStabilization< Viscosity >::BoussinesqBuoyancySPGSMStabilization(), GRINS::ConstantConductivity::ConstantConductivity(), GRINS::ConstantPrandtlConductivity::ConstantPrandtlConductivity(), GRINS::ConstantSourceFunction::ConstantSourceFunction(), GRINS::ConstantSourceTerm::ConstantSourceTerm(), GRINS::ConstantSpecificHeat::ConstantSpecificHeat(), GRINS::ConstantViscosity::ConstantViscosity(), GRINS::ElasticCable< StressStrainLaw >::ElasticCable(), GRINS::ElasticCableConstantGravity::ElasticCableConstantGravity(), GRINS::ElasticMembrane< StressStrainLaw >::ElasticMembrane(), GRINS::ElasticMembraneConstantPressure::ElasticMembraneConstantPressure(), GRINS::HeatConduction< Conductivity >::HeatConduction(), GRINS::HeatTransferBase< Conductivity >::HeatTransferBase(), GRINS::IncompressibleNavierStokesBase< Viscosity >::IncompressibleNavierStokesBase(), GRINS::AverageNusseltNumber::init(), GRINS::MooneyRivlin::MooneyRivlin(), GRINS::ReactingLowMachNavierStokesBase< Mixture, Evaluator >::ReactingLowMachNavierStokesBase(), GRINS::HookesLaw1D::read_input_options(), GRINS::HookesLaw::read_input_options(), GRINS::AxisymmetricBoussinesqBuoyancy::read_input_options(), and GRINS::VelocityDragAdjointStabilization< Viscosity >::VelocityDragAdjointStabilization().

39  {
40  param_variable = input(param_name, param_default);
41 
42  libmesh_assert_msg(!_my_parameters.count(param_name),
43  "ERROR: " << _my_name << " double-registered parameter " <<
44  param_name);
45 
46  _my_parameters[param_name] = &param_variable;
47  }
std::map< std::string, libMesh::Number * > _my_parameters

Member Data Documentation

libMesh::AutoPtr<libMesh::FunctionBase<libMesh::Number> > GRINS::ParsedConductivity::k
private

Definition at line 60 of file parsed_conductivity.h.

Referenced by operator()(), and ParsedConductivity().


The documentation for this class was generated from the following files:

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