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 218 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 329 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 178 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 191 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 939 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 370 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 160 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 193 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 445 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 652 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 674 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 702 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 784 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 794 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 810 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 871 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 831 of file Panzer_ModelEvaluator_Epetra.cpp.

Variable Documentation

◆ map_x_

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

Definition at line 278 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ x0_

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

Definition at line 279 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ x_dot_init_

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

Definition at line 280 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ t_init_

double panzer::ModelEvaluator_Epetra::t_init_
private

Definition at line 281 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ dummy_f_

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

Definition at line 282 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ fmb_

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

Definition at line 286 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ ae_tm_

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

Definition at line 287 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ responseLibrary_

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

Definition at line 290 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ g_map_

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

Definition at line 291 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ g_names_

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

Definition at line 292 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ p_map_

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

Definition at line 295 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ p_init_

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

Definition at line 296 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 298 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ parameter_vector_

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

Definition at line 300 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ global_data_

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

Definition at line 301 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ build_transient_support_

bool panzer::ModelEvaluator_Epetra::build_transient_support_
private

Definition at line 302 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 306 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 315 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ lof_

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

Definition at line 318 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ ghostedContainer_

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

Definition at line 319 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ epetraOperatorFactory_

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

Definition at line 321 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ oneTimeDirichletBeta_on_

bool panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_on_
mutableprivate

Definition at line 323 of file Panzer_ModelEvaluator_Epetra.hpp.

◆ oneTimeDirichletBeta_

double panzer::ModelEvaluator_Epetra::oneTimeDirichletBeta_
mutableprivate

Definition at line 324 of file Panzer_ModelEvaluator_Epetra.hpp.