GRINS-0.6.0
|
#include <elastic_cable.h>
Public Member Functions | |
ElasticCable (const PhysicsName &physics_name, const GetPot &input, bool lambda_sq_var) | |
virtual | ~ElasticCable () |
virtual void | register_postprocessing_vars (const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing) |
Register postprocessing variables for ElasticCable. More... | |
virtual void | element_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Time dependent part(s) of physics for element interiors. More... | |
virtual void | side_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Time dependent part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | mass_residual (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | compute_postprocessed_quantity (unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value) |
Compute the registered postprocessed quantities. More... | |
virtual void | init_variables (libMesh::FEMSystem *system) |
Initialize variables for this physics. More... | |
virtual void | set_time_evolving_vars (libMesh::FEMSystem *system) |
Set which variables are time evolving. More... | |
virtual void | init_context (AssemblyContext &context) |
Initialize context for added physics variables. More... | |
virtual void | read_input_options (const GetPot &input) |
Read options from GetPot input file. By default, nothing is read. More... | |
virtual bool | enabled_on_elem (const libMesh::Elem *elem) |
Find if current physics is active on supplied element. More... | |
void | set_is_steady (bool is_steady) |
Sets whether this physics is to be solved with a steady solver or not. More... | |
bool | is_steady () const |
Returns whether or not this physics is being solved with a steady solver. More... | |
virtual void | auxiliary_init (MultiphysicsSystem &system) |
Any auxillary initialization a Physics class may need. More... | |
virtual void | nonlocal_time_derivative (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Time dependent part(s) of physics for scalar variables. More... | |
virtual void | element_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Constraint part(s) of physics for element interiors. More... | |
virtual void | side_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Constraint part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | nonlocal_constraint (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Constraint part(s) of physics for scalar variables. More... | |
virtual void | nonlocal_mass_residual (bool compute_jacobian, AssemblyContext &context, CachedValues &cache) |
Mass matrix part(s) for scalar variables. More... | |
void | init_bcs (libMesh::FEMSystem *system) |
void | init_ics (libMesh::FEMSystem *system, libMesh::CompositeFunction< libMesh::Number > &all_ics) |
void | attach_neumann_bound_func (GRINS::NBCContainer &neumann_bcs) |
void | attach_dirichlet_bound_func (const GRINS::DBCContainer &dirichlet_bc) |
virtual void | compute_element_time_derivative_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_side_time_derivative_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_nonlocal_time_derivative_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_element_constraint_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_side_constraint_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_nonlocal_constraint_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_mass_residual_cache (const AssemblyContext &context, CachedValues &cache) |
virtual void | compute_nonlocal_mass_residual_cache (const AssemblyContext &context, CachedValues &cache) |
BCHandlingBase * | get_bc_handler () |
ICHandlingBase * | get_ic_handler () |
virtual void | set_parameter (libMesh::Number ¶m_variable, const GetPot &input, const std::string ¶m_name, libMesh::Number param_default) |
Each subclass can simultaneously read a parameter value from. More... | |
virtual void | register_parameter (const std::string ¶m_name, libMesh::ParameterMultiPointer< libMesh::Number > ¶m_pointer) const |
Each subclass will register its copy of an independent. More... | |
Protected Member Functions | |
const libMesh::FEGenericBase< libMesh::Real > * | get_fe (const AssemblyContext &context) |
Protected Attributes | |
SolidMechanicsFEVariables | _disp_vars |
const PhysicsName | _physics_name |
Name of the physics object. Used for reading physics specific inputs. More... | |
GRINS::BCHandlingBase * | _bc_handler |
GRINS::ICHandlingBase * | _ic_handler |
std::set< libMesh::subdomain_id_type > | _enabled_subdomains |
Subdomains on which the current Physics class is enabled. More... | |
bool | _is_axisymmetric |
Static Protected Attributes | |
static bool | _is_steady = false |
Caches whether or not the solver that's being used is steady or not. More... | |
Private Member Functions | |
ElasticCable () | |
libMesh::AutoPtr< libMesh::FEGenericBase< libMesh::Real > > | build_new_fe (const libMesh::Elem &elem, const libMesh::FEGenericBase< libMesh::Real > *fe, const libMesh::Point p) |
void | compute_metric_tensors (unsigned int qp, const libMesh::FEBase &elem, const AssemblyContext &context, const libMesh::Gradient &grad_u, const libMesh::Gradient &grad_v, const libMesh::Gradient &grad_w, libMesh::TensorValue< libMesh::Real > &a_cov, libMesh::TensorValue< libMesh::Real > &a_contra, libMesh::TensorValue< libMesh::Real > &A_cov, libMesh::TensorValue< libMesh::Real > &A_contra, libMesh::Real &lambda_sq) |
Private Attributes | |
StressStrainLaw | _stress_strain_law |
libMesh::Real | _A |
bool | _is_compressible |
std::vector< unsigned int > | _stress_indices |
Index from registering this quantity. Each component will have it's own index. More... | |
std::vector< unsigned int > | _strain_indices |
Index from registering this quantity. Each component will have it's own index. More... | |
std::vector< unsigned int > | _force_indices |
Index from registering this quantity. Each component will have it's own index. More... | |
Definition at line 38 of file elastic_cable.h.
GRINS::ElasticCable< StressStrainLaw >::ElasticCable | ( | const PhysicsName & | physics_name, |
const GetPot & | input, | ||
bool | lambda_sq_var | ||
) |
Definition at line 46 of file elastic_cable.C.
References GRINS::ElasticCable< StressStrainLaw >::_A, GRINS::Physics::_bc_handler, GRINS::Physics::_ic_handler, and GRINS::ParameterUser::set_parameter().
|
virtual |
Definition at line 72 of file elastic_cable.C.
|
private |
|
inherited |
Definition at line 150 of file physics.C.
References GRINS::Physics::_bc_handler, and GRINS::BCHandlingBase::attach_dirichlet_bound_func().
|
inherited |
Definition at line 144 of file physics.C.
References GRINS::Physics::_bc_handler, and GRINS::BCHandlingBase::attach_neumann_bound_func().
|
virtualinherited |
Any auxillary initialization a Physics class may need.
This is called after all variables are added, so this method can safely query the MultiphysicsSystem about variable information.
|
private |
Definition at line 414 of file elastic_cable.C.
|
virtualinherited |
Definition at line 185 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::element_constraint().
|
virtualinherited |
Reimplemented in GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.
Definition at line 167 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::element_time_derivative().
|
virtualinherited |
Definition at line 203 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::mass_residual().
|
private |
Definition at line 446 of file elastic_cable.C.
|
virtualinherited |
Definition at line 197 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_constraint().
|
virtualinherited |
Definition at line 209 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_mass_residual().
|
virtualinherited |
Definition at line 179 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_time_derivative().
|
virtual |
Compute the registered postprocessed quantities.
Reimplemented from GRINS::Physics.
Definition at line 308 of file elastic_cable.C.
|
virtualinherited |
Definition at line 191 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::side_constraint().
|
virtualinherited |
Reimplemented in GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.
Definition at line 173 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::side_time_derivative().
|
virtualinherited |
Constraint part(s) of physics for element interiors.
Reimplemented in GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::AveragedTurbineAdjointStabilization< Viscosity >, GRINS::VelocityDragAdjointStabilization< Viscosity >, GRINS::AveragedFanAdjointStabilization< Viscosity >, GRINS::BoussinesqBuoyancySPGSMStabilization< Viscosity >, GRINS::ElasticMembrane< StressStrainLaw >, GRINS::Stokes< Viscosity >, GRINS::BoussinesqBuoyancyAdjointStabilization< Viscosity >, GRINS::ParsedVelocitySourceAdjointStabilization< Viscosity >, GRINS::VelocityPenaltyAdjointStabilization< Viscosity >, GRINS::IncompressibleNavierStokesAdjointStabilization< Viscosity >, and GRINS::IncompressibleNavierStokesSPGSMStabilization< Viscosity >.
Definition at line 236 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::element_constraint().
|
virtual |
Time dependent part(s) of physics for element interiors.
Reimplemented from GRINS::Physics.
Definition at line 134 of file elastic_cable.C.
|
virtualinherited |
Find if current physics is active on supplied element.
Definition at line 83 of file physics.C.
References GRINS::Physics::_enabled_subdomains.
|
inlineinherited |
|
inlineprotectedinherited |
Definition at line 67 of file elastic_cable_base.h.
References GRINS::ElasticCableBase::_disp_vars, and GRINS::SolidMechanicsVariables::u_var().
Referenced by GRINS::ElasticCableConstantGravity::element_time_derivative(), and GRINS::ElasticCableBase::init_context().
|
inlineinherited |
|
inherited |
Definition at line 118 of file physics.C.
References GRINS::Physics::_bc_handler, GRINS::BCHandlingBase::init_bc_data(), GRINS::BCHandlingBase::init_dirichlet_bc_func_objs(), GRINS::BCHandlingBase::init_dirichlet_bcs(), and GRINS::BCHandlingBase::init_periodic_bcs().
|
virtualinherited |
Initialize context for added physics variables.
Reimplemented from GRINS::Physics.
Definition at line 70 of file elastic_cable_base.C.
References GRINS::ElasticCableBase::get_fe().
|
inherited |
Definition at line 133 of file physics.C.
References GRINS::Physics::_ic_handler, and GRINS::ICHandlingBase::init_ic_data().
|
virtualinherited |
Initialize variables for this physics.
Implements GRINS::Physics.
Definition at line 51 of file elastic_cable_base.C.
References GRINS::ElasticCableBase::_disp_vars, and GRINS::SolidMechanicsFEVariables::init().
|
inherited |
Returns whether or not this physics is being solved with a steady solver.
Definition at line 103 of file physics.C.
References GRINS::Physics::_is_steady.
Referenced by GRINS::Physics::set_is_steady().
|
virtual |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part.
Reimplemented from GRINS::Physics.
Definition at line 299 of file elastic_cable.C.
|
virtualinherited |
Constraint part(s) of physics for scalar variables.
Reimplemented in GRINS::ScalarODE.
Definition at line 250 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_constraint().
|
virtualinherited |
Mass matrix part(s) for scalar variables.
Reimplemented in GRINS::ScalarODE, and GRINS::AveragedTurbine< Viscosity >.
Definition at line 264 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_mass_residual().
|
virtualinherited |
Time dependent part(s) of physics for scalar variables.
Reimplemented in GRINS::AveragedTurbine< Viscosity >, and GRINS::ScalarODE.
Definition at line 229 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::nonlocal_time_derivative().
|
virtualinherited |
Read options from GetPot input file. By default, nothing is read.
Reimplemented in GRINS::ScalarODE, GRINS::AveragedTurbineBase< Viscosity >, GRINS::AxisymmetricBoussinesqBuoyancy, GRINS::LowMachNavierStokesBase< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::AxisymmetricHeatTransfer< Conductivity >, GRINS::AveragedFanBase< Viscosity >, GRINS::ParsedVelocitySourceBase< Viscosity >, GRINS::VelocityDragBase< Viscosity >, GRINS::VelocityPenaltyBase< Viscosity >, GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, GRINS::HeatTransfer< Conductivity >, GRINS::ReactingLowMachNavierStokesBase< Mixture, Evaluator >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.
Definition at line 70 of file physics.C.
References GRINS::Physics::_enabled_subdomains, and GRINS::Physics::_physics_name.
Referenced by GRINS::HeatTransferBase< Conductivity >::HeatTransferBase(), GRINS::HeatTransferStabilizationBase< Conductivity >::HeatTransferStabilizationBase(), GRINS::IncompressibleNavierStokesAdjointStabilization< Viscosity >::IncompressibleNavierStokesAdjointStabilization(), GRINS::IncompressibleNavierStokesSPGSMStabilization< Viscosity >::IncompressibleNavierStokesSPGSMStabilization(), GRINS::Physics::Physics(), and GRINS::SpalartAllmarasSPGSMStabilization< Viscosity >::SpalartAllmarasSPGSMStabilization().
|
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().
|
virtual |
Register postprocessing variables for ElasticCable.
Reimplemented from GRINS::Physics.
Definition at line 79 of file elastic_cable.C.
References GRINS::elastic_cable, and GRINS::PostProcessedQuantities< NumericType >::register_quantity().
|
inherited |
Sets whether this physics is to be solved with a steady solver or not.
Since the member variable is static, only needs to be called on a single physics.
Definition at line 97 of file physics.C.
References GRINS::Physics::_is_steady, and GRINS::Physics::is_steady().
|
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().
|
virtualinherited |
Set which variables are time evolving.
Set those variables which evolve in time (as opposed to variables that behave like constraints). This is done separately from init_variables() because the MultiphysicsSystem must initialize its base class before time_evolving variables can be set. Default implementation is no time evolving variables.
Reimplemented from GRINS::Physics.
Definition at line 60 of file elastic_cable_base.C.
References GRINS::ElasticCableBase::_disp_vars, GRINS::SolidMechanicsVariables::u_var(), GRINS::SolidMechanicsVariables::v_var(), and GRINS::SolidMechanicsVariables::w_var().
|
virtualinherited |
Constraint part(s) of physics for boundaries of elements on the domain boundary.
Reimplemented in GRINS::IncompressibleNavierStokes< Viscosity >, GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >, and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >.
Definition at line 243 of file physics.C.
Referenced by GRINS::MultiphysicsSystem::side_constraint().
|
virtual |
Time dependent part(s) of physics for boundaries of elements on the domain boundary.
Reimplemented from GRINS::Physics.
Definition at line 281 of file elastic_cable.C.
|
private |
Definition at line 93 of file elastic_cable.h.
Referenced by GRINS::ElasticCable< StressStrainLaw >::ElasticCable().
|
protectedinherited |
Definition at line 256 of file physics.h.
Referenced by GRINS::Physics::attach_dirichlet_bound_func(), GRINS::Physics::attach_neumann_bound_func(), GRINS::AxisymmetricHeatTransfer< Conductivity >::AxisymmetricHeatTransfer(), GRINS::ElasticCable< StressStrainLaw >::ElasticCable(), GRINS::ElasticMembrane< StressStrainLaw >::ElasticMembrane(), GRINS::Physics::get_bc_handler(), GRINS::HeatConduction< Conductivity >::HeatConduction(), GRINS::HeatTransfer< Conductivity >::HeatTransfer(), GRINS::IncompressibleNavierStokes< Viscosity >::IncompressibleNavierStokes(), GRINS::Physics::init_bcs(), GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokes(), GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >::ReactingLowMachNavierStokes(), GRINS::SpalartAllmaras< Viscosity >::SpalartAllmaras(), GRINS::Stokes< Viscosity >::Stokes(), and GRINS::Physics::~Physics().
|
protectedinherited |
Definition at line 56 of file elastic_cable_base.h.
Referenced by GRINS::ElasticCableConstantGravity::element_time_derivative(), GRINS::ElasticCableBase::get_fe(), GRINS::ElasticCableBase::init_variables(), and GRINS::ElasticCableBase::set_time_evolving_vars().
|
protectedinherited |
Subdomains on which the current Physics class is enabled.
Definition at line 261 of file physics.h.
Referenced by GRINS::Physics::enabled_on_elem(), and GRINS::Physics::read_input_options().
|
private |
Index from registering this quantity. Each component will have it's own index.
Definition at line 104 of file elastic_cable.h.
|
protectedinherited |
Definition at line 258 of file physics.h.
Referenced by GRINS::AveragedTurbine< Viscosity >::AveragedTurbine(), GRINS::AxisymmetricHeatTransfer< Conductivity >::AxisymmetricHeatTransfer(), GRINS::ElasticCable< StressStrainLaw >::ElasticCable(), GRINS::ElasticMembrane< StressStrainLaw >::ElasticMembrane(), GRINS::Physics::get_ic_handler(), GRINS::HeatConduction< Conductivity >::HeatConduction(), GRINS::HeatTransfer< Conductivity >::HeatTransfer(), GRINS::IncompressibleNavierStokes< Viscosity >::IncompressibleNavierStokes(), GRINS::Physics::init_ics(), GRINS::LowMachNavierStokes< Viscosity, SpecificHeat, ThermalConductivity >::LowMachNavierStokes(), GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >::ReactingLowMachNavierStokes(), GRINS::ScalarODE::ScalarODE(), GRINS::SpalartAllmaras< Viscosity >::SpalartAllmaras(), GRINS::Stokes< Viscosity >::Stokes(), and GRINS::Physics::~Physics().
|
protectedinherited |
Definition at line 268 of file physics.h.
Referenced by GRINS::HeatTransfer< Conductivity >::HeatTransfer(), GRINS::IncompressibleNavierStokes< Viscosity >::IncompressibleNavierStokes(), GRINS::Physics::Physics(), and GRINS::ReactingLowMachNavierStokes< Mixture, Evaluator >::ReactingLowMachNavierStokes().
|
private |
Definition at line 95 of file elastic_cable.h.
|
staticprotectedinherited |
Caches whether or not the solver that's being used is steady or not.
This is need, for example, in flow stabilization as the tau terms change depending on whether the solver is steady or unsteady.
Definition at line 266 of file physics.h.
Referenced by GRINS::Physics::is_steady(), and GRINS::Physics::set_is_steady().
|
protectedinherited |
Name of the physics object. Used for reading physics specific inputs.
We use a reference because the physics names are const global objects in GRINS namespace
No, we use a copy, because otherwise as soon as the memory in std::set<std::string> requested_physics gets overwritten we get in trouble.
Definition at line 254 of file physics.h.
Referenced by GRINS::SourceTermBase::parse_var_info(), and GRINS::Physics::read_input_options().
|
private |
Index from registering this quantity. Each component will have it's own index.
Definition at line 101 of file elastic_cable.h.
|
private |
Index from registering this quantity. Each component will have it's own index.
Definition at line 98 of file elastic_cable.h.
|
private |
Definition at line 91 of file elastic_cable.h.