PRISMS-PF  v2.1
variableContainer< dim, degree, T > Class Template Reference

#include <variableContainer.h>

Public Types

typedef dealii::VectorizedArray< double > scalarType
 
typedef dealii::parallel::distributed::Vector< double > vectorType
 
typedef dealii::FEEvaluation< dim, degree, degree+1, 1, double > typeScalar
 
typedef dealii::FEEvaluation< dim, degree, degree+1, dim, double > typeVector
 
typedef dealii::VectorizedArray< double > scalarvalueType
 
typedef dealii::Tensor< 1, dim, dealii::VectorizedArray< double > > vectorvalueType
 
typedef dealii::Tensor< 1, dim, dealii::VectorizedArray< double > > scalargradType
 
typedef dealii::Tensor< 2, dim, dealii::VectorizedArray< double > > scalarhessType
 
typedef dealii::Tensor< 2, dim, dealii::VectorizedArray< double > > vectorgradType
 
typedef dealii::Tensor< 3, dim, dealii::VectorizedArray< double > > vectorhessType
 

Public Member Functions

 variableContainer (const dealii::MatrixFree< dim, double > &data, std::vector< variable_info > _varInfoList, std::vector< variable_info > _varChangeInfoList)
 
 variableContainer (const dealii::MatrixFree< dim, double > &data, std::vector< variable_info > _varInfoList)
 
 variableContainer (const dealii::MatrixFree< dim, double > &data, std::vector< variable_info > _varInfoList, unsigned int fixed_index)
 
get_scalar_value (unsigned int global_variable_index) const
 
dealii::Tensor< 1, dim, T > get_scalar_gradient (unsigned int global_variable_index) const
 
dealii::Tensor< 2, dim, T > get_scalar_hessian (unsigned int global_variable_index) const
 
dealii::Tensor< 1, dim, T > get_vector_value (unsigned int global_variable_index) const
 
dealii::Tensor< 2, dim, T > get_vector_gradient (unsigned int global_variable_index) const
 
dealii::Tensor< 3, dim, T > get_vector_hessian (unsigned int global_variable_index) const
 
get_change_in_scalar_value (unsigned int global_variable_index) const
 
dealii::Tensor< 1, dim, T > get_change_in_scalar_gradient (unsigned int global_variable_index) const
 
dealii::Tensor< 2, dim, T > get_change_in_scalar_hessian (unsigned int global_variable_index) const
 
dealii::Tensor< 1, dim, T > get_change_in_vector_value (unsigned int global_variable_index) const
 
dealii::Tensor< 2, dim, T > get_change_in_vector_gradient (unsigned int global_variable_index) const
 
dealii::Tensor< 3, dim, T > get_change_in_vector_hessian (unsigned int global_variable_index) const
 
void set_scalar_value_term_RHS (unsigned int global_variable_index, T val)
 
void set_scalar_gradient_term_RHS (unsigned int global_variable_index, dealii::Tensor< 1, dim, T > grad)
 
void set_vector_value_term_RHS (unsigned int global_variable_index, dealii::Tensor< 1, dim, T > val)
 
void set_vector_gradient_term_RHS (unsigned int global_variable_index, dealii::Tensor< 2, dim, T > grad)
 
void set_scalar_value_term_LHS (unsigned int global_variable_index, T val)
 
void set_scalar_gradient_term_LHS (unsigned int global_variable_index, dealii::Tensor< 1, dim, T > grad)
 
void set_vector_value_term_LHS (unsigned int global_variable_index, dealii::Tensor< 1, dim, T > val)
 
void set_vector_gradient_term_LHS (unsigned int global_variable_index, dealii::Tensor< 2, dim, T > grad)
 
void reinit_and_eval (const std::vector< vectorType *> &src, unsigned int cell)
 
void reinit_and_eval_change_in_solution (const vectorType &src, unsigned int cell, unsigned int var_being_solved)
 
void reinit_and_eval_LHS (const vectorType &src, const std::vector< vectorType *> solutionSet, unsigned int cell, unsigned int var_being_solved)
 
void reinit (unsigned int cell)
 
void integrate_and_distribute (std::vector< vectorType *> &dst)
 
void integrate_and_distribute_change_in_solution_LHS (vectorType &dst, const unsigned int var_being_solved)
 
unsigned int get_num_q_points ()
 
dealii::Point< dim, T > get_q_point_location ()
 
void get_JxW (dealii::AlignedVector< T > &JxW)
 

Public Attributes

unsigned int q_point
 

Private Attributes

unsigned int num_var
 
std::vector< dealii::FEEvaluation< dim, degree, degree+1, 1, double > > scalar_vars
 
std::vector< dealii::FEEvaluation< dim, degree, degree+1, dim, double > > vector_vars
 
std::vector< dealii::FEEvaluation< dim, degree, degree+1, 1, double > > scalar_change_in_vars
 
