COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Solver Class Reference

Manage a collection of UFEM solvers. More...

#include <Solver.hpp>

Inherits SimpleSolver.

Public Member Functions

 Solver (const std::string &name)
 
virtual ~Solver ()
 Virtual destructor. More...
 
Handle< common::Actionadd_direct_solver (const std::string &builder_name)
 
Handle< common::Actionadd_unsteady_solver (const std::string &builder_name)
 
Handle< common::Actionadd_unsteady_advance_solver (const std::string &builder_name)
 
Handle< common::Actionadd_iteration_solver (const std::string &builder_name)
 
Handle< common::Actionadd_restart_writer ()
 Add a restart writer. More...
 
Handle< InitialConditionscreate_initial_conditions ()
 Create an initial conditions component. More...
 
void create_fields ()
 Create the fields, based on the current solver structure. More...
 
Handle< solver::actions::Probeadd_probe (const std::string &name, Component &parent, const Handle< mesh::Dictionary > &dict=Handle< mesh::Dictionary >())
 
void signature_add_solver (common::SignalArgs &args)
 
void signal_add_direct_solver (common::SignalArgs &args)
 
void signal_add_unsteady_solver (common::SignalArgs &args)
 
void signal_add_unsteady_advance_solver (common::SignalArgs &args)
 
void signal_add_iteration_solver (common::SignalArgs &args)
 
void signal_add_restart_writer (common::SignalArgs &args)
 
void signal_create_initial_conditions (common::SignalArgs &args)
 
void signal_create_fields (common::SignalArgs &args)
 
void signature_add_probe (common::SignalArgs &args)
 
void signal_add_probe (common::SignalArgs &args)
 
virtual void mesh_loaded (mesh::Mesh &mesh)
 
virtual void mesh_changed (mesh::Mesh &mesh)
 Called when a mesh is changed into the domain that is associated with this solver. More...
 
virtual void execute ()
 Execute all active child actions. More...
 
- Public Member Functions inherited from SimpleSolver
 SimpleSolver (const std::string &name)
 
virtual ~SimpleSolver ()
 Virtual destructor. More...
 
- Public Member Functions inherited from Solver
 Solver (const std::string &name)
 
mesh::FieldManagerfield_manager ()
 Access to the FieldManager, which is a static subcomponent of Solver. More...
 
- Public Member Functions inherited from ActionDirector
 ActionDirector (const std::string &name)
 
- Public Member Functions inherited from Action
 Action (const std::string &name)
 
virtual Actioncreate_action (const std::string &action_provider, const std::string &name)
 
void signal_execute (common::SignalArgs &node)
 signal to execute this action More...
 
- Public Member Functions inherited from IAction
virtual ~IAction ()
 
- Public Member Functions inherited from Component
 Component (const std::string &name)
 
virtual ~Component ()
 Virtual destructor. More...
 
const std::string & name () const
 Access the name of the component. More...
 
void rename (const std::string &name)
 Rename the component. More...
 
URI uri () const
 Construct the full path. More...
 
void complete_path (URI &path) const
 
Handle< Componentaccess_component (const URI &path) const
 
Handle< Componentaccess_component_checked (const URI &path)
 
Handle< Component const > access_component_checked (const URI &path) const
 
Handle< Componenthandle ()
 Get a handle to the component. More...
 
Handle< Component const > handle () const
 
template<typename ComponentT >
Handle< ComponentT > handle ()
 
template<typename ComponentT >
Handle< ComponentT const > handle () const
 
Handle< Componentparent () const
 
Handle< Component const > root () const
 
Handle< Componentroot ()
 
Handle< Componentget_child (const std::string &name)
 
Handle< Component const > get_child (const std::string &name) const
 
Handle< Componentget_child_checked (const std::string &name)
 
Handle< Component const > get_child_checked (const std::string &name) const
 
Handle< Componentcreate_component (const std::string &name, const std::string &builder)
 Build a (sub)component of this component using the extended type_name of the component. More...
 
template<typename T >
Handle< T > create_component (const std::string &name)
 Create a (sub)component of this component automatically cast to the specified type. More...
 
template<typename T >
Handle< T > create_static_component (const std::string &name)
 Create a static "always there" subcomponent. More...
 
