ug4
|
Evaluation for IElemDisc. More...
#include <data_evaluator.h>
Public Types | |
typedef DataEvaluatorBase< TDomain, IElemDisc< TDomain > > | base_type |
Public Member Functions | |
void | add_def_A_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local stiffness defect for all IElemDiscs More... | |
void | add_def_A_expl_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local stiffness defect for all IElemDiscs explicit More... | |
void | add_def_M_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local mass defect for all IElemDiscs More... | |
void | add_jac_A_elem (LocalMatrix &A, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local stiffness matrix for all IElemDiscs More... | |
void | add_jac_M_elem (LocalMatrix &M, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local mass matrix for all IElemDiscs More... | |
void | add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[], ProcessType type=PT_ALL) |
compute local rhs for all IElemDiscs More... | |
DataEvaluator (int discPart, const std::vector< IElemDisc< TDomain > * > &vElemDisc, ConstSmartPtr< FunctionPattern > fctPat, const bool bNonRegularGrid, LocalVectorTimeSeries *locTimeSeries=NULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL) | |
sets the elem discs to evaluate More... | |
void | finish_elem_loop () |
finishes the element loop for all IElemDiscs More... | |
void | finish_timestep (const number time, VectorProxyBase *u, size_t algebra_id) |
finishes all time-dependent IElemDiscs More... | |
void | finish_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
finishes the elements of all time-dependent IElemDiscs More... | |
void | prepare_elem (LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[], const LocalIndices &ind, bool bDeriv=false) |
prepares the element for all IElemDiscs More... | |
void | prepare_elem_loop (const ReferenceObjectID id, int si) |
prepares the element loop for all IElemDiscs More... | |
void | prepare_timestep (number future_time, const number time, VectorProxyBase *u, size_t algebra_id) |
prepares all time-dependent IElemDiscs More... | |
void | prepare_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[]) |
prepares the elements of all time-dependent IElemDiscs More... | |
Public Member Functions inherited from ug::DataEvaluatorBase< TDomain, IElemDisc< TDomain > > | |
void | compute_err_est_A_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const LocalIndices &ind, const number scaleMass=(number) 1.0, const number scaleStiff=(number) 1.0) |
compute contributions of the local error indicators in one element for all IElemDiscs More... | |
void | compute_err_est_M_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const LocalIndices &ind, const number scaleMass=(number) 1.0, const number scaleStiff=(number) 1.0) |
compute contributions of the local error indicators in one element for all IElemDiscs More... | |
void | compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const LocalIndices &ind, const number scaleMass=(number) 1.0, const number scaleStiff=(number) 1.0) |
compute contributions of the local error indicators in one element for all IElemDiscs More... | |
DataEvaluatorBase (int discPart, const std::vector< IElemDisc< TDomain > * > &vElemDisc, ConstSmartPtr< FunctionPattern > fctPat, const bool bNonRegularGrid, LocalVectorTimeSeries *locTimeSeries=NULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL) | |
sets the elem discs to evaluate More... | |
void | finish_err_est_elem_loop () |
finishes the error estimator element loop for all IElemDiscs More... | |
void | prepare_err_est_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const LocalIndices &ind, bool bDeriv=false) |
prepares the element for all IElemDiscs More... | |
void | prepare_err_est_elem_loop (const ReferenceObjectID id, int si) |
prepares the element loop for all IElemDiscs for the computation of the error estimator More... | |
void | set_time_point (const size_t timePoint) |
sets the time point for data evaluation More... | |
bool | time_series_needed () const |
returns if local time series is really needed for assembling More... | |
bool | use_hanging () const |
returns if one of the element discs needs hanging dofs More... | |
Additional Inherited Members | |
Static Public Attributes inherited from ug::DataEvaluatorBase< TDomain, IElemDisc< TDomain > > | |
static const int | dim |
world dimension More... | |
Protected Member Functions inherited from ug::DataEvaluatorBase< TDomain, IElemDisc< TDomain > > | |
void | add_data_to_eval_data (std::vector< SmartPtr< ICplUserData< dim > > > &vEvalData, std::vector< SmartPtr< ICplUserData< dim > > > &vTryingToAdd) |
tries to add the last entry of vTryingToAdd to the eval data More... | |
void | clear_extracted_data_and_mappings () |
clears imports and user data and mappings betweem commonFctGrp and local More... | |
void | clear_positions_in_user_data () |
clears all requested positions in user data More... | |
void | extract_imports_and_userdata (int subsetIndex, int discPart) |
extracts imports and userdata from IElemDiscs More... | |
Protected Attributes inherited from ug::DataEvaluatorBase< TDomain, IElemDisc< TDomain > > | |
bool | m_bNeedLocTimeSeries |
flag indicating if any elem disc needs local time series More... | |
bool | m_bUseHanging |
flag if hanging nodes are used More... | |
int | m_discPart |
disc part needed (MASS and/or STIFF and/or RHS) More... | |
LocalVectorTimeSeries * | m_pLocTimeSeries |
local time series (non-const since mapping may change) More... | |
ConstSmartPtr< FunctionPattern > | m_spFctPattern |
underlying function pattern More... | |
std::vector< IElemDisc< TDomain > * > | m_vElemDisc [MAX_PROCESS] |
elem disc data More... | |
std::vector< IDataImport< dim > * > | m_vImport [MAX_PROCESS][MAX_PART] |
imports that must be evaluated More... | |
std::vector< SmartPtr< ICplUserData< dim > > > | m_vConstData |
std::vector< SmartPtr< ICplUserData< dim > > > | m_vPosData |
std::vector< SmartPtr< ICplUserData< dim > > > | m_vDependentData |
Evaluation for IElemDisc.
typedef DataEvaluatorBase<TDomain, IElemDisc<TDomain> > ug::DataEvaluator< TDomain >::base_type |
|
inline |
sets the elem discs to evaluate
void ug::DataEvaluator< TDomain >::add_def_A_elem | ( | LocalVector & | d, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local stiffness defect for all IElemDiscs
References ug::STIFF, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::add_def_A_expl_elem | ( | LocalVector & | d, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local stiffness defect for all IElemDiscs explicit
References ug::EXPL, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::add_def_M_elem | ( | LocalVector & | d, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local mass defect for all IElemDiscs
References ug::MASS, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::add_jac_A_elem | ( | LocalMatrix & | A, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local stiffness matrix for all IElemDiscs
References ug::RHS, ug::STIFF, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::add_jac_M_elem | ( | LocalMatrix & | M, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local mass matrix for all IElemDiscs
References ug::MASS, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::add_rhs_elem | ( | LocalVector & | rhs, |
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[], | ||
ProcessType | type = PT_ALL |
||
) |
compute local rhs for all IElemDiscs
References ug::RHS, UG_ASSERT, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::finish_elem_loop |
finishes the element loop for all IElemDiscs
References ug::IDataImport< dim >::data(), ug::IDataImport< dim >::data_given(), ug::IElemAssembleFuncs< TLeaf, TDomain >::do_fsh_elem_loop(), ug::IElemDiscBase< TDomain >::get_import(), ug::IElemDiscBase< TDomain >::num_imports(), ug::PT_ALL, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::finish_timestep | ( | const number | time, |
VectorProxyBase * | u, | ||
size_t | algebra_id | ||
) |
finishes all time-dependent IElemDiscs
References ug::PT_ALL, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::finish_timestep_elem | ( | const number | time, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[] | ||
) |
finishes the elements of all time-dependent IElemDiscs
References ug::PT_ALL, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::prepare_elem | ( | LocalVector & | u, |
GridObject * | elem, | ||
const ReferenceObjectID | roid, | ||
const MathVector< dim > | vCornerCoords[], | ||
const LocalIndices & | ind, | ||
bool | bDeriv = false |
||
) |
prepares the element for all IElemDiscs
References ug::LocalVector::access_by_map(), compute(), ug::DID_DATA_EVALUATOR, ug::MASS, ug::PT_ALL, ug::RHS, ug::STIFF, UG_CATCH_THROW, and UG_DLOG.
void ug::DataEvaluator< TDomain >::prepare_elem_loop | ( | const ReferenceObjectID | id, |
int | si | ||
) |
prepares the element loop for all IElemDiscs
References compute(), ug::MASS, ug::PT_ALL, ug::RHS, ug::STIFF, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::prepare_timestep | ( | number | future_time, |
const number | time, | ||
VectorProxyBase * | u, | ||
size_t | algebra_id | ||
) |
prepares all time-dependent IElemDiscs
References ug::PT_ALL, and UG_CATCH_THROW.
void ug::DataEvaluator< TDomain >::prepare_timestep_elem | ( | const number | time, |
LocalVector & | u, | ||
GridObject * | elem, | ||
const MathVector< dim > | vCornerCoords[] | ||
) |
prepares the elements of all time-dependent IElemDiscs
References ug::PT_ALL, and UG_CATCH_THROW.