Panzer Version of the Day
Loading...
Searching...
No Matches
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"
20#include "Phalanx_FieldManager.hpp"
21#include "Teuchos_RCP.hpp"
22#include "Teuchos_ParameterList.hpp"
23
24#include <vector>
25#include <map>
26
27namespace 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,
104 const Teuchos::RCP<Thyra::VectorBase<double> > & vec);
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
123 void evaluateInitialCondition(WorksetContainer & wkstContainer,
124 const std::map<std::string, Teuchos::RCP< PHX::FieldManager<panzer::Traits> > >& phx_ic_field_managers,
125 Teuchos::RCP<panzer::LinearObjContainer> loc,
127 const double time_stamp,
128 const double step_size = 0.0,
129 const int stage_number = 0);
130}
131
132#endif
Class that provides access to worksets on each element block and side set.
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 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 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)
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, const double step_size, const int stage_number)