FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
snl_fei_Utils.hpp
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _snl_fei_Utils_hpp_
10
#define _snl_fei_Utils_hpp_
11
12
#include <fei_fwd.hpp>
13
#include <fei_mpi.h>
14
#include <fei_SharedPtr.hpp>
15
16
namespace
fei
{
17
class
CSVec
;
18
class
Matrix
;
19
}
20
21
#include <vector>
22
#include <map>
23
#include <string>
24
25
namespace
snl_fei {
26
41
const
char
* getParam(
const
char
* key,
42
int
numParams,
43
const
char
*
const
* paramStrings);
44
61
const
char
* getParamValue(
const
char
* key,
62
int
numParams,
63
const
char
*
const
* paramStrings,
64
char
separator=
' '
);
65
79
const
char
* getParamValue(
const
char
* key,
80
std::vector<std::string>& params,
81
char
separator=
' '
);
82
101
const
char
* getParamValue(
const
char
* key,
102
int
numParams,
103
const
char
*
const
* paramStrings,
104
int
& foundOffset,
105
char
separator=
' '
);
106
109
int
getIntParamValue(
const
char
* key,
110
int
numParams,
111
const
char
*
const
* params,
112
int
& paramValue);
113
117
int
getDoubleParamValue(
const
char
* key,
118
int
numParams,
119
const
char
*
const
* params,
120
double
& paramValue);
121
125
int
getDoubleParamValue(
const
char
* key,
126
std::vector<std::string>& params,
127
double
& paramValue);
128
147
const
char
* getParam(
const
char
* key,
148
int
numParams,
149
const
char
*
const
* paramStrings,
150
int
& foundOffset);
151
169
const
char
* getParam(
const
char
* key,
170
std::vector<std::string>& paramStrings,
171
int
& foundOffset);
172
174
int
storeNamedAttribute(
const
char
* name,
175
void
* attribute,
176
std::vector<char*>& attributeNames,
177
std::vector<void*>& attributes);
178
180
void
* retrieveNamedAttribute(
const
char
* name,
181
std::vector<char*>& attributeNames,
182
std::vector<void*>& attributes);
183
185
void
separate_string(
const
char
* input_string,
186
const
char
* substring,
187
const
char
*& before_substring,
188
int
& len_before_substring,
189
const
char
*& after_substring,
190
int
& len_after_substring);
191
195
unsigned
leading_substring_length(
const
char
*
string
);
196
208
const
char
* skipSeparator(
const
char
* paramString,
209
char
separator=
' '
);
210
214
int
mergeStringLists(
char
**& strings,
int
& numStrings,
215
const
char
*
const
* stringsToMerge,
int
numStringsToMerge);
216
220
int
resolveConflictingCRs(fei::MatrixGraph& matrixGraph,
221
fei::Matrix& bcEqns,
222
const
std::vector<int>& bcEqnNumbers);
223
227
int
gatherRemoteEssBCs(fei::CSVec& essBCs,
228
fei::SparseRowGraph* remoteGraph,
229
fei::Matrix& matrix);
230
231
fei::SharedPtr<fei::SparseRowGraph>
232
mergeSparseRowGraphs(
const
fei::SparseRowGraph* srg1,
233
const
fei::SparseRowGraph* srg2);
234
238
void
copy2DBlockDiagToColumnContig(
int
numBlocks,
239
const
int
* blockSizes,
240
const
double
*
const
* values2d,
241
int
format,
242
double
* colcontigvalues);
243
247
void
copy2DToColumnContig(
int
numrows,
248
int
numcols,
249
const
double
*
const
* values2d,
250
int
format,
251
double
* colcontigvalues);
252
}
//namespace snl_fei
253
254
#endif
// _snl_fei_Utils_hpp_
255
fei::CSVec
Definition
fei_CSVec.hpp:24
fei::Matrix
Definition
fei_Matrix.hpp:30
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0