|
Plugins
|
#include <val_surf_proj.h>
Inheritance diagram for ug::d3f::ValSurfProjData< TGridFunction >:Public Types | |
| typedef StdDependentUserData< this_type, number, dim > | base_type |
| the base type | |
| typedef gf_type::domain_type | domain_type |
| domain type | |
| typedef TGridFunction | gf_type |
| type of the grid function | |
| typedef domain_type::position_accessor_type | pos_acc_type |
| position attachment accessor type | |
| typedef ValSurfProjData< gf_type > | this_type |
| this type | |
Public Types inherited from ug::CplUserData< typename TData, int dim, typename TRet > | |
| typedef ICplUserData< dim > | base_type |
Public Types inherited from ug::UserData< typename TData, int dim, typename TRet > | |
| typedef TData | data_type |
| typedef TRet | return_type |
Public Member Functions | |
| virtual bool | continuous () const |
| We consider here the height as a continuous field (although it is not completely so) | |
| template<int refDim> | |
| void | eval_and_deriv (number vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< refDim > vLocIP[], const size_t nip, LocalVector *u, bool bDeriv, int s, std::vector< std::vector< number > > vvvDeriv[], const MathMatrix< refDim, dim > *vJT=NULL) |
| Performs the main computations: | |
| void | reinit () |
| Initializer (should be called before every use) | |
| virtual bool | requires_grid_fct () const |
| Returns true to get the grid element in the evaluation routine. | |
| void | set_default_value (number defaultValue) |
| sets the default value for the points with no projection | |
| ValSurfProjData (SmartPtr< gf_type > spLSF, const char *cmp, number z_coord, const char *subsets) | |
| Constructor. | |
Public Member Functions inherited from ug::StdDependentUserData< ValSurfProjData< TGridFunction >, number, TGridFunction::dim > | |
| virtual void | compute (LocalVector *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false) |
| virtual void | compute (LocalVectorTimeSeries *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false) |
| void | eval_deriv (LocalVector *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false) |
| void | eval_deriv (LocalVectorTimeSeries *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false) |
| void | evaluate (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< refDim > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< refDim, dim > *vJT=NULL) const |
| virtual void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const |
| StdDependentUserData () | |
| StdDependentUserData (const char *symbFct) | |
| StdDependentUserData (const std::string &symbFct) | |
| StdDependentUserData (const std::vector< std::string > &symbFct) | |
Public Member Functions inherited from ug::StdUserData< StdDependentUserData< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > > | |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 1, dim > *vJT=NULL) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 1, dim > *vJT=NULL) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 2, dim > *vJT=NULL) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 2, dim > *vJT=NULL) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 3, dim > *vJT=NULL) const |
| virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 3, dim > *vJT=NULL) const |
Public Member Functions inherited from ug::CplUserData< typename TData, int dim, typename TRet > | |
| bool | defined (size_t s, size_t ip) const |
| size_t | num_ip (size_t s) const |
| size_t | num_series () const |
| void | register_storage_callback (DataImport< TData, dim > *obj, void(DataImport< TData, dim >::*func)()) |
| void | unregister_storage_callback (DataImport< TData, dim > *obj) |
| TData & | value (size_t s, size_t ip) |
| const TData & | value (size_t s, size_t ip) const |
| TData * | values (size_t s) |
| const TData * | values (size_t s) const |
| ~CplUserData () | |
Public Member Functions inherited from ug::ICplUserData< int dim > | |
| bool | at_current_time (size_t s) const |
| virtual void | check_setup () const |
| void | clear () |
| virtual bool | constant () const |
| int | dim_local_ips () const |
| ICplUserData () | |
| const MathVector< dim > & | ip (size_t s, size_t ip) const |
| const MathVector< dim > * | ips (size_t s) const |
| const MathVector< ldim > & | local_ip (size_t s, size_t ip) const |
| const MathVector< ldim > * | local_ips (size_t s) const |
| virtual SmartPtr< ICplUserData > | needed_data (size_t i) |
| size_t | num_ip (size_t s) const |
| virtual size_t | num_needed_data () const |
| size_t | num_series () const |
| virtual void | prepare_element (GridObject *e, const MathVector< dim > vCornerCoords[]) |
| size_t | register_local_ip_series (const MathVector< ldim > *vPos, const size_t numIP, bool bMayChange=true) |
| size_t | register_local_ip_series (const MathVector< ldim > *vPos, const size_t numIP, const int timePointSpec, bool bMayChange=true) |
| void | set_global_ips (size_t s, const MathVector< dim > *vPos, size_t numIP) |
| void | set_local_ips (const size_t seriesId, const MathVector< ldim > *vPos, const size_t numIP) |
| void | set_subset (int si) |
| void | set_time_point (const size_t seriesId, const int timePointSpec) |
| void | set_time_point (size_t timePoint) |
| void | set_times (const std::vector< number > &vTime) |
| int | subset () const |
| number | time () const |
| number | time (size_t s) const |
| size_t | time_point () |
| size_t | time_point (size_t s) const |
| int | time_point_specification (size_t s) const |
| virtual void | update_dof_sizes (const LocalIndices &ind) |
| virtual bool | zero_derivative () const |
| virtual | ~ICplUserData () |
Public Member Functions inherited from ug::UserDataInfo | |
| const FunctionGroup & | function_group () const |
| const FunctionIndexMapping & | map () const |
| size_t | num_fct () const |
| const char * | obj_name () |
| virtual void | set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt) |
| void | set_obj_name (const char *name) |
| virtual | ~UserDataInfo () |
Public Member Functions inherited from ug::UserData< typename TData, int dim, typename TRet > | |
| int | get_dim () const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > &locIP, LocalVector *u) const |
| TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > &locIP, LocalVector *u) const |
| virtual void | operator() (TData &value, const MathVector< dim > &globIP, number time, int si, Vertex *vrt) const |
| std::string | type () const |
Static Public Attributes | |
| static const int | dim = gf_type::dim |
| world dimension | |
Private Types | |
| typedef GlobalGridFunctionNumberData< TGridFunction > | glob_userdata_type |
| type of the class for getting the values of a grid function by a global coordinate | |
| typedef Attachment< size_t > | num_a_type |
| type of the attachment numbering the vertices | |
| typedef Grid::VertexAttachmentAccessor< num_a_type > | num_aa_type |
| type of the attachment accessor for the numbering attachment | |
Private Attributes | |
| num_a_type | m_a_vrt_num |
| attachment keeping a numbering of the vertices in the subsets | |
| number | m_default_value |
| the default value if the projection point not found | |
| glob_userdata_type | m_glob_userdata |
| the object to get the values by the global coordinates | |
| SmartPtr< gf_type > | m_spLSF |
| the grid function | |
| SubsetGroup | m_SsGrp |
| (low-dimensional) subsets to compute the coordinates over | |
| std::vector< number > | m_vrt_val |
| projected values at the vertices of the subsets | |
| number | m_z_coord |
| the z-coordinate of the plain to get the values at | |
Additional Inherited Members | |
Protected Member Functions inherited from ug::StdDependentUserData< ValSurfProjData< TGridFunction >, number, TGridFunction::dim > | |
| TImpl & | getImpl () |
| const TImpl & | getImpl () const |
Protected Member Functions inherited from ug::StdUserData< StdDependentUserData< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > > | |
| TImpl & | getImpl () |
| const TImpl & | getImpl () const |
Protected Member Functions inherited from ug::CplUserData< typename TData, int dim, typename TRet > | |
| void | call_storage_callback () const |
| void | check_series (size_t s) const |
| void | check_series_ip (size_t s, size_t ip) const |
| virtual void | local_ip_series_added (const size_t seriesID) |
| virtual void | local_ip_series_to_be_cleared () |
| virtual void | local_ips_changed (const size_t seriesID, const size_t newNumIP) |
| virtual void | value_storage_changed (const size_t seriesID) |
Protected Member Functions inherited from ug::ICplUserData< int dim > | |
| void | check_s (size_t s) const |
| void | check_s_ip (size_t s, size_t ip) const |
| std::vector< const MathVector< 1 > * > & | get_local_ips (Int2Type< 1 >) |
| const std::vector< const MathVector< 1 > * > & | get_local_ips (Int2Type< 1 >) const |
| std::vector< const MathVector< 2 > * > & | get_local_ips (Int2Type< 2 >) |
| const std::vector< const MathVector< 2 > * > & | get_local_ips (Int2Type< 2 >) const |
| std::vector< const MathVector< 3 > * > & | get_local_ips (Int2Type< 3 >) |
| const std::vector< const MathVector< 3 > * > & | get_local_ips (Int2Type< 3 >) const |
| virtual void | global_ips_changed (const size_t seriesID, const MathVector< dim > *vPos, const size_t numIP) |
Protected Attributes inherited from ug::ICplUserData< int dim > | |
| int | m_defaultTimePoint |
| int | m_locPosDim |
| std::vector< const MathVector< 1 > * > | m_pvLocIP1d |
| std::vector< const MathVector< 2 > * > | m_pvLocIP2d |
| std::vector< const MathVector< 3 > * > | m_pvLocIP3d |
| int | m_si |
| size_t | m_timePoint |
| std::vector< bool > | m_vMayChange |
| std::vector< size_t > | m_vNumIP |
| std::vector< number > | m_vTime |
| std::vector< int > | m_vTimePoint |
| std::vector< const MathVector< dim > * > | m_vvGlobPos |
Protected Attributes inherited from ug::UserDataInfo | |
| FunctionGroup | m_fctGrp |
| FunctionIndexMapping | m_map |
| SmartPtr< char > | m_objName |
Class for getting the values of a grid function projected from the z-plane.
This class with the user data interface computes the projected value of the grid function at every grid vertex of the given subsets. It can be used for the graphical representation of the values on the z-plane on, e.g., the top surface of the domain. Note that due to the complicated evaluations, it is not recommended to pass all the subsets this computation.
| typedef StdDependentUserData<this_type, number, dim> ug::d3f::ValSurfProjData< TGridFunction >::base_type |
the base type
| typedef gf_type::domain_type ug::d3f::ValSurfProjData< TGridFunction >::domain_type |
domain type
| typedef TGridFunction ug::d3f::ValSurfProjData< TGridFunction >::gf_type |
type of the grid function
|
private |
type of the class for getting the values of a grid function by a global coordinate
|
private |
type of the attachment numbering the vertices
|
private |
type of the attachment accessor for the numbering attachment
| typedef domain_type::position_accessor_type ug::d3f::ValSurfProjData< TGridFunction >::pos_acc_type |
position attachment accessor type
| typedef ValSurfProjData<gf_type> ug::d3f::ValSurfProjData< TGridFunction >::this_type |
this type
| ug::d3f::ValSurfProjData< TGridFunction >::ValSurfProjData | ( | SmartPtr< gf_type > | spLSF, |
| const char * | cmp, | ||
| number | z_coord, | ||
| const char * | subsetNames | ||
| ) |
Constructor.
Class constructor
| spLSF | the grid function |
| cmp | the compoment of the function |
| z_coord | the z-coordinate of the plain to get the values at |
| subsetNames | subsets where to compute the z-coordinates |
References ug::SubsetGroup::add(), ug::d3f::ValSurfProjData< TGridFunction >::m_a_vrt_num, ug::d3f::ValSurfProjData< TGridFunction >::m_SsGrp, ug::SubsetGroup::set_subset_handler(), and ug::TokenizeString().
|
inlinevirtual |
We consider here the height as a continuous field (although it is not completely so)
Implements ug::UserDataInfo.
| void ug::d3f::ValSurfProjData< TGridFunction >::eval_and_deriv | ( | number | vValue[], |
| const MathVector< dim > | vGlobIP[], | ||
| number | time, | ||
| int | si, | ||
| GridObject * | grid_obj, | ||
| const MathVector< dim > | vCornerCoords[], | ||
| const MathVector< refDim > | vLocIP[], | ||
| const size_t | nip, | ||
| LocalVector * | u, | ||
| bool | bDeriv, | ||
| int | s, | ||
| std::vector< std::vector< number > > | vvvDeriv[], | ||
| const MathMatrix< refDim, dim > * | vJT = NULL |
||
| ) |
Performs the main computations:
Interpolates the vertex values of the z-coordinates
| vValue | for the computed value |
References ug::LFEID::LAGRANGE, ug::GridObject::reference_object_id(), ug::LocalShapeFunctionSet< int TDim, typename TShape, typename TGrad >::shapes(), UG_ASSERT, and UG_THROW.
| void ug::d3f::ValSurfProjData< TGridFunction >::reinit | ( | ) |
Initializer (should be called before every use)
Initializer: Computes the projected values at the vertices of the specified subset(s)
References pcl::ProcessCommunicator::allgatherv(), pcl::ProcessCommunicator::allreduce(), pcl::ProcessCommunicator::get_local_proc_id(), and PCL_RO_MAX.
|
inlinevirtual |
Returns true to get the grid element in the evaluation routine.
Implements ug::UserDataInfo.
|
inline |
sets the default value for the points with no projection
| defaultValue | the default value for the points with no projection |
References ug::d3f::ValSurfProjData< TGridFunction >::m_default_value.
|
static |
world dimension
|
private |
attachment keeping a numbering of the vertices in the subsets
Referenced by ug::d3f::ValSurfProjData< TGridFunction >::ValSurfProjData().
|
private |
the default value if the projection point not found
Referenced by ug::d3f::ValSurfProjData< TGridFunction >::set_default_value().
|
private |
the object to get the values by the global coordinates
|
private |
the grid function
|
private |
(low-dimensional) subsets to compute the coordinates over
Referenced by ug::d3f::ValSurfProjData< TGridFunction >::ValSurfProjData().
|
private |
projected values at the vertices of the subsets
|
private |
the z-coordinate of the plain to get the values at