Flow123d  jenkins-Flow123d-linux-release-multijob-282
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
OldBcdInput Class Reference

Old BC setting system for backward compatibility. More...

#include <old_bcd.hh>

Collaboration diagram for OldBcdInput:
Collaboration graph
[legend]

Classes

class  FieldFactory
 

Public Types

typedef FieldElementwise
< 3, FieldValue< 3 >::Scalar > 
FieldScalar
 
typedef FieldElementwise
< 3, FieldValue< 3 >::Enum > 
FieldEnum
 
typedef FieldElementwise
< 3, FieldValue< 3 >::Vector > 
FieldVector
 

Public Member Functions

void read_flow_record (Input::Record rec, const FieldCommon &field)
 
void read_transport_record (Input::Record rec, const FieldCommon &field)
 
void read_flow (const Mesh &mesh, const FilePath &flow_bcd)
 
void read_transport (unsigned int n_substances, const FilePath &transport_bcd)
 

Static Public Member Functions

static string flow_old_bcd_file_key ()
 
static string transport_old_bcd_file_key ()
 
static OldBcdInputinstance ()
 

Public Attributes

shared_ptr< FieldEnumflow_type
 
shared_ptr< FieldScalarflow_pressure
 
shared_ptr< FieldScalarflow_flux
 
shared_ptr< FieldScalarflow_sigma
 
shared_ptr< FieldVectortrans_conc
 
std::shared_ptr
< OldBcdInput::FieldFactory
< 3, FieldValue< 3 >::Enum > > 
flow_type_factory
 
std::shared_ptr
< OldBcdInput::FieldFactory
< 3, FieldValue< 3 >::Scalar > > 
flow_pressure_factory
 
std::shared_ptr
< OldBcdInput::FieldFactory
< 3, FieldValue< 3 >::Scalar > > 
flow_flux_factory
 
std::shared_ptr
< OldBcdInput::FieldFactory
< 3, FieldValue< 3 >::Scalar > > 
flow_sigma_factory
 
std::shared_ptr
< OldBcdInput::FieldFactory
< 3, FieldValue< 3 >::Vector > > 
trans_conc_factory
 
map< unsigned int, unsigned int > id_2_bcd_
 Maps ID to index of corresponding BC element. More...
 

Private Member Functions

 OldBcdInput ()
 

Private Attributes

const Meshmesh_
 
Region some_bc_region_
 
string flow_input_file_
 
string transport_input_file_
 

Detailed Description

Old BC setting system for backward compatibility.

The class provides a singleton object for support of old input files with boundary conditions. The method read_flow, reads the flow boundary file and creates FieldElementwise objects for the BC type, the pressure, the flux and the sigma. More over it fills map that assigns boundary elements to the boundary IDs. This map si used by possible call of the read_transport method that reads the transport boundary file and creates the FieldElementwise for the boundary concentrations.

Flow boundary file

The boundary condition file for the flow problem contains section $BoundaryConditions in which the first line specifies the number of BC lines. One BC line consists of the boudary face ID, the BC type (1 - Dirichlet, 2 - Neumann, 3 - Robin) followed by the BC data: the pressure value (Dirichlet BC), or the flux value (Neumann BC), or the pressure and the coefficient (Robin BC). After the boundary data there is face specification, it consists of the specification type (the value 2 is only supported), the element ID and index of its side that corresponds to the face. Sides are numbered from zero to dim-1, i-th side opposing to the i-th node of the element according to the ordering in specification of the element in the mesh file.

Transport boundary file

Concentration data can be specified only on faces that appears in the flow boundary file. The file has to contain section $Transport_BCD which starts with number of transport BC lines. One transport BC line consists of line ID (ignored), boundary ID (the BC line ID from the flow boundary file), boundary values for all substances used by the transport module.

Definition at line 47 of file old_bcd.hh.

Member Typedef Documentation

Definition at line 63 of file old_bcd.hh.

Definition at line 62 of file old_bcd.hh.

Definition at line 64 of file old_bcd.hh.

Constructor & Destructor Documentation

OldBcdInput::OldBcdInput ( )
private

Definition at line 16 of file old_bcd.cc.

Here is the caller graph for this function:

Member Function Documentation

static string OldBcdInput::flow_old_bcd_file_key ( )
inlinestatic

Use this to declare the key with filename.

Definition at line 55 of file old_bcd.hh.

OldBcdInput * OldBcdInput::instance ( )
static

Definition at line 30 of file old_bcd.cc.

Here is the caller graph for this function:

void OldBcdInput::read_flow ( const Mesh mesh,
const FilePath flow_bcd 
)

Create flow_* fields from given input file.

Definition at line 39 of file old_bcd.cc.

void OldBcdInput::read_flow_record ( Input::Record  rec,
const FieldCommon field 
)
inline

Definition at line 116 of file old_bcd.hh.

Here is the caller graph for this function:

void OldBcdInput::read_transport ( unsigned int  n_substances,
const FilePath transport_bcd 
)

Create trans_conc field from given input file.

Definition at line 163 of file old_bcd.cc.

void OldBcdInput::read_transport_record ( Input::Record  rec,
const FieldCommon field 
)
inline

Definition at line 156 of file old_bcd.hh.

Here is the caller graph for this function:

static string OldBcdInput::transport_old_bcd_file_key ( )
inlinestatic

Definition at line 58 of file old_bcd.hh.

Member Data Documentation

shared_ptr<FieldScalar> OldBcdInput::flow_flux

Definition at line 68 of file old_bcd.hh.

std::shared_ptr< OldBcdInput::FieldFactory<3, FieldValue<3>::Scalar> > OldBcdInput::flow_flux_factory

Definition at line 112 of file old_bcd.hh.

string OldBcdInput::flow_input_file_
private

Definition at line 148 of file old_bcd.hh.

shared_ptr<FieldScalar> OldBcdInput::flow_pressure

Definition at line 67 of file old_bcd.hh.

std::shared_ptr< OldBcdInput::FieldFactory<3, FieldValue<3>::Scalar> > OldBcdInput::flow_pressure_factory

Definition at line 111 of file old_bcd.hh.

shared_ptr<FieldScalar> OldBcdInput::flow_sigma

Definition at line 69 of file old_bcd.hh.

std::shared_ptr< OldBcdInput::FieldFactory<3, FieldValue<3>::Scalar> > OldBcdInput::flow_sigma_factory

Definition at line 113 of file old_bcd.hh.

shared_ptr<FieldEnum> OldBcdInput::flow_type

Definition at line 66 of file old_bcd.hh.

std::shared_ptr< OldBcdInput::FieldFactory<3, FieldValue<3>::Enum> > OldBcdInput::flow_type_factory

Definition at line 110 of file old_bcd.hh.

map<unsigned int, unsigned int> OldBcdInput::id_2_bcd_

Maps ID to index of corresponding BC element.

Definition at line 140 of file old_bcd.hh.

const Mesh* OldBcdInput::mesh_
private

Definition at line 145 of file old_bcd.hh.

Region OldBcdInput::some_bc_region_
private

Definition at line 146 of file old_bcd.hh.

shared_ptr<FieldVector> OldBcdInput::trans_conc

Definition at line 70 of file old_bcd.hh.

std::shared_ptr< OldBcdInput::FieldFactory<3, FieldValue<3>::Vector> > OldBcdInput::trans_conc_factory

Definition at line 114 of file old_bcd.hh.

string OldBcdInput::transport_input_file_
private

Definition at line 149 of file old_bcd.hh.


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