Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_InitialCondition_Builder.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef PANZER_INITIAL_CONDITION_BUILDER_HPP
12 #define PANZER_INITIAL_CONDITION_BUILDER_HPP
13 
14 #include "Panzer_Traits.hpp"
15 #include "Panzer_PhysicsBlock.hpp"
16 #include "Panzer_GlobalIndexer.hpp"
20 #include "Phalanx_FieldManager.hpp"
21 #include "Teuchos_RCP.hpp"
23 
24 #include <vector>
25 #include <map>
26 
27 namespace panzer {
28 
40  void setupInitialConditionFieldManagers(WorksetContainer & wkstContainer,
41  const std::vector<Teuchos::RCP<panzer::PhysicsBlock> >& physicsBlocks,
43  const Teuchos::ParameterList& ic_block_closure_models,
45  const Teuchos::ParameterList& user_data,
46  const bool write_graphviz_file,
47  const std::string& graphviz_file_prefix,
48  std::map<std::string, Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >& phx_ic_field_managers);
49 
62  void setupInitialConditionFieldManagers(WorksetContainer & wkstContainer,
63  const std::vector<Teuchos::RCP<panzer::PhysicsBlock> >& physicsBlocks,
65  const Teuchos::ParameterList& ic_closure_models,
66  const Teuchos::ParameterList& closure_models,
68  const Teuchos::ParameterList& user_data,
69  const bool write_graphviz_file,
70  const std::string& graphviz_file_prefix,
71  std::map<std::string, Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >& phx_ic_field_managers);
72 
75  typedef struct {
76  std::string fieldName;
77  std::string basisName;
80 
95  void setupControlInitialCondition(const std::map<std::string,Teuchos::RCP<const shards::CellTopology> > & block_ids_to_cell_topo,
96  const std::map<std::string,std::vector<ICFieldDescriptor> > & block_ids_to_fields,
97  panzer::WorksetContainer & wkstContainer,
100  const Teuchos::ParameterList & ic_closure_models,
101  const Teuchos::ParameterList & user_data,
102  int workset_size,
103  double t0,
105 
114  void buildICPhysicsBlocks(const std::map<std::string,Teuchos::RCP<const shards::CellTopology> > & block_ids_to_cell_topo,
115  const std::map<std::string,std::vector<ICFieldDescriptor> > & block_ids_to_fields,
116  int workset_size,
117  std::vector<Teuchos::RCP<panzer::PhysicsBlock> > & physics_blocks);
118 
121  void evaluateInitialCondition(WorksetContainer & wkstContainer,
122  const std::map<std::string, Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >& phx_ic_field_managers,
125  const double time_stamp);
126 }
127 
128 #endif
void buildICPhysicsBlocks(const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &block_ids_to_cell_topo, const std::map< std::string, std::vector< ICFieldDescriptor > > &block_ids_to_fields, int workset_size, std::vector< Teuchos::RCP< PhysicsBlock > > &physics_blocks)
void setupControlInitialCondition(const std::map< std::string, Teuchos::RCP< const shards::CellTopology > > &block_ids_to_cell_topo, const std::map< std::string, std::vector< ICFieldDescriptor > > &block_ids_to_fields, WorksetContainer &wkstContainer, const LinearObjFactory< Traits > &lof, const ClosureModelFactory_TemplateManager< Traits > &cm_factory, const Teuchos::ParameterList &ic_closure_models, const Teuchos::ParameterList &user_data, int workset_size, double t0, const Teuchos::RCP< Thyra::VectorBase< double > > &vec)
Class that provides access to worksets on each element block and side set.
void setupInitialConditionFieldManagers(WorksetContainer &wkstContainer, const std::vector< Teuchos::RCP< panzer::PhysicsBlock > > &physicsBlocks, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &cm_factory, const Teuchos::ParameterList &ic_block_closure_models, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const Teuchos::ParameterList &user_data, const bool write_graphviz_file, const std::string &graphviz_file_prefix, std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &phx_ic_field_managers)
Builds PHX::FieldManager objects for inital conditions and registers evaluators.
void evaluateInitialCondition(WorksetContainer &wkstContainer, const std::map< std::string, Teuchos::RCP< PHX::FieldManager< panzer::Traits > > > &phx_ic_field_managers, Teuchos::RCP< panzer::LinearObjContainer > loc, const panzer::LinearObjFactory< panzer::Traits > &lo_factory, const double time_stamp)