Componentadd_component (const boost::shared_ptr< Component > &subcomp)
 Add the passed component as a subcomponent. More...
 
void add_link (Component &linked_component)
 
boost::shared_ptr< Componentremove_component (const std::string &name)
 Remove a (sub)component of this component. More...
 
boost::shared_ptr< Componentremove_component (Component &subcomp)
 Remove a (sub)component of this component. More...
 
void clear ()
 Remove all sub-components of this component, except for the static ones. More...
 
void move_to (Component &to_parent)
 
std::string tree (bool basic_mode=false, Uint depth=0, Uint recursion_level=0) const
 
std::string info (const std::string &what=std::string("cospt")) const
 
size_t count_children () const
 
virtual std::string derived_type_name () const =0
 
PropertyListproperties ()
 
const PropertyListproperties () const
 
OptionListoptions ()
 
const OptionListoptions () const
 
void reset_options ()
 Reset all options to their default value. More...
 
void configure_option_recursively (const std::string &optname, const boost::any &val)
 
Componentmark_basic ()
 marks this component as basic. More...
 
template<typename ComponentT >
void put_components (std::vector< boost::shared_ptr< ComponentT > > &vec, const bool recurse)
 
template<typename ComponentT >
void put_components (std::vector< boost::shared_ptr< ComponentT const > > &vec, const bool recurse) const
 
template<>
void put_components (std::vector< boost::shared_ptr< Component > > &vec, const bool recurse)
 
template<>
void put_components (std::vector< boost::shared_ptr< Component const > > &vec, const bool recurse) const
 
Component::iterator begin ()
 The begin iterator for a range containing Components. More...
 
Component::iterator end ()
 The end iterator for a range containing Components. More...
 
Component::const_iterator begin () const
 The begin iterator for a range containing Components (const version) More...
 
Component::const_iterator end () const
 The end iterator for a range containing Components (const version) More...
 
Component::iterator recursive_begin ()
 The begin iterator for a recursive range containing Components. More...
 
Component::iterator recursive_end ()
 The end iterator for a recursive range containing Components. More...
 
Component::const_iterator recursive_begin () const
 The begin iterator for a recursive range containing Components (const version) More...
 
Component::const_iterator recursive_end () const
 The end iterator for a recursive range containing Components (const version) More...
 
template<typename T >
Handle< T > create_component (const std::string &name, const std::string &builder)
 Create a component using the reduced builder name. More...
 
void signal_configure (SignalArgs &args)
 configures all the options on this class More...
 
void signal_create_component (SignalArgs &args)
 creates a component from this component More...
 
void signal_delete_component (SignalArgs &args)
 delete this component More...
 
void signal_move_component (SignalArgs &args)
 moves a component from this component to another More...
 
void signal_list_tree (SignalArgs &args) const
 lists the sub components and puts them on the xml_tree More...
 
void signal_list_tree_recursive (SignalArgs &args) const
 prints tree recursively More...
 
void signal_list_properties (SignalArgs &args) const
 lists the properties of this component More...
 
void signal_list_options (SignalArgs &args) const
 lists the properties of this component More...
 
void signal_list_options_recursive (SignalArgs &args) const
 prints all options recursive More...
 
void signal_list_signals (SignalArgs &args) const
 lists the signals of this component More...
 
void signal_list_signals_recursive (SignalArgs &args) const
 prints all signals recursive More...
 
void signal_print_info (SignalArgs &args) const
 gets info on this component More...
 
void signal_print_tree (SignalArgs &args) const
 signal to print the tree More...
 
void signature_print_tree (SignalArgs &args) const
 signature to signal_print_tree More...
 
void signal_rename_component (SignalArgs &args)
 renames this component More...
 
void signal_save_tree (SignalArgs &args)
 dumps the tree to a file More...
 
void signal_list_content (SignalArgs &args)
 gives information about this component such as options, signals, ... More...
 
void signal_signature (SignalArgs &args)
 Gives a signal signature, if any. More...
 
void signature_create_component (SignalArgs &args)
 
void signature_rename_component (SignalArgs &args)
 
void signature_move_component (SignalArgs &args)
 
