12 #ifndef __FATPRISMELEMENTFORCESANDSURCESCORE_HPP__
13 #define __FATPRISMELEMENTFORCESANDSURCESCORE_HPP__
15 using namespace boost::numeric;
62 inline double getArea(
const int dd);
64 inline double getAreaF3();
65 inline double getAreaF4();
104 inline MatrixDouble &getCoordsAtGaussPtsTrianglesOnly();
139 inline ublas::matrix_row<MatrixDouble> getNormalsAtGaussPtsF3(
const int gg);
148 inline ublas::matrix_row<MatrixDouble> getNormalsAtGaussPtsF4(
const int gg);
210 FatPrismElementForcesAndSourcesCore::UserDataOperator::getArea(
const int dd) {
215 FatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF3() {
219 FatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF4() {
224 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormal() {
229 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF3() {
232 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
236 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF4() {
239 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
243 FatPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPts() {
247 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
248 getGaussPtsTrianglesOnly() {
250 ->gaussPtsTrianglesOnly;
253 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
254 getGaussPtsThroughThickness() {
256 ->gaussPtsThroughThickness;
260 FatPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsAtGaussPts() {
265 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
266 getCoordsAtGaussPtsTrianglesOnly() {
268 ->coordsAtGaussPtsTrianglesOnly;
271 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
272 getHOCoordsAtGaussPtsF3() {
274 ->hoCoordsAtGaussPtsF3;
277 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
278 getHOCoordsAtGaussPtsF4() {
280 ->hoCoordsAtGaussPtsF4;
284 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF3() {
286 ->nOrmals_at_GaussPtF3;
290 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF4() {
292 ->nOrmals_at_GaussPtF4;
295 inline ublas::matrix_row<MatrixDouble>
296 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF3(
298 return ublas::matrix_row<MatrixDouble>(
300 ->nOrmals_at_GaussPtF3,
304 inline ublas::matrix_row<MatrixDouble>
305 FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF4(
307 return ublas::matrix_row<MatrixDouble>(
309 ->nOrmals_at_GaussPtF4,
313 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
314 getTangent1AtGaussPtF3() {
316 ->tAngent1_at_GaussPtF3;
319 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
320 getTangent2AtGaussPtF3() {
322 ->tAngent2_at_GaussPtF3;
325 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
326 getTangent1AtGaussPtF4() {
328 ->tAngent1_at_GaussPtF4;
331 inline MatrixDouble &FatPrismElementForcesAndSourcesCore::UserDataOperator::
332 getTangent2AtGaussPtF4() {
334 ->tAngent2_at_GaussPtF4;
338 UserDataOperator::getTrianglesOnlyDataStructure() {
340 ->dataH1TrianglesOnly;
344 UserDataOperator::getTroughThicknessDataStructure() {
346 ->dataH1TroughThickness;
350 FatPrismElementForcesAndSourcesCore::UserDataOperator::getPrismFE() {
356 #endif //__FATPRISMELEMENTFORCESANDSURCESCORE_HPP__