FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei_DirichletBCManager.hpp
Go to the documentation of this file.
1#ifndef _fei_DirichletBCManager_hpp_
2#define _fei_DirichletBCManager_hpp_
3
4/*--------------------------------------------------------------------*/
5/* Copyright 2005 Sandia Corporation. */
6/* Under the terms of Contract DE-AC04-94AL85000, there is a */
7/* non-exclusive license for use of this work by or on behalf */
8/* of the U.S. Government. Export of this program may require */
9/* a license from the United States Government. */
10/*--------------------------------------------------------------------*/
11
13#include <SNL_FEI_Structure.hpp>
14#include <fei_VectorSpace.hpp>
15
16#include <fei_Pool_alloc.hpp>
17#include <map>
18
19class NodeDatabase;
20class EqnBuffer;
21
22namespace fei {
23class Matrix;
24
26 public:
28 : structure_(structure), vecSpace_() {}
29
31 : structure_(NULL), vecSpace_(vecspace) {}
32
34
35 void addBCRecords(int numBCs,
36 int IDType,
37 int fieldID,
38 int offsetIntoField,
39 const int* IDs,
40 const double* prescribedValues);
41
42 void addBCRecords(int numBCs,
43 int IDType,
44 int fieldID,
45 const int* IDs,
46 const int* offsetsIntoField,
47 const double* prescribedValues);
48
49 int finalizeBCEqns(fei::Matrix& matrix,
50 bool throw_if_bc_slave_conflict=false);
51
52 int finalizeBCEqns(EqnBuffer& bcEqns);
53
54 size_t getNumBCRecords() const;
55
56 void clearAllBCs();
57
58 private:
59 int getEqnNumber(int IDType, int ID, int fieldID, int offsetIntoField);
60
63
64 typedef std::map<int,double,std::less<int>,
67};//class DirichletBCManager
68}//namespace fei
69#endif
70
DirichletBCManager(SNL_FEI_Structure *structure)
DirichletBCManager(fei::SharedPtr< fei::VectorSpace > vecspace)
void addBCRecords(int numBCs, int IDType, int fieldID, int offsetIntoField, const int *IDs, const double *prescribedValues)
fei::SharedPtr< fei::VectorSpace > vecSpace_
int getEqnNumber(int IDType, int ID, int fieldID, int offsetIntoField)
std::map< int, double, std::less< int >, fei_Pool_alloc< std::pair< const int, double > > > bc_map
int finalizeBCEqns(fei::Matrix &matrix, bool throw_if_bc_slave_conflict=false)