std::vector< dealii::FEEvaluation< dim, degree, degree+1, dim, double > > vector_change_in_vars
 
std::vector< variable_infovarInfoList
 
std::vector< variable_infovarChangeInfoList
 

Detailed Description

template<int dim, int degree, typename T>
class variableContainer< dim, degree, T >

Definition at line 33 of file variableContainer.h.

Member Typedef Documentation

◆ scalargradType

typedef dealii::Tensor<1, dim, dealii::VectorizedArray<double> > scalargradType

Definition at line 68 of file variableContainer.h.

◆ scalarhessType

typedef dealii::Tensor<2,dim,dealii::VectorizedArray<double> > scalarhessType

Definition at line 71 of file variableContainer.h.

◆ scalarType

typedef dealii::VectorizedArray<double> scalarType

Definition at line 37 of file variableContainer.h.

◆ scalarvalueType

typedef dealii::VectorizedArray<double> scalarvalueType

Definition at line 51 of file variableContainer.h.

◆ typeScalar

typedef dealii::FEEvaluation<dim,degree,degree+1,1,double> typeScalar

Definition at line 44 of file variableContainer.h.

◆ typeVector

typedef dealii::FEEvaluation<dim,degree,degree+1,dim,double> typeVector

Definition at line 47 of file variableContainer.h.

◆ vectorgradType

typedef dealii::Tensor<2, dim, dealii::VectorizedArray<double> > vectorgradType

Definition at line 74 of file variableContainer.h.

◆ vectorhessType

typedef dealii::Tensor<3, dim, dealii::VectorizedArray<double> > vectorhessType

Definition at line 77 of file variableContainer.h.

◆ vectorType

typedef dealii::parallel::distributed::Vector<double> vectorType

Definition at line 40 of file variableContainer.h.

◆ vectorvalueType

typedef dealii::Tensor<1, dim, dealii::VectorizedArray<double> > vectorvalueType

Definition at line 54 of file variableContainer.h.

Constructor & Destructor Documentation

◆ variableContainer() [1/3]

variableContainer ( const dealii::MatrixFree< dim, double > &  data,
std::vector< variable_info _varInfoList,
std::vector< variable_info _varChangeInfoList 
)

Definition at line 5 of file variableContainer.cc.

◆ variableContainer() [2/3]

variableContainer ( const dealii::MatrixFree< dim, double > &  data,
std::vector< variable_info _varInfoList 
)

Definition at line 38 of file variableContainer.cc.

◆ variableContainer() [3/3]

variableContainer ( const dealii::MatrixFree< dim, double > &  data,
std::vector< variable_info _varInfoList,
unsigned int  fixed_index 
)

Definition at line 60 of file variableContainer.cc.

Member Function Documentation

◆ get_change_in_scalar_gradient()

dealii::Tensor< 1, dim, T > get_change_in_scalar_gradient ( unsigned int  global_variable_index) const

Definition at line 334 of file variableContainer.cc.

◆ get_change_in_scalar_hessian()

dealii::Tensor< 2, dim, T > get_change_in_scalar_hessian ( unsigned int  global_variable_index) const

Definition at line 346 of file variableContainer.cc.

◆ get_change_in_scalar_value()

T get_change_in_scalar_value ( unsigned int  global_variable_index) const

Definition at line 322 of file variableContainer.cc.

◆ get_change_in_vector_gradient()

dealii::Tensor< 2, dim, T > get_change_in_vector_gradient ( unsigned int  global_variable_index) const

Definition at line 370 of file variableContainer.cc.

◆ get_change_in_vector_hessian()

dealii::Tensor< 3, dim, T > get_change_in_vector_hessian ( unsigned int  global_variable_index) const

Definition at line 382 of file variableContainer.cc.

◆ get_change_in_vector_value()

dealii::Tensor< 1, dim, T > get_change_in_vector_value ( unsigned int  global_variable_index) const

Definition at line 358 of file variableContainer.cc.

◆ get_JxW()

void get_JxW ( dealii::AlignedVector< T > &  JxW)

Definition at line 81 of file variableContainer.cc.

◆ get_num_q_points()

unsigned int get_num_q_points ( )

Definition at line 98 of file variableContainer.cc.

◆ get_q_point_location()

dealii::Point< dim, T > get_q_point_location ( )

Definition at line 114 of file variableContainer.cc.

◆ get_scalar_gradient()

dealii::Tensor< 1, dim, T > get_scalar_gradient ( unsigned int  global_variable_index) const

Definition at line 261 of file variableContainer.cc.

◆ get_scalar_hessian()

dealii::Tensor< 2, dim, T > get_scalar_hessian ( unsigned int  global_variable_index) const

Definition at line 273 of file variableContainer.cc.

◆ get_scalar_value()

T get_scalar_value ( unsigned int  global_variable_index) const

Definition at line 249 of file variableContainer.cc.

