Panzer Version of the Day
Loading...
Searching...
No Matches
Variables
Underlying epetra types

Variables

Teuchos::RCP< panzer::FieldManagerBuilderpanzer::ModelEvaluator_Epetra::fmb_
 
panzer::AssemblyEngine_TemplateManager< panzer::Traitspanzer::ModelEvaluator_Epetra::ae_tm_
 
Teuchos::RCP< panzer::ResponseLibrary< panzer::Traits > > panzer::ModelEvaluator_Epetra::responseLibrary_
 
std::vector< Teuchos::RCP< const Epetra_Map > > panzer::ModelEvaluator_Epetra::g_map_
 
std::vector< std::string > panzer::ModelEvaluator_Epetra::g_names_
 
std::vector< Teuchos::RCP< Epetra_Map > > panzer::ModelEvaluator_Epetra::p_map_
 
std::vector< Teuchos::RCP< Epetra_Vector > > panzer::ModelEvaluator_Epetra::p_init_
 
std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > panzer::ModelEvaluator_Epetra::p_names_
 
Teuchos::Array< panzer::ParamVecpanzer::ModelEvaluator_Epetra::parameter_vector_
 
Teuchos::RCP< panzer::GlobalDatapanzer::ModelEvaluator_Epetra::global_data_
 
bool panzer::ModelEvaluator_Epetra::build_transient_support_
 
std::vector< bool > panzer::ModelEvaluator_Epetra::is_distributed_parameter_
 
std::vector< std::tuple< std::string, int, Teuchos::RCP< Epetra_Import >, Teuchos::RCP< Epetra_Vector > > > panzer::ModelEvaluator_Epetra::distributed_parameter_container_
 
Teuchos::RCP< panzer::LinearObjFactory< panzer::Traits > > panzer::ModelEvaluator_Epetra::lof_
 
Teuchos::RCP< LinearObjContainerpanzer::ModelEvaluator_Epetra::ghostedContainer_
 
Teuchos::RCP< Teuchos::AbstractFactory< Epetra_Operator > > panzer::ModelEvaluator_Epetra::epetraOperatorFactory_
 
bool panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_on_
 
double panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_
 

Post-Construction methods to add parameters and/or responses

Teuchos::RCP< const Epetra_Mappanzer::ModelEvaluator_Epetra::map_x_
 
Teuchos::RCP< Epetra_Vectorpanzer::ModelEvaluator_Epetra::x0_
 
Teuchos::RCP< Epetra_Vectorpanzer::ModelEvaluator_Epetra::x_dot_init_
 
double panzer::ModelEvaluator_Epetra::t_init_
 
Teuchos::RCP< Epetra_Vectorpanzer::ModelEvaluator_Epetra::dummy_f_
 
int panzer::ModelEvaluator_Epetra::addDistributedParameter (const std::string name, const Teuchos::RCP< Epetra_Map > &global_map, const Teuchos::RCP< Epetra_Import > &importer, const Teuchos::RCP< Epetra_Vector > &ghosted_vector)
 
template<typename ResponseEvaluatorFactory_BuilderT >
int panzer::ModelEvaluator_Epetra::addResponse (const std::string &responseName, const std::vector< WorksetDescriptor > &wkst_desc, const ResponseEvaluatorFactory_BuilderT &builder)
 
void panzer::ModelEvaluator_Epetra::buildResponses (const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::EquationSetFactory &eqset_factory, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="")
 
void panzer::ModelEvaluator_Epetra::buildResponses (const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &closure_models, const Teuchos::ParameterList &user_data, const bool write_graphviz_file=false, const std::string &graphviz_file_prefix="")
 
void panzer::ModelEvaluator_Epetra::setOneTimeDirichletBeta (const double &beta) const
 
void panzer::ModelEvaluator_Epetra::applyDirichletBCs (const Teuchos::RCP< Thyra::VectorBase< double > > &x, const Teuchos::RCP< Thyra::VectorBase< double > > &f) const
 
void panzer::ModelEvaluator_Epetra::initializeEpetraObjs (panzer::BlockedEpetraLinearObjFactory< panzer::Traits, int > &lof)
 
void panzer::ModelEvaluator_Epetra::initializeParameterVector (const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &p_names, const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &p_values, const Teuchos::RCP< panzer::ParamLib > &parameter_library)
 
void panzer::ModelEvaluator_Epetra::evalModel_basic (const InArgs &inArgs, const OutArgs &outArgs) const
 for evaluation and handling of normal quantities, x,f,W, etc
 
