LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Attributes | List of all members
example_integrator_tmpl< T > Class Template Reference

#include <example_integrator_tmpl.hpp>

Inheritance diagram for example_integrator_tmpl< T >:
Inheritance graph
[legend]
Collaboration diagram for example_integrator_tmpl< T >:
Collaboration graph
[legend]

Public Member Functions

int integrate (ptr_passer u, double t0, double tf)
 Actual implementation of the integration function.
std::string type () const
const std::type_info & vtype () const
void postprocess (input &in)
void update ()
- Public Member Functions inherited from example_integrator
std::vector< std::stringdependencies () const
 Returns the variables that this class depends on.
- Public Member Functions inherited from integrator
virtual void initial_condition (ptr_passer in, size_t len)
void initial_condition (ptr_passer in)
virtual ~integrator ()
 Blank destructor for integrator.
- Public Member Functions inherited from item_dim
size_t get_dimension () const
- Public Member Functions inherited from item
 item ()
virtual ~item ()
virtual void print () const
 Standard print function.
void setname (const std::string n)
void set_write_name (std::string wname)
const std::stringname () const
const std::stringwrite_name () const
- Public Member Functions inherited from vartype
bool compare (const vartype *in) const
bool compare (const vartype &in) const
bool compare (const std::type_info &tinf)
template<typename T >
bool compare () const
template<typename T >
bool compare (const T &in) const
std::string vname () const
virtual const std::type_info & vtype_internal () const
bool compare_internal (const vartype *in) const
bool compare_internal (const vartype &in) const
bool compare_internal (const std::type_info &tinf)
template<typename T >
bool compare_internal () const
template<typename T >
bool compare_internal (const T &in) const
std::string vname_internal () const
virtual ~vartype ()

Private Types

typedef float_traits< T >::type real_type
 The current type of floating point value.

Private Attributes

real_type rval1
real_type calc_val
size_t unsigned_var
int rval2
std::string something

Additional Inherited Members

- Static Public Member Functions inherited from item
static std::shared_ptr< itemcreate (std::string name, engineimp *rval)
- Public Attributes inherited from item
engineimpholder
- Protected Member Functions inherited from item_dim
void print_upstream ()
virtual void _do_mem_update (size_t dim_old)
void add_as_parent (item_dim *p)
void add_as_parent (std::shared_ptr< item_dim > p)
void update_dim (size_t dim_new)
- Protected Attributes inherited from integrator
rhsrh_val

Detailed Description

template<class T>
class example_integrator_tmpl< T >

Definition at line 26 of file example_integrator_tmpl.hpp.

Member Typedef Documentation

template<class T >
typedef float_traits<T>::type example_integrator_tmpl< T >::real_type
private

The current type of floating point value.

This queries the float_traits template class to see what the underlying real type is.

Why do this instead of use double everywhere? If a program is using 32bit floats, then double take up extra memory and waste lots of time in the conversion process. If a program uses 80 or 128 bit floats, or higher, then doubles aren't big enough. Hence, we use a type_traits class that gives us the proper type for the variable being used. Any type that is parameterized by a floating_point type value is automatically included in float_traits, and so are any floating point types. For an example of how to define float_traits for a custom type, see example_type. Also see the postprocess function for how to deal with this type in postprocessing

See Also
example_integrator_tmpl::postprocess
example_type
float_traits

Definition at line 45 of file example_integrator_tmpl.hpp.

Member Function Documentation

template<class T >
int example_integrator_tmpl< T >::integrate ( ptr_passer  u,
double  t0,
double  tf 
)
virtual

Actual implementation of the integration function.

Reimplemented from example_integrator.

Definition at line 75 of file example_integrator_tmpl.hpp.

template<class T >
void example_integrator_tmpl< T >::postprocess ( input in)
virtual

Reimplemented from example_integrator.

Definition at line 98 of file example_integrator_tmpl.hpp.

Here is the call graph for this function:

template<class T >
std::string example_integrator_tmpl< T >::type ( ) const
inlinevirtual

Reimplemented from example_integrator.

Definition at line 56 of file example_integrator_tmpl.hpp.

Here is the call graph for this function:

template<class T >
void example_integrator_tmpl< T >::update ( )
virtual

Reimplemented from item.

Definition at line 120 of file example_integrator_tmpl.hpp.

template<class T >
const std::type_info& example_integrator_tmpl< T >::vtype ( ) const
inlinevirtual

Reimplemented from example_integrator.

Definition at line 59 of file example_integrator_tmpl.hpp.

Member Data Documentation

template<class T >
real_type example_integrator_tmpl< T >::calc_val
private

Definition at line 46 of file example_integrator_tmpl.hpp.

template<class T >
real_type example_integrator_tmpl< T >::rval1
private

Definition at line 46 of file example_integrator_tmpl.hpp.

template<class T >
int example_integrator_tmpl< T >::rval2
private

Definition at line 51 of file example_integrator_tmpl.hpp.

template<class T >
std::string example_integrator_tmpl< T >::something
private

Definition at line 52 of file example_integrator_tmpl.hpp.

template<class T >
size_t example_integrator_tmpl< T >::unsigned_var
private

Definition at line 50 of file example_integrator_tmpl.hpp.


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