◆ get_vector_gradient()

dealii::Tensor< 2, dim, T > get_vector_gradient ( unsigned int  global_variable_index) const

Definition at line 297 of file variableContainer.cc.

◆ get_vector_hessian()

dealii::Tensor< 3, dim, T > get_vector_hessian ( unsigned int  global_variable_index) const

Definition at line 309 of file variableContainer.cc.

◆ get_vector_value()

dealii::Tensor< 1, dim, T > get_vector_value ( unsigned int  global_variable_index) const

Definition at line 285 of file variableContainer.cc.

◆ integrate_and_distribute()

void integrate_and_distribute ( std::vector< vectorType *> &  dst)

Definition at line 217 of file variableContainer.cc.

◆ integrate_and_distribute_change_in_solution_LHS()

void integrate_and_distribute_change_in_solution_LHS ( vectorType dst,
const unsigned int  var_being_solved 
)

Definition at line 234 of file variableContainer.cc.

◆ reinit()

void reinit ( unsigned int  cell)

Definition at line 201 of file variableContainer.cc.

◆ reinit_and_eval()

void reinit_and_eval ( const std::vector< vectorType *> &  src,
unsigned int  cell 
)

Definition at line 131 of file variableContainer.cc.

◆ reinit_and_eval_change_in_solution()

void reinit_and_eval_change_in_solution ( const vectorType src,
unsigned int  cell,
unsigned int  var_being_solved 
)

This is specialized for the LHS where there will be only one change in the solution needed. The RHS method takes the src as a vector of vectorTypes.

Definition at line 154 of file variableContainer.cc.

◆ reinit_and_eval_LHS()

void reinit_and_eval_LHS ( const vectorType src,
const std::vector< vectorType *>  solutionSet,
unsigned int  cell,
unsigned int  var_being_solved 
)

Definition at line 171 of file variableContainer.cc.

◆ set_scalar_gradient_term_LHS()

void set_scalar_gradient_term_LHS ( unsigned int  global_variable_index,
dealii::Tensor< 1, dim, T >  grad 
)

Definition at line 419 of file variableContainer.cc.

◆ set_scalar_gradient_term_RHS()

void set_scalar_gradient_term_RHS ( unsigned int  global_variable_index,
dealii::Tensor< 1, dim, T >  grad 
)

Definition at line 400 of file variableContainer.cc.

◆ set_scalar_value_term_LHS()

void set_scalar_value_term_LHS ( unsigned int  global_variable_index,
val 
)

Definition at line 414 of file variableContainer.cc.

◆ set_scalar_value_term_RHS()

void set_scalar_value_term_RHS ( unsigned int  global_variable_index,
val 
)

Definition at line 395 of file variableContainer.cc.

◆ set_vector_gradient_term_LHS()

void set_vector_gradient_term_LHS ( unsigned int  global_variable_index,
dealii::Tensor< 2, dim, T >  grad 
)

Definition at line 428 of file variableContainer.cc.

◆ set_vector_gradient_term_RHS()

void set_vector_gradient_term_RHS ( unsigned int  global_variable_index,
dealii::Tensor< 2, dim, T >  grad 
)

Definition at line 409 of file variableContainer.cc.

◆ set_vector_value_term_LHS()

void set_vector_value_term_LHS ( unsigned int  global_variable_index,
dealii::Tensor< 1, dim, T >  val 
)

Definition at line 424 of file variableContainer.cc.

◆ set_vector_value_term_RHS()

void set_vector_value_term_RHS ( unsigned int  global_variable_index,
dealii::Tensor< 1, dim, T >  val 
)

Definition at line 405 of file variableContainer.cc.

Member Data Documentation

◆ num_var

unsigned int num_var
private

Definition at line 95 of file variableContainer.h.

◆ q_point

unsigned int q_point

Definition at line 86 of file variableContainer.h.

◆ scalar_change_in_vars

std::vector<dealii::FEEvaluation<dim,degree,degree+1,1,double> > scalar_change_in_vars
private

Definition at line 101 of file variableContainer.h.

◆ scalar_vars

std::vector<dealii::FEEvaluation<dim,degree,degree+1,1,double> > scalar_vars
private

Definition at line 98 of file variableContainer.h.

◆ varChangeInfoList

std::vector<variable_info> varChangeInfoList
private

Definition at line 106 of file variableContainer.h.

◆ varInfoList

std::vector<variable_info> varInfoList
private

Definition at line 105 of file variableContainer.h.

◆ vector_change_in_vars

std::vector<dealii::FEEvaluation<dim,degree,degree+1,dim,double> > vector_change_in_vars
private

Definition at line 102 of file variableContainer.h.

◆ vector_vars

std::vector<dealii::FEEvaluation<dim,degree,degree+1,dim,double> > vector_vars
private

Definition at line 99 of file variableContainer.h.


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