void panzer::ModelEvaluator_Epetra::evalModel_basic_g (AssemblyEngineInArgs ae_inargs, const InArgs &inArgs, const OutArgs &outArgs) const
 
void panzer::ModelEvaluator_Epetra::evalModel_basic_dgdx (AssemblyEngineInArgs ae_inargs, const InArgs &inArgs, const OutArgs &outArgs) const
 
void panzer::ModelEvaluator_Epetra::evalModel_basic_dfdp (AssemblyEngineInArgs ae_inargs, const InArgs &inArgs, const OutArgs &outArgs) const
 
bool panzer::ModelEvaluator_Epetra::required_basic_g (const OutArgs &outArgs) const
 Are their required responses in the out args? g and DgDx.
 
bool panzer::ModelEvaluator_Epetra::required_basic_dgdx (const OutArgs &outArgs) const
 Are their required responses in the out args? DgDx.
 
bool panzer::ModelEvaluator_Epetra::required_basic_dfdp (const OutArgs &outArgs) const
 Are derivatives of the residual with respect to the parameters in the out args? DfDp.
 
void panzer::ModelEvaluator_Epetra::copyEpetraIntoThyra (const Epetra_MultiVector &x, const Teuchos::Ptr< Thyra::VectorBase< double > > &thyraVec) const
 
void panzer::ModelEvaluator_Epetra::copyThyraIntoEpetra (const Thyra::VectorBase< double > &thyraVec, Epetra_MultiVector &x) const
 

Detailed Description

Function Documentation

◆ addDistributedParameter()

int panzer::ModelEvaluator_Epetra::addDistributedParameter ( const std::string  name,
const Teuchos::RCP< Epetra_Map > &  global_map,
const Teuchos::RCP< Epetra_Import > &  importer,
const Teuchos::RCP< Epetra_Vector > &  ghosted_vector 
)

Add a distributed parameter to the model evaluator

Distributed parameters are special in that they most likely will require a global to ghost call before being used in the evaluator. This function registers the parameter and any needed machinery to perform the global to ghost call.

NOTE: We can't use the LinearObjFactory and LinearObjContainers here because those objects require a unique global indexer to build. In general, the distributed parameters may NOT be coming from an object that has an associated unique global indexer. An example of this is multiphysics coupling. The parameters will be coming form another code that may not have a PDE discretization. Generalizing this function to hide the linear algebra type may not be possible unless we refactor the linear object support or write new wrapper objects. Also note that Thyra has no concept of an import/export object so we can't use Thyra here to abstract the objects.

Parameters
[in]nameName of the distributed parameter
[in]global_mapRCP to Epetra_Map used to construct the global parameter vector.
[in]importerRCP to a Epetra_Import object used for the global to ghost. If set to null, then no global to ghost will be performed.
[in]ghosted_vectorRCP to the ghosted vector that is the target of the global to ghost. If set to null, then no global to ghost will be performed.
Returns
The index associated with this parameter for accessing it through the ModelEvaluator interface.

Definition at line 186 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ addResponse()

template<typename ResponseEvaluatorFactory_BuilderT >
int panzer::ModelEvaluator_Epetra::addResponse ( const std::string &  responseName,
const std::vector< WorksetDescriptor > &  wkst_desc,
const ResponseEvaluatorFactory_BuilderT &  builder 
)

Add a response specified by a list of WorksetDescriptor objects. The specifics of the response are specified by the response factory builder.

NOTE: Response factories must use a response of type ResponseMESupportBase. This is how the model evaluator parses and puts responses in the right location. If this condition is violated the evalModel call will fail. Furthermore, this method cannot be called after buildRespones has been called.

Parameters
[in]responseNameName of the response to be added.
[in]wkst_descA vector of descriptors describing the types of elements that make up the response.
[in]builderBuilder that builds the correct response object.
Returns
The index associated with this response for accessing it through the ModelEvaluator interface.

Definition at line 297 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ buildResponses() [1/2]

void panzer::ModelEvaluator_Epetra::buildResponses ( const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::EquationSetFactory eqset_factory,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList &  closure_models,
const Teuchos::ParameterList &  user_data,
const bool  write_graphviz_file = false,
const std::string &  graphviz_file_prefix = "" 
)
inline

Build all the responses set on the model evaluator. Once this method is called no other responses can be added. An exception is thrown if they are.

Definition at line 146 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ buildResponses() [2/2]

