Plugins
Loading...
Searching...
No Matches
ug::LevelSet::CRTwoPhaseSource< TGridFunction > Class Template Reference

#include <level_set_user_data.h>

+ Inheritance diagram for ug::LevelSet::CRTwoPhaseSource< TGridFunction >:

Public Member Functions

 CRTwoPhaseSource (SmartPtr< ApproximationSpace< domain_type > > approxSpace, SmartPtr< TGridFunction > spGridFct)
 constructor
 
template<int refDim>
void evaluate (MathVector< dim > 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
 
void set_density (number val)
 
void set_density (SmartPtr< CplUserData< number, dim > > user)
 
void set_gravitation (number gravityconst)
 
void set_sigma (number sigma)
 
void set_source (number f_x)
 
void set_source (number f_x, number f_y)
 
void set_source (number f_x, number f_y, number f_z)
 
void set_source (SmartPtr< CplUserData< MathVector< dim >, dim > > data)
 
void update ()
 
virtual ~CRTwoPhaseSource ()
 
- Public Member Functions inherited from ug::LevelSet::LevelSetUserDataBase< MathVector< TGridFunction::dim >, TGridFunction::dim, CRTwoPhaseSource< TGridFunction > >
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)
 
virtual bool continuous () const
 returns if provided data is continuous over geometric object boundaries
 
void evaluate (MathVector< TGridFunction::dim > 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() (MathVector< TGridFunction::dim > &value, const MathVector< dim > &globIP, number time, int si) const
 
virtual void operator() (MathVector< TGridFunction::dim > vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const
 
virtual bool requires_grid_fct () const
 returns if grid function is needed for evaluation
 
- Public Member Functions inherited from ug::StdUserData< typename TImpl, typename TData, int dim, typename TRet, typename TBase >
virtual TRet operator() (TData &value, const MathVector< dim > &globIP, number time, int si) const=0
 
virtual void operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const=0
 
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< ICplUserDataneeded_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 FunctionGroupfunction_group () const
 
const FunctionIndexMappingmap () 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
 
- Public Member Functions inherited from ug::INewtonUpdate
virtual ~INewtonUpdate ()
 

Private Types

typedef TGridFunction::algebra_type algebra_type
 algebra type
 
typedef TGridFunction::domain_type domain_type
 domain type
 
typedef TGridFunction::template dim_traits< dim >::grid_base_object elem_type
 element type
 
typedef domain_type::grid_type grid_type
 grid type
 
typedef domain_type::position_accessor_type position_accessor_type
 position accessor type
 

Private Attributes

number m_gravitational_constant
 
grid_typem_grid
 
SmartPtr< CplUserData< number, dim > > m_imDensity
 density import for inside and outside density
 
SmartPtr< CplUserData< MathVector< dim >, dim > > m_imSource
 Data import for source.
 
SmartPtr< TGridFunction > m_phi
 
number m_sigma
 
SmartPtr< ApproximationSpace< domain_type > > m_spApproxSpace
 

Static Private Attributes

static const int dim = domain_type::dim
 world dimension
 
static const size_t max_number_of_ips = 20
 

Additional Inherited Members

- 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
 
- Protected Member Functions inherited from ug::LevelSet::LevelSetUserDataBase< MathVector< TGridFunction::dim >, TGridFunction::dim, CRTwoPhaseSource< TGridFunction > >
CRTwoPhaseSource< TGridFunction > & getImpl ()
 access to implementation
 
const CRTwoPhaseSource< TGridFunction > & getImpl () const
 const access to implementation
 
- Protected Member Functions inherited from ug::StdUserData< typename TImpl, typename TData, int dim, typename TRet, typename TBase >
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< numberm_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
 

Member Typedef Documentation

◆ algebra_type

template<typename TGridFunction >
typedef TGridFunction::algebra_type ug::LevelSet::CRTwoPhaseSource< TGridFunction >::algebra_type
private

algebra type

◆ domain_type

template<typename TGridFunction >
typedef TGridFunction::domain_type ug::LevelSet::CRTwoPhaseSource< TGridFunction >::domain_type
private

domain type

◆ elem_type

template<typename TGridFunction >
typedef TGridFunction::template dim_traits<dim>::grid_base_object ug::LevelSet::CRTwoPhaseSource< TGridFunction >::elem_type
private

element type

◆ grid_type

template<typename TGridFunction >
typedef domain_type::grid_type ug::LevelSet::CRTwoPhaseSource< TGridFunction >::grid_type
private

grid type

◆ position_accessor_type

template<typename TGridFunction >
typedef domain_type::position_accessor_type ug::LevelSet::CRTwoPhaseSource< TGridFunction >::position_accessor_type
private

position accessor type

Constructor & Destructor Documentation

◆ CRTwoPhaseSource()

◆ ~CRTwoPhaseSource()

template<typename TGridFunction >
virtual ug::LevelSet::CRTwoPhaseSource< TGridFunction >::~CRTwoPhaseSource ( )
inlinevirtual

Member Function Documentation

◆ evaluate()

template<typename TGridFunction >
template<int refDim>
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::evaluate ( MathVector< dim 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
inline

◆ set_density() [1/2]

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_density ( number  val)
inline

◆ set_density() [2/2]

◆ set_gravitation()

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_gravitation ( number  gravityconst)
inline

◆ set_sigma()

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_sigma ( number  sigma)
inline

◆ set_source() [1/4]

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_source ( number  f_x)
inline

◆ set_source() [2/4]

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_source ( number  f_x,
number  f_y 
)
inline

◆ set_source() [3/4]

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_source ( number  f_x,
number  f_y,
number  f_z 
)
inline

◆ set_source() [4/4]

◆ update()

template<typename TGridFunction >
void ug::LevelSet::CRTwoPhaseSource< TGridFunction >::update ( )
inlinevirtual

Implements ug::INewtonUpdate.

Member Data Documentation

◆ dim

◆ m_gravitational_constant

template<typename TGridFunction >
number ug::LevelSet::CRTwoPhaseSource< TGridFunction >::m_gravitational_constant
private

◆ m_grid

◆ m_imDensity

template<typename TGridFunction >
SmartPtr<CplUserData<number,dim> > ug::LevelSet::CRTwoPhaseSource< TGridFunction >::m_imDensity
private

density import for inside and outside density

Referenced by ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_density().

◆ m_imSource

template<typename TGridFunction >
SmartPtr<CplUserData<MathVector<dim>,dim> > ug::LevelSet::CRTwoPhaseSource< TGridFunction >::m_imSource
private

Data import for source.

Referenced by ug::LevelSet::CRTwoPhaseSource< TGridFunction >::set_source().

◆ m_phi

◆ m_sigma

◆ m_spApproxSpace

template<typename TGridFunction >
SmartPtr<ApproximationSpace<domain_type> > ug::LevelSet::CRTwoPhaseSource< TGridFunction >::m_spApproxSpace
private

◆ max_number_of_ips

template<typename TGridFunction >
const size_t ug::LevelSet::CRTwoPhaseSource< TGridFunction >::max_number_of_ips = 20
staticprivate

The documentation for this class was generated from the following file: