svFSIplus
|
Functions | |
void | get_gip (const int insd, consts::ElementType eType, const int nG, Vector< double > &w, Array< double > &xi) |
void | get_gip (mshType &mesh) |
Define Gauss integration points in local (ref) coordinates. More... | |
void | get_gip (Simulation *simulation, faceType &face) |
void | get_gnn (const int insd, consts::ElementType eType, const int eNoN, const int g, Array< double > &xi, Array< double > &N, Array3< double > &Nx) |
Computes shape functions and derivatives at given natural coords. More... | |
void | get_gnn (const int nsd, consts::ElementType eType, const int eNoN, Vector< double > &xi, Vector< double > &N, Array< double > &Nx) |
A big fat hack because the Fortran GETNN() operates on primitive types but the C++ version does not, uses Array and Vector objects. More... | |
void | get_gnn (int gaus_pt, mshType &mesh) |
void | get_gnn (Simulation *simulation, int gaus_pt, faceType &face) |
void | get_gn_nxx (const int insd, const int ind2, consts::ElementType eType, const int eNoN, const int gaus_pt, const Array< double > &xi, Array3< double > &Nxx) |
Returns second order derivatives at given natural coords. More... | |
void | get_nn_bnds (const int nsd, consts::ElementType eType, const int eNoN, Array< double > &xib, Array< double > &Nb) |
Sets bounds on Gauss integration points in parametric space and bounds on shape functions. More... | |
void | get_nn_bnds (const ComMod &com_mod, mshType &mesh) |
Sets bounds on Gauss integration points in parametric space and bounds on shape functions. More... | |
void | get_nnx (const int nsd, const consts::ElementType eType, const int eNoN, const Array< double > &xl, const Array< double > &xib, const Array< double > &Nb, const Vector< double > &xp, Vector< double > &xi, Vector< double > &N, Array< double > &Nx) |
void | get_xi (const int nsd, consts::ElementType eType, const int eNoN, const Array< double > &xl, const Vector< double > &xp, Vector< double > &xi, bool &flag) |
Inverse maps {xp} to {$\xi$} in an element with coordinates {xl} using Newton's method. More... | |
void | gnn (const int eNoN, const int nsd, const int insd, Array< double > &Nxi, Array< double > &x, Array< double > &Nx, double &Jac, Array< double > &ks) |
void | gnnb (const ComMod &com_mod, const faceType &lFa, const int e, const int g, const int nsd, const int insd, const int eNoNb, const Array< double > &Nx, Vector< double > &n) |
This routine returns a vector at element "e" and Gauss point 'g' of face 'lFa' that is the normal weigthed by Jac, i.e. Jac = SQRT(NORM(n)). More... | |
void | gnns (const int nsd, const int eNoN, const Array< double > &Nxi, Array< double > &xl, Vector< double > &nV, Array< double > &gCov, Array< double > &gCnv) |
Compute shell kinematics: normal vector, covariant & contravariant basis vectors. More... | |
void | gn_nxx (const int l, const int eNoN, const int nsd, const int insd, Array< double > &Nxi, Array< double > &Nxi2, Array< double > &lx, Array< double > &Nx, Array< double > &Nxx) |
Compute second order derivative on parent element. More... | |
void | select_ele (const ComMod &com_mod, mshType &mesh) |
Set mesh properties for the input element type. More... | |
void | select_eleb (Simulation *simulation, mshType &mesh, faceType &face) |
Set face properties for the input element type. More... | |
Copyright (c) Stanford University, The Regents of the University of California, and others.
All Rights Reserved.
See Copyright-SimVascular.txt for additional details.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
void nn::get_gip | ( | mshType & | mesh | ) |
Define Gauss integration points in local (ref) coordinates.
void nn::get_gn_nxx | ( | const int | insd, |
const int | ind2, | ||
consts::ElementType | eType, | ||
const int | eNoN, | ||
const int | gaus_pt, | ||
const Array< double > & | xi, | ||
Array3< double > & | Nxx | ||
) |
Returns second order derivatives at given natural coords.
Replicates 'SUBROUTINE GETGNNxx(insd, ind2, eType, eNoN, xi, Nxx)'.
void nn::get_gnn | ( | const int | insd, |
consts::ElementType | eType, | ||
const int | eNoN, | ||
const int | g, | ||
Array< double > & | xi, | ||
Array< double > & | N, | ||
Array3< double > & | Nx | ||
) |
Computes shape functions and derivatives at given natural coords.
void nn::get_gnn | ( | const int | nsd, |
consts::ElementType | eType, | ||
const int | eNoN, | ||
Vector< double > & | xi, | ||
Vector< double > & | N, | ||
Array< double > & | Nx | ||
) |
A big fat hack because the Fortran GETNN() operates on primitive types but the C++ version does not, uses Array and Vector objects.
Sets bounds on Gauss integration points in parametric space and bounds on shape functions.
Modifies: mesh % xib(2,nsd) - Bounds on Gauss integration points in parametric space mesh % Nb(2,mesh % eNoN) - Bounds on shape functions
Replicates Fortran SUBROUTINE GETNNBNDS.
void nn::get_nn_bnds | ( | const int | nsd, |
consts::ElementType | eType, | ||
const int | eNoN, | ||
Array< double > & | xib, | ||
Array< double > & | Nb | ||
) |
Sets bounds on Gauss integration points in parametric space and bounds on shape functions.
Reproduces the Fortran 'GETNNBNDS' subroutine.
void nn::get_xi | ( | const int | nsd, |
consts::ElementType | eType, | ||
const int | eNoN, | ||
const Array< double > & | xl, | ||
const Vector< double > & | xp, | ||
Vector< double > & | xi, | ||
bool & | flag | ||
) |
Inverse maps {xp} to {$\xi$} in an element with coordinates {xl} using Newton's method.
void nn::gn_nxx | ( | const int | l, |
const int | eNoN, | ||
const int | nsd, | ||
const int | insd, | ||
Array< double > & | Nxi, | ||
Array< double > & | Nxi2, | ||
Array< double > & | lx, | ||
Array< double > & | Nx, | ||
Array< double > & | Nxx | ||
) |
Compute second order derivative on parent element.
void nn::gnnb | ( | const ComMod & | com_mod, |
const faceType & | lFa, | ||
const int | e, | ||
const int | g, | ||
const int | nsd, | ||
const int | insd, | ||
const int | eNoNb, | ||
const Array< double > & | Nx, | ||
Vector< double > & | n | ||
) |
This routine returns a vector at element "e" and Gauss point 'g' of face 'lFa' that is the normal weigthed by Jac, i.e. Jac = SQRT(NORM(n)).
Reproduce Fortran 'GNNB'.
void nn::gnns | ( | const int | nsd, |
const int | eNoN, | ||
const Array< double > & | Nxi, | ||
Array< double > & | xl, | ||
Vector< double > & | nV, | ||
Array< double > & | gCov, | ||
Array< double > & | gCnv | ||
) |
Compute shell kinematics: normal vector, covariant & contravariant basis vectors.
Replicates 'SUBROUTINE GNNS(eNoN, Nxi, xl, nV, gCov, gCnv)' defined in NN.f.
Set mesh properties for the input element type.
Mesh data set mesh % eType - element type (e.g. eType_TET4) mesh % nG - number of element gauss points mesh % vtkType - element VTK type (e.g. 10 for tet4) mesh % nEf - number of element faces mesh % lShpF - if the basis function is linear
Mesh arrays allocated mesh % w(mesh % nG) - Gauss weights mesh % xi(insd,mesh % nG) - Gauss integration points in parametric space mesh % N(mesh % eNoN,mesh % nG) - Parent shape function mesh % Nx(insd, mesh % eNoN, mesh % nG) - Parent shape functions gradient mesh % xib(2,nsd) - Bounds on Gauss integration points in parametric space mesh % Nb(2,mesh % eNoN) - Bounds on shape functions
void nn::select_eleb | ( | Simulation * | simulation, |
mshType & | mesh, | ||
faceType & | face | ||
) |
Set face properties for the input element type.
Face data set face % eType - element type (e.g. eType_TET4)