void panzer::ModelEvaluator_Epetra::buildResponses ( const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &  physicsBlocks,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  cm_factory,
const Teuchos::ParameterList &  closure_models,
const Teuchos::ParameterList &  user_data,
const bool  write_graphviz_file = false,
const std::string &  graphviz_file_prefix = "" 
)
inline

Build all the responses set on the model evaluator. Once this method is called no other responses can be added. An exception is thrown if they are.

Definition at line 159 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ setOneTimeDirichletBeta()

void panzer::ModelEvaluator_Epetra::setOneTimeDirichletBeta ( const double &  beta) const

This function is intended for experts only, it allows for a beta to be set for the dirichlet conditions only. This allows the dirichlet condition to be propagated to the mass matrix. The reason it is one time only is that it breaks encapsulation, and should be only used if absolutely neccessary.

Parameters
[in]betaValue of beta to use.

Definition at line 905 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ applyDirichletBCs()

void panzer::ModelEvaluator_Epetra::applyDirichletBCs ( const Teuchos::RCP< Thyra::VectorBase< double > > &  x,
const Teuchos::RCP< Thyra::VectorBase< double > > &  f 
) const

Apply the dirichlet boundary conditions to the vector "f" using the "x" values as the current solution.

Definition at line 338 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ initializeEpetraObjs()

void panzer::ModelEvaluator_Epetra::initializeEpetraObjs ( panzer::BlockedEpetraLinearObjFactory< panzer::Traits, int > &  lof)
private

Initialize Epetra linear objects.

Note
Requires lof_ to be set.

Definition at line 128 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ initializeParameterVector()

void panzer::ModelEvaluator_Epetra::initializeParameterVector ( const std::vector< Teuchos::RCP< Teuchos::Array< std::string > > > &  p_names,
const std::vector< Teuchos::RCP< Teuchos::Array< double > > > &  p_values,
const Teuchos::RCP< panzer::ParamLib > &  parameter_library 
)
private

Initialize the parameter vector object

Definition at line 161 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ evalModel_basic()

void panzer::ModelEvaluator_Epetra::evalModel_basic ( const InArgs &  inArgs,
const OutArgs &  outArgs 
) const
private

for evaluation and handling of normal quantities, x,f,W, etc

Definition at line 413 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ evalModel_basic_g()

void panzer::ModelEvaluator_Epetra::evalModel_basic_g ( AssemblyEngineInArgs  ae_inargs,
const InArgs &  inArgs,
const OutArgs &  outArgs 
) const
private

handles evaluation of responses g, dgdx

Note
This method should (basically) be a no-op if required_basic_g(outArgs)==false. However, for efficiency this is not checked.

Definition at line 618 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ evalModel_basic_dgdx()

void panzer::ModelEvaluator_Epetra::evalModel_basic_dgdx ( AssemblyEngineInArgs  ae_inargs,
const InArgs &  inArgs,
const OutArgs &  outArgs 
) const
private

handles evaluation of responses dgdx

Note
This method should (basically) be a no-op if required_basic_dgdx(outArgs)==false. However, for efficiency this is not checked.

Definition at line 640 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ evalModel_basic_dfdp()

void panzer::ModelEvaluator_Epetra::evalModel_basic_dfdp ( AssemblyEngineInArgs  ae_inargs,
const InArgs &  inArgs,
const OutArgs &  outArgs 
) const
private

handles evaluation of residual derivatives dfdp

Note
This method should (basically) be a no-op if required_basic_dfdp(outArgs)==false. However, for efficiency this is not checked.

Definition at line 668 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ required_basic_g()

bool panzer::ModelEvaluator_Epetra::required_basic_g ( const OutArgs &  outArgs) const
private

Are their required responses in the out args? g and DgDx.

Definition at line 750 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ required_basic_dgdx()

bool panzer::ModelEvaluator_Epetra::required_basic_dgdx ( const OutArgs &  outArgs) const
private

Are their required responses in the out args? DgDx.

Definition at line 760 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ required_basic_dfdp()

bool panzer::ModelEvaluator_Epetra::required_basic_dfdp ( const OutArgs &  outArgs) const
private

Are derivatives of the residual with respect to the parameters in the out args? DfDp.

Definition at line 776 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ copyEpetraIntoThyra()

void panzer::ModelEvaluator_Epetra::copyEpetraIntoThyra ( const Epetra_MultiVector x,
const Teuchos::Ptr< Thyra::VectorBase< double > > &  thyraVec 
) const
private

Definition at line 837 of file Panzer_ModelEvaluator_Epetra.cpp.

◆ copyThyraIntoEpetra()

