GRINS-0.6.0
|
Object for constructing list of physics for simulation. More...
#include <physics_factory.h>
Public Types | |
typedef std::tr1::shared_ptr< Physics > | PhysicsPtr |
typedef std::pair< std::string, PhysicsPtr > | PhysicsPair |
Public Member Functions | |
PhysicsFactory () | |
virtual | ~PhysicsFactory () |
Destructor does not need to delete std::tr1::shared_ptr's. More... | |
GRINS::PhysicsList | build (const GetPot &input) |
Builds PhysicsList. This is the primary function of this class. More... | |
Protected Member Functions | |
virtual void | add_physics (const GetPot &input, const std::string &physics_to_add, GRINS::PhysicsList &physics_list) |
Figures out which GRINS::Physics pointer to create. More... | |
virtual void | check_physics_consistency (const GRINS::PhysicsList &physics_list) |
Make sure the requested GRINS::Physics classes are consistent. More... | |
void | physics_consistency_error (const std::string physics_checked, const std::string physics_required) const |
Utility function. More... | |
Object for constructing list of physics for simulation.
PhysicsFactory will construct the appropriate GRINS::PhysicsList to be handed to the GRINS::MultiphysicsSystem class. The list of GRINS::Physics objects constructed is set at run time.
Definition at line 45 of file physics_factory.h.
typedef std::pair< std::string, PhysicsPtr > GRINS::PhysicsFactory::PhysicsPair |
Definition at line 58 of file physics_factory.h.
typedef std::tr1::shared_ptr<Physics> GRINS::PhysicsFactory::PhysicsPtr |
Definition at line 57 of file physics_factory.h.
GRINS::PhysicsFactory::PhysicsFactory | ( | ) |
Definition at line 385 of file physics_factory.C.
|
virtual |
Destructor does not need to delete std::tr1::shared_ptr's.
Definition at line 390 of file physics_factory.C.
|
protectedvirtual |
Figures out which GRINS::Physics pointer to create.
This is the primary method to override if the user wants to extend the physics capabilities. The strategy is to conditionally add the physics you want, then call the parent PhysicsFactory::add_physics function.
Definition at line 441 of file physics_factory.C.
References GRINS::averaged_fan, GRINS::averaged_fan_adjoint_stab, GRINS::averaged_turbine, GRINS::axisymmetric_boussinesq_buoyancy, GRINS::axisymmetric_heat_transfer, GRINS::boussinesq_buoyancy, GRINS::boussinesq_buoyancy_adjoint_stab, GRINS::boussinesq_buoyancy_spgsm_stab, GRINS::constant_source_term, GRINS::elastic_cable, GRINS::elastic_cable_constant_gravity, GRINS::elastic_membrane, GRINS::elastic_membrane_constant_pressure, GRINS::heat_transfer, GRINS::heat_transfer_adjoint_stab, GRINS::heat_transfer_source, GRINS::heat_transfer_spgsm_stab, GRINS::incompressible_navier_stokes, GRINS::incompressible_navier_stokes_adjoint_stab, GRINS::incompressible_navier_stokes_spgsm_stab, GRINS::low_mach_navier_stokes, GRINS::low_mach_navier_stokes_braack_stab, GRINS::low_mach_navier_stokes_spgsm_stab, GRINS::low_mach_navier_stokes_vms_stab, GRINS::new_mu_class< SpalartAllmaras >(), GRINS::parsed_source_term, GRINS::parsed_velocity_source, GRINS::parsed_velocity_source_adjoint_stab, GRINS::reacting_low_mach_navier_stokes, GRINS::scalar_ode, GRINS::spalart_allmaras, GRINS::spalart_allmaras_spgsm_stab, GRINS::stokes, GRINS::velocity_drag, GRINS::velocity_drag_adjoint_stab, GRINS::velocity_penalty, GRINS::velocity_penalty2, GRINS::velocity_penalty2_adjoint_stab, GRINS::velocity_penalty3, GRINS::velocity_penalty3_adjoint_stab, and GRINS::velocity_penalty_adjoint_stab.
Referenced by build().
PhysicsList GRINS::PhysicsFactory::build | ( | const GetPot & | input | ) |
Builds PhysicsList. This is the primary function of this class.
Definition at line 395 of file physics_factory.C.
References add_physics(), and check_physics_consistency().
|
protectedvirtual |
Make sure the requested GRINS::Physics classes are consistent.
This is the other method to override (in addition to add_physics) for extending physics capabilities. The strategy is to check on the physics you've added, then call the parent PhysicsFactory::check_physics_consistency.
Definition at line 710 of file physics_factory.C.
References GRINS::axisymmetric_boussinesq_buoyancy, GRINS::axisymmetric_heat_transfer, GRINS::boussinesq_buoyancy, GRINS::boussinesq_buoyancy_adjoint_stab, GRINS::heat_transfer, GRINS::heat_transfer_adjoint_stab, GRINS::heat_transfer_source, GRINS::incompressible_navier_stokes, GRINS::incompressible_navier_stokes_adjoint_stab, GRINS::incompressible_navier_stokes_spgsm_stab, GRINS::low_mach_navier_stokes, physics_consistency_error(), and GRINS::reacting_low_mach_navier_stokes.
Referenced by build().
|
protected |
Utility function.
Definition at line 836 of file physics_factory.C.
Referenced by check_physics_consistency().