COOLFluiD
Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
|
Translation class to link concrete static implementations to the dynamic API. More...
#include <ElementTypeT.hpp>
Inherits ElementType.
Public Member Functions | |
Accessor functions | |
virtual const ShapeFunction & | shape_function () const |
virtual const FaceConnectivity & | faces () const |
virtual const ElementType & | face_type (const Uint face) const |
Computation functions | |
virtual RealVector | mapped_coordinate (const RealVector &coord, const RealMatrix &nodes) const |
virtual void | compute_mapped_coordinate (const RealVector &coord, const RealMatrix &nodes, RealVector &mapped_coord) const |
virtual Real | jacobian_determinant (const RealVector &mapped_coord, const RealMatrix &nodes) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, RealMatrix &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 0, 1 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 0, 2 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 0, 3 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 1, 1 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 1, 2 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 1, 3 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 2, 2 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 2, 3 > &jacobian) const |
virtual void | compute_jacobian (const RealVector &mapped_coord, const RealMatrix &nodes, Eigen::Matrix< Real, 3, 3 > &jacobian) const |
virtual RealMatrix | jacobian (const RealVector &mapped_coord, const RealMatrix &nodes) const |
virtual void | compute_jacobian_adjoint (const RealVector &mapped_coord, const RealMatrix &nodes, RealMatrix &jacobian_adjoint) const |
virtual Real | volume (const RealMatrix &nodes) const |
virtual Real | area (const RealMatrix &nodes) const |
virtual void | compute_normal (const RealMatrix &nodes, RealVector &normal) const |
virtual void | compute_centroid (const RealMatrix &nodes, RealVector ¢roid) const |
virtual bool | is_coord_in_element (const RealVector &coord, const RealMatrix &nodes) const |
virtual RealVector | plane_jacobian_normal (const RealVector &mapped_coord, const RealMatrix &nodes, const CoordRef orientation) const |
virtual void | compute_plane_jacobian_normal (const RealVector &mapped_coord, const RealMatrix &nodes, const CoordRef orientation, RealVector &result) const |
Public Member Functions inherited from ElementType | |
std::string | shape_name () const |
GeoShape::Type | shape () const |
Uint | nb_faces () const |
Uint | nb_edges () const |
Uint | nb_nodes () const |
Uint | order () const |
Uint | dimensionality () const |
Uint | dimension () const |
ElementType (const std::string &name) | |
Default constructor without arguments. More... | |
virtual | ~ElementType () |
Default destructor. More... | |
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< Component > | access_component (const URI &path) const |
Handle< Component > | access_component_checked (const URI &path) |
Handle< Component const > | access_component_checked (const URI &path) const |
Handle< Component > | handle () |
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< Component > | parent () const |
Handle< Component const > | root () const |
Handle< Component > | root () |
Handle< Component > | get_child (const std::string &name) |
Handle< Component const > | get_child (const std::string &name) const |
Handle< Component > | get_child_checked (const std::string &name) |
Handle< Component const > | get_child_checked (const std::string &name) const |
Handle< Component > | create_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... | |
Component & | add_component (const boost::shared_ptr< Component > &subcomp) |
Add the passed component as a subcomponent. More... | |
void | add_link (Component &linked_component) |
boost::shared_ptr< Component > | remove_component (const std::string &name) |
Remove a (sub)component of this component. More... | |
boost::shared_ptr< Component > | remove_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 |
PropertyList & | properties () |
const PropertyList & | properties () const |
OptionList & | options () |
const OptionList & | options () const |
void | reset_options () |
Reset all options to their default value. More... | |
void | configure_option_recursively (const std::string &optname, const boost::any &val) |
Component & | mark_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_t & | signal_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... | |
Signal & | regist_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... | |
Connection * | connection (const std::string &name) |
Connection * | manage_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) |
Private Attributes | |
Handle< ShapeFunction > | m_sf |
Constructor / Destructor / Type name | |
ElementTypeT (const std::string &name=type_name()) | |
Default constructor without arguments. More... | |
virtual | ~ElementTypeT () |
Default destructor. More... | |
static std::string | type_name () |
Type name. More... | |
Additional Inherited Members | |
Public Types inherited from ElementType | |
typedef ElementTypeFaceConnectivity | FaceConnectivity |
Public Types inherited from Component | |
typedef ComponentIterator< Component > | iterator |
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< SignalPtr > | storage_t |
storage type for signals More... | |
Static Public Member Functions inherited from ElementType | |
static std::string | type_name () |
Static Public Member Functions inherited from Component | |
static std::string | type_name () |
Get the class name. More... | |
Public Attributes inherited from SignalHandler | |
storage_t | m_signals |
storage of the signals More... | |
Protected Member Functions inherited from Component | |
Component & | add_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 ElementType | |
GeoShape::Type | m_shape |
the GeoShape::Type corresponding to the shape More... | |
Uint | m_nb_nodes |
the number of nodes in this element type More... | |
Uint | m_order |
the geometric order of this element More... | |
Uint | m_dimension |
the dimension of the coordinates of this elements More... | |
Uint | m_dimensionality |
the dimensionality of the element More... | |
Uint | m_nb_edges |
number of edges More... | |
Uint | m_nb_faces |
number of edges More... | |
Translation class to link concrete static implementations to the dynamic API.
Definition at line 35 of file ElementTypeT.hpp.
|
inline |
Default constructor without arguments.
Definition at line 44 of file ElementTypeT.hpp.
|
inlinevirtual |
Default destructor.
Definition at line 58 of file ElementTypeT.hpp.
|
inlinevirtual |
compute area using given coordinates.
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
Implements ElementType.
Definition at line 182 of file ElementTypeT.hpp.
|
inlinevirtual |
compute centroid of element given coordinates
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[out] | centroid | coordinates of the centroid |
Implements ElementType.
Definition at line 196 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the jacobian of the transformation dX/dKSI
\begin{eqnarray*} \frac{\partial x}{\partial \xi } & \frac{\partial y}{\partial \xi } & \frac{\partial z}{\partial \xi } \\ \frac{\partial x}{\partial \eta } & \frac{\partial y}{\partial \eta } & \frac{\partial z}{\partial \eta } \\ \frac{\partial x}{\partial \zeta} & \frac{\partial y}{\partial \zeta} & \frac{\partial z}{\partial \zeta} \end{eqnarray*}
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[out] | jacobian | jacobian (size = dimensionality x dimension) |
Implements ElementType.
Definition at line 108 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 117 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 122 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 127 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 132 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 137 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 142 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 147 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 152 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 157 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the adjoint of the jacobian of the transformation Useful for computation of inverse jacobian = 1/jacobian_determinant * jacobian_adjoint
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[out] | jacobian | adjoint jacobianadjoint (size = dimensionality x dimension) |
Implements ElementType.
Reimplemented in ElementTypeTriag2D.
Definition at line 167 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute Mapped Coordinates, a.k.a. local coordinates
[in] | coord | coordinates to be mapped |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[out] | mapped_coord | result |
Implements ElementType.
Definition at line 94 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the unit-normal to the face-element. The direction will be taken according to the order of the coordinates
Implements ElementType.
Definition at line 187 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the jacobian of the plane or section of the element. The section is given by a mapped coordinate, and a direction perpendicular to the plane. Only elements with the dimension == dimensionality implement this function
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[in] | orientation | direction normal to the plane |
[out] | result | vector in mapped space scaled with the jacobian of the section (not the volume). |
Implements ElementType.
Definition at line 217 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 79 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 74 of file ElementTypeT.hpp.
|
inlinevirtual |
[in] | coord | the coordinates that will be checked |
[in] | nodes | the nodes of the element |
Implements ElementType.
Definition at line 205 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the jacobian of the transformation
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
Implements ElementType.
Definition at line 162 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the determinant of the jacobian dX/dKSI
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
Implements ElementType.
Definition at line 103 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute Mapped Coordinates, a.k.a. local coordinates
[in] | coord | the coordinates to be mapped |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
Implements ElementType.
Definition at line 89 of file ElementTypeT.hpp.
|
inlinevirtual |
Compute the jacobian of the plane or section of the element. The section is given by a mapped coordinate, and a direction perpendicular to the plane. Only elements with the dimension == dimensionality implement this function
[in] | mapped_coord | coordinates in mapped space (dimensionality x 1) |
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
[in] | orientation | direction normal to the plane |
Implements ElementType.
Definition at line 210 of file ElementTypeT.hpp.
|
inlinevirtual |
Implements ElementType.
Definition at line 69 of file ElementTypeT.hpp.
|
inlinestatic |
Type name.
Definition at line 61 of file ElementTypeT.hpp.
|
inlinevirtual |
compute volume given coordinates
[in] | nodes | coordinates of the element nodes (nb_nodes x dimension) |
Implements ElementType.
Definition at line 177 of file ElementTypeT.hpp.
|
private |
Definition at line 232 of file ElementTypeT.hpp.
Send comments to: COOLFluiD Web Admin |