void signal_store_timings (SignalArgs &args)
 Signal to store the timings (if enabled) into properties, i.e. for readout from python or the GUI. More...
 
void signal_clear (SignalArgs &args)
 Signal to remove all sub-components. More...
 
void signal_reset_options (SignalArgs &args)
 Signal to set all options to their default value. More...
 
void signal_add_tag (SignalArgs &args)
 Signal to add a tag. More...
 
void signature_add_tag (SignalArgs &args)
 
- Public Member Functions inherited from SignalHandler
 ~SignalHandler ()
 
const storage_tsignal_list () const
 
SignalPtr signal (const SignalID &sname)
 
SignalCPtr signal (const SignalID &sname) const
 
SignalRet call_signal (const SignalID &sname, SignalArgs &sinput)
 Calls the signal by providing its name and input. More...
 
SignalRet call_signal (const SignalID &sname, std::vector< std::string > &sinput)
 Calls the signal by providing its name and input. More...
 
bool signal_exists (const SignalID &sname) const
 Checks if a signal exists or not. More...
 
Signalregist_signal (const SignalID &sname)
 Regist signal. More...
 
void unregist_signal (const SignalID &sname)
 Unregist signal. More...
 
- Public Member Functions inherited from ConnectionManager
 ~ConnectionManager ()
 destructor closes all connections More...
 
Connectionconnection (const std::string &name)
 
Connectionmanage_connection (const std::string &name)
 manages a connection (creates if necessary) More...
 
- Public Member Functions inherited from TaggedObject
 TaggedObject ()
 Constructor. More...
 
bool has_tag (const std::string &tag) const
 
void add_tag (const std::string &tag)
 
std::vector< std::string > get_tags () const
 
void remove_tag (const std::string &tag)
 

Static Public Member Functions

static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from SimpleSolver
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from Solver
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from ActionDirector
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from Action
static std::string type_name ()
 Get the class name. More...
 
- Static Public Member Functions inherited from Component
static std::string type_name ()
 Get the class name. More...
 

Private Member Functions

void on_variables_added_event (common::SignalArgs &args)
 Triggered by the "ufem_variables_added" event. More...
 
Handle< common::Actionadd_solver (const std::string &builder_name, Component &parent)
 Helper function to add a concrete solver to the giving parent, configuring its options as needed. More...
 

Private Attributes

Handle< InitialConditionsm_initial_conditions
 
bool m_need_field_creation
 

Additional Inherited Members

- Public Types inherited from Component
typedef ComponentIterator< Componentiterator
 type of the iterator to Component More...
 
typedef ComponentIterator< Component const > const_iterator
 type of the iterator to constant Component More...
 
- Public Types inherited from SignalHandler
typedef std::vector< SignalPtrstorage_t
 storage type for signals More...
 
- Public Attributes inherited from SignalHandler
storage_t m_signals
 storage of the signals More...
 
- Protected Member Functions inherited from SimpleSolver
mesh::Meshmesh ()
 Checked access to the mesh. More...
 
- Protected Member Functions inherited from Solver
mesh::Domaindomain ()
 Checked access to the domain (throws if domain is not properly configured) More...
 
physics::PhysModelphysics ()
 Checked access to the physical model. More...
 
void trigger_physical_model ()
 
- Protected Member Functions inherited from ActionDirector
bool is_disabled (const std::string &name)
 True if the passed action is disabled. More...
 
- Protected Member Functions inherited from Component
Componentadd_static_component (const boost::shared_ptr< Component > &subcomp)
 Add a static (sub)component of this component. More...
 
void raise_tree_updated_event ()
 raise event that the path has changed More...
 
- Protected Attributes inherited from SimpleSolver
Handle< mesh::Meshm_mesh
 Weak pointer to the mesh that was last loaded, or expired otherwise. More...
 
- Protected Attributes inherited from Solver
Handle< physics::PhysModelm_physics
 Raw access to the physics. More...
 

Detailed Description

Manage a collection of UFEM solvers.

Definition at line 31 of file Solver.hpp.

Constructor & Destructor Documentation

Solver ( const std::string &  name)

Contructor

Parameters
nameof the component
virtual ~Solver ( )
virtual