void panzer::ModelEvaluator_Epetra::copyThyraIntoEpetra ( const Thyra::VectorBase< double > &  thyraVec,
Epetra_MultiVector x 
) const
private

Definition at line 797 of file Panzer_ModelEvaluator_Epetra.cpp.

Variable Documentation

◆ map_x_

Teuchos::RCP<const Epetra_Map> panzer::ModelEvaluator_Epetra::map_x_
private

Definition at line 246 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ x0_

Teuchos::RCP<Epetra_Vector> panzer::ModelEvaluator_Epetra::x0_
private

Definition at line 247 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ x_dot_init_

Teuchos::RCP<Epetra_Vector> panzer::ModelEvaluator_Epetra::x_dot_init_
private

Definition at line 248 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ t_init_

double panzer::ModelEvaluator_Epetra::t_init_
private

Definition at line 249 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ dummy_f_

Teuchos::RCP<Epetra_Vector> panzer::ModelEvaluator_Epetra::dummy_f_
mutableprivate

Definition at line 250 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ fmb_

Teuchos::RCP<panzer::FieldManagerBuilder> panzer::ModelEvaluator_Epetra::fmb_
private

Definition at line 254 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ ae_tm_

panzer::AssemblyEngine_TemplateManager<panzer::Traits> panzer::ModelEvaluator_Epetra::ae_tm_
mutableprivate

Definition at line 255 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ responseLibrary_

Teuchos::RCP<panzer::ResponseLibrary<panzer::Traits> > panzer::ModelEvaluator_Epetra::responseLibrary_
mutableprivate

Definition at line 258 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ g_map_

std::vector<Teuchos::RCP<const Epetra_Map> > panzer::ModelEvaluator_Epetra::g_map_
private

Definition at line 259 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ g_names_

std::vector<std::string> panzer::ModelEvaluator_Epetra::g_names_
private

Definition at line 260 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ p_map_

std::vector<Teuchos::RCP<Epetra_Map> > panzer::ModelEvaluator_Epetra::p_map_
private

Definition at line 263 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ p_init_

std::vector<Teuchos::RCP<Epetra_Vector> > panzer::ModelEvaluator_Epetra::p_init_
private

Definition at line 264 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ p_names_

std::vector<Teuchos::RCP<Teuchos::Array<std::string> > > panzer::ModelEvaluator_Epetra::p_names_
private

Definition at line 266 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ parameter_vector_

Teuchos::Array<panzer::ParamVec> panzer::ModelEvaluator_Epetra::parameter_vector_
mutableprivate

Definition at line 268 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ global_data_

Teuchos::RCP<panzer::GlobalData> panzer::ModelEvaluator_Epetra::global_data_
private

Definition at line 269 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ build_transient_support_

bool panzer::ModelEvaluator_Epetra::build_transient_support_
private

Definition at line 270 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ is_distributed_parameter_

std::vector<bool> panzer::ModelEvaluator_Epetra::is_distributed_parameter_
private

Returns true if this is a distributed vector and false if it is a locally replicated scalar parameter. This is used to determine when to call a global to ghost method which is required for distributed parameters only.

Definition at line 274 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ distributed_parameter_container_

std::vector<std::tuple<std::string,int,Teuchos::RCP<Epetra_Import>,Teuchos::RCP<Epetra_Vector> > > panzer::ModelEvaluator_Epetra::distributed_parameter_container_
private

Vector of tuples that contains objects needed for the global to ghost method for distributed parameters.

Tuple index 0: the string name for the parameter in the model evaluator. Tuple index 1: the integer index for the parameter in the model evaluator. Tuple index 2: an RCP to the linear object factory that performs the global to ghost operation. Tuple index 3: an RCP to the GHOSTED vector that is the target of the global to ghost operation.

Definition at line 283 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ lof_

Teuchos::RCP<panzer::LinearObjFactory<panzer::Traits> > panzer::ModelEvaluator_Epetra::lof_
private

Definition at line 286 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ ghostedContainer_

Teuchos::RCP<LinearObjContainer> panzer::ModelEvaluator_Epetra::ghostedContainer_
mutableprivate

Definition at line 287 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ epetraOperatorFactory_

Teuchos::RCP<Teuchos::AbstractFactory<Epetra_Operator> > panzer::ModelEvaluator_Epetra::epetraOperatorFactory_
private

Definition at line 289 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ oneTimeDirichletBeta_on_

bool panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_on_
mutableprivate

Definition at line 291 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ oneTimeDirichletBeta_

double panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_
mutableprivate

Definition at line 292 of file Panzer_ModelEvaluator_Epetra.hpp.