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

#include <test_invM.h>

Inheritance diagram for testInvM< dim, degree >:
MatrixFreePDE< dim, degree >

Public Member Functions

 testInvM (userInputParameters< dim > _userInputs)
 
 ~testInvM ()
 
void setBCs ()
 
void setInitialCondition (const dealii::Point< dim > &p, const unsigned int index, double &scalar_IC, dealii::Vector< double > &vector_IC)
 
void setNonUniformDirichletBCs (const dealii::Point< dim > &p, const unsigned int index, const unsigned int direction, const double time, double &scalar_BC, dealii::Vector< double > &vector_BC)
 
- Public Member Functions inherited from MatrixFreePDE< dim, degree >
 MatrixFreePDE (userInputParameters< dim >)
 
 ~MatrixFreePDE ()
 
virtual void init ()
 
virtual void makeTriangulation (parallel::distributed::Triangulation< dim > &) const
 
void initForTests ()
 
void solve ()
 
void vmult (vectorType &dst, const vectorType &src) const
 
void buildFields ()
 

Public Attributes

double invMNorm
 
- Public Attributes inherited from MatrixFreePDE< dim, degree >
std::vector< Field< dim > > fields
 
ConditionalOStream pcout
 

Private Member Functions

void getRHS (const MatrixFree< dim, double > &data, std::vector< vectorType *> &dst, const std::vector< vectorType *> &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
void explicitEquationRHS (variableContainer< dim, degree, dealii::VectorizedArray< double > > &variable_list, dealii::Point< dim, dealii::VectorizedArray< double > > q_point_loc) const
 
void nonExplicitEquationRHS (variableContainer< dim, degree, dealii::VectorizedArray< double > > &variable_list, dealii::Point< dim, dealii::VectorizedArray< double > > q_point_loc) const
 
void equationLHS (variableContainer< dim, degree, dealii::VectorizedArray< double > > &variable_list, dealii::Point< dim, dealii::VectorizedArray< double > > q_point_loc) const
 

Additional Inherited Members

- Protected Member Functions inherited from MatrixFreePDE< dim, degree >
void reinit ()
 
void reassignGrains ()
 
virtual void solveIncrement (bool skip_time_dependent)
 
void outputResults ()
 
void computeInvM ()
 
void refineGrid ()
 
void adaptiveRefine (unsigned int _currentIncrement)
 
virtual void adaptiveRefineCriterion ()
 
void computeExplicitRHS ()
 
void computeNonexplicitRHS ()
 
void getLHS (const MatrixFree< dim, double > &data, vectorType &dst, const vectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
void getLaplaceLHS (const MatrixFree< dim, double > &data, vectorType &dst, const vectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
void setNonlinearEqInitialGuess ()
 
void computeLaplaceRHS (unsigned int fieldIndex)
 
void getLaplaceRHS (const MatrixFree< dim, double > &data, vectorType &dst, const vectorType &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
void getExplicitRHS (const MatrixFree< dim, double > &data, std::vector< vectorType *> &dst, const std::vector< vectorType *> &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
void getNonexplicitRHS (const MatrixFree< dim, double > &data, std::vector< vectorType *> &dst, const std::vector< vectorType *> &src, const std::pair< unsigned int, unsigned int > &cell_range) const
 
virtual void postProcessedFields (const variableContainer< dim, degree, dealii::VectorizedArray< double > > &variable_list, variableContainer< dim, degree, dealii::VectorizedArray< double > > &pp_variable_list, const dealii::Point< dim, dealii::VectorizedArray< double > > q_point_loc) const
 
void computePostProcessedFields (std::vector< vectorType *> &postProcessedSet)
 
void getPostProcessedFields (const dealii::MatrixFree< dim, double > &data, std::vector< vectorType *> &dst, const std::vector< vectorType *> &src, const std::pair< unsigned int, unsigned int > &cell_range)
 
void markBoundaries (parallel::distributed::Triangulation< dim > &) const
 
void applyDirichletBCs ()
 
void applyNeumannBCs ()
 
void setPeriodicity ()
 
void setPeriodicityConstraints (ConstraintMatrix *, const DoFHandler< dim > *) const
 
void getComponentsWithRigidBodyModes (std::vector< int > &) const
 
void setRigidBodyModeConstraints (const std::vector< int >, ConstraintMatrix *, const DoFHandler< dim > *) const
 
void applyInitialConditions ()
 
void save_checkpoint ()
 
void load_checkpoint_triangulation ()
 
void load_checkpoint_fields ()
 
void load_checkpoint_time_info ()
 
void move_file (const std::string &, const std::string &)
 
void verify_checkpoint_file_exists (const std::string filename)
 
void updateNucleiList ()
 
std::vector< nucleus< dim > > getNewNuclei ()
 
void getLocalNucleiList (std::vector< nucleus< dim > > &newnuclei) const
 
void safetyCheckNewNuclei (std::vector< nucleus< dim > > newnuclei, std::vector< unsigned int > &conflict_ids)
 
void refineMeshNearNuclei (std::vector< nucleus< dim > > newnuclei)
 
double weightedDistanceFromNucleusCenter (const dealii::Point< dim, double > center, const std::vector< double > semiaxes, const dealii::Point< dim, double > q_point_loc, const unsigned int var_index) const
 
dealii::VectorizedArray< double > weightedDistanceFromNucleusCenter (const dealii::Point< dim, double > center, const std::vector< double > semiaxes, const dealii::Point< dim, dealii::VectorizedArray< double > > q_point_loc, const unsigned int var_index) const
 
virtual double getNucleationProbability (variableValueContainer, double, dealii::Point< dim >, unsigned int variable_index) const
 
unsigned int getFieldIndex (std::string _name)
 
void outputFreeEnergy (const std::vector< double > &freeEnergyValues) const
 
void computeIntegral (double &integratedField, int index, std::vector< vectorType *> postProcessedSet)
 
void computeIntegralMF (double &integratedField, int index, const std::vector< vectorType *> postProcessedSet)
 
void getIntegralMF (const MatrixFree< dim, double > &data, std::vector< vectorType *> &dst, const std::vector< vectorType *> &src, const std::pair< unsigned int, unsigned int > &cell_range)
 
- Protected Attributes inherited from MatrixFreePDE< dim, degree >
userInputParameters< dim > userInputs
 
unsigned int totalDOFs
 
variableAttributeLoader var_attributes
 
std::vector< SimplifiedGrainRepresentation< dim > > simplified_grain_representations
 
parallel::distributed::Triangulation< dim > triangulation
 
std::vector< FESystem< dim > * > FESet
 
std::vector< const ConstraintMatrix * > constraintsDirichletSet
 
std::vector< const ConstraintMatrix * > constraintsOtherSet
 
std::vector< const DoFHandler< dim > * > dofHandlersSet
 
std::vector< const IndexSet * > locally_relevant_dofsSet
 
std::vector< ConstraintMatrix * > constraintsDirichletSet_nonconst
 
std::vector< ConstraintMatrix * > constraintsOtherSet_nonconst
 
std::vector< DoFHandler< dim > * > dofHandlersSet_nonconst
 
std::vector< IndexSet * > locally_relevant_dofsSet_nonconst
 
std::vector< vectorType * > solutionSet
 
std::vector< vectorType * > residualSet
 
std::vector< parallel::distributed::SolutionTransfer< dim, vectorType > * > soltransSet
 
DoFHandler< dim > * vector_dofHandler
 
FESystem< dim > * vector_fe
 
MatrixFree< dim, double > vector_matrixFreeObject
 
MatrixFree< dim, double > matrixFreeObject
 
vectorType invM
 
vectorType dU_vector
 
vectorType dU_scalar
 
unsigned int currentFieldIndex
 
bool generatingInitialGuess
 
std::vector< std::map< dealii::types::global_dof_index, double > * > valuesDirichletSet
 
std::vector< nucleus< dim > > nuclei
 
std::vector< double > freeEnergyValues
 
bool isTimeDependentBVP
 
bool isEllipticBVP
 
bool hasExplicitEquation
 
bool hasNonExplicitEquation
 
bool has_Dirichlet_BCs
 
unsigned int parabolicFieldIndex
 
unsigned int ellipticFieldIndex
 
double currentTime
 
unsigned int currentIncrement
 
unsigned int currentOutput
 
unsigned int currentCheckpoint
 
unsigned int current_grain_reassignment
 
TimerOutput computing_timer
 
std::vector< double > integrated_postprocessed_fields
 
bool first_integrated_var_output_complete
 
double integrated_var
 
unsigned int integral_index
 
dealii::Threads::Mutex assembler_lock
 
- Static Protected Attributes inherited from MatrixFreePDE< dim, degree >
static const unsigned int CIJ_tensor_size = 2*dim-1+dim/3
 

Detailed Description

template<int dim, int degree>
class testInvM< dim, degree >

Definition at line 3 of file test_invM.h.

Constructor & Destructor Documentation

◆ testInvM()

testInvM ( userInputParameters< dim >  _userInputs)
inline

Definition at line 6 of file test_invM.h.

◆ ~testInvM()

~testInvM ( )
inline

Definition at line 20 of file test_invM.h.

Member Function Documentation

◆ equationLHS()

void equationLHS ( variableContainer< dim, degree, dealii::VectorizedArray< double > > &  variable_list,
dealii::Point< dim, dealii::VectorizedArray< double > >  q_point_loc 
) const
inlineprivatevirtual

Implements MatrixFreePDE< dim, degree >.

Definition at line 50 of file test_invM.h.

◆ explicitEquationRHS()

void explicitEquationRHS ( variableContainer< dim, degree, dealii::VectorizedArray< double > > &  variable_list,
dealii::Point< dim, dealii::VectorizedArray< double > >  q_point_loc 
) const
inlineprivatevirtual

Implements MatrixFreePDE< dim, degree >.

Definition at line 42 of file test_invM.h.

◆ getRHS()

void getRHS ( const MatrixFree< dim, double > &  data,
std::vector< vectorType *> &  dst,
const std::vector< vectorType *> &  src,
const std::pair< unsigned int, unsigned int > &  cell_range 
) const
inlineprivate

Definition at line 36 of file test_invM.h.

◆ nonExplicitEquationRHS()

void nonExplicitEquationRHS ( variableContainer< dim, degree, dealii::VectorizedArray< double > > &  variable_list,
dealii::Point< dim, dealii::VectorizedArray< double > >  q_point_loc 
) const
inlineprivatevirtual

Implements MatrixFreePDE< dim, degree >.

Definition at line 46 of file test_invM.h.

◆ setBCs()

void setBCs ( )
inline

Definition at line 26 of file test_invM.h.

◆ setInitialCondition()

void setInitialCondition ( const dealii::Point< dim > &  p,
const unsigned int  index,
double &  scalar_IC,
dealii::Vector< double > &  vector_IC 
)
inlinevirtual

Implements MatrixFreePDE< dim, degree >.

Definition at line 29 of file test_invM.h.

◆ setNonUniformDirichletBCs()

void setNonUniformDirichletBCs ( const dealii::Point< dim > &  p,
const unsigned int  index,
const unsigned int  direction,
const double  time,
double &  scalar_BC,
dealii::Vector< double > &  vector_BC 
)
inlinevirtual

Implements MatrixFreePDE< dim, degree >.

Definition at line 32 of file test_invM.h.

Member Data Documentation

◆ invMNorm

double invMNorm

Definition at line 22 of file test_invM.h.


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