Virtual destructor.

Reimplemented from Solver.

Member Function Documentation

Handle< common::Action > add_direct_solver ( const std::string &  builder_name)

Create a solver where each LSS only requires a single solve to reach steady state. An initialization step is added automatically

Parameters
builder_nameBuilder for the actions to add

Definition at line 128 of file Solver.cpp.

Handle< common::Action > add_iteration_solver ( const std::string &  builder_name)

Create a solver where each LSS requires a multiple solve to reach steady state. An initialization step is added automatically

Parameters
builder_namesList of builders for the actions to add

Definition at line 195 of file Solver.cpp.

Handle< Probe > add_probe ( const std::string &  name,
Component parent,
const Handle< mesh::Dictionary > &  dict = Handle<mesh::Dictionary>() 
)

Definition at line 482 of file Solver.cpp.

Handle< common::Action > add_restart_writer ( )

Add a restart writer.

Definition at line 227 of file Solver.cpp.

Handle< common::Action > add_solver ( const std::string &  builder_name,
Component parent 
)
private

Helper function to add a concrete solver to the giving parent, configuring its options as needed.

Definition at line 465 of file Solver.cpp.

Handle< common::Action > add_unsteady_advance_solver ( const std::string &  builder_name)

Create a solver where each LSS only requires a single solve to reach steady state. An initialization step is added automatically the unsteady solver is advanced multiple times

Parameters
builder_namesList of builders for the actions to add

Definition at line 165 of file Solver.cpp.

Handle< common::Action > add_unsteady_solver ( const std::string &  builder_name)

Create a solver where each LSS only requires a single solve to reach steady state. An initialization step is added automatically

Parameters
builder_namesList of builders for the actions to add

Definition at line 138 of file Solver.cpp.

void create_fields ( )

Create the fields, based on the current solver structure.

Definition at line 358 of file Solver.cpp.

Handle< InitialConditions > create_initial_conditions ( )

Create an initial conditions component.

Definition at line 248 of file Solver.cpp.

void execute ( )
virtual

Execute all active child actions.

Reimplemented from ActionDirector.

Definition at line 535 of file Solver.cpp.

virtual void mesh_changed ( mesh::Mesh mesh)
virtual

Called when a mesh is changed into the domain that is associated with this solver.

Reimplemented from Solver.

virtual void mesh_loaded ( mesh::Mesh mesh)
virtual

When a mesh is loaded into the domain, set this as the mesh returned by mesh() and create the fields, based on registered fields in the physical model (if any)

Reimplemented from SimpleSolver.

void on_variables_added_event ( common::SignalArgs args)
private

Triggered by the "ufem_variables_added" event.

Definition at line 351 of file Solver.cpp.

void signal_add_direct_solver ( common::SignalArgs args)

Definition at line 273 of file Solver.cpp.

void signal_add_iteration_solver ( common::SignalArgs args)

Definition at line 303 of file Solver.cpp.

void signal_add_probe ( common::SignalArgs args)

Definition at line 505 of file Solver.cpp.

void signal_add_restart_writer ( common::SignalArgs args)

Definition at line 313 of file Solver.cpp.

void signal_add_unsteady_advance_solver ( common::SignalArgs args)

Definition at line 293 of file Solver.cpp.

void signal_add_unsteady_solver ( common::SignalArgs args)

Definition at line 283 of file Solver.cpp.

void signal_create_fields ( common::SignalArgs args)

Definition at line 333 of file Solver.cpp.

void signal_create_initial_conditions ( common::SignalArgs args)

Definition at line 324 of file Solver.cpp.

void signature_add_probe ( common::SignalArgs args)

Definition at line 525 of file Solver.cpp.

void signature_add_solver ( common::SignalArgs args)

Definition at line 265 of file Solver.cpp.

static std::string type_name ( )
inlinestatic

Get the class name.

Definition at line 42 of file Solver.hpp.

Member Data Documentation

Handle<InitialConditions> m_initial_conditions
private

Definition at line 98 of file Solver.hpp.

bool m_need_field_creation
private

Definition at line 99 of file Solver.hpp.


The documentation for this class was generated from the following files:
Send comments to:
COOLFluiD Web Admin