svFSIplus
Functions
all_fun Namespace Reference

Functions

double aspect_ratio (ComMod &com_mod, const int nDim, const int eNoN, const Array< double > &x)
 
void commu (const ComMod &com_mod, Vector< double > &U)
 
void commu (const ComMod &com_mod, Array< double > &U)
 
int domain (const ComMod &com_mod, const mshType &lM, const int iEq, const int e)
 This function returns the domain that an element of a mesh belongs to. More...
 
void find_face (const std::vector< mshType > &mesh_list, const std::string &faceName, int &iM, int &iFa)
 Find the face ID and mesh ID based on the face name. More...
 
void find_msh (const std::vector< mshType > &mesh_list, const std::string &mesh_name, int &iM)
 Find the mesh ID based on the mesh name. More...
 
Array< double > global (const ComMod &com_mod, const CmMod &cm_mod, const mshType &lM, const Array< double > &U)
 Reproduces 'FUNCTION GLOBALRV(lM, U)' defined in ALLFUN.f. More...
 
double integ (const ComMod &com_mod, const CmMod &cm_mod, int dId, const Array< double > &s, int l, int u, bool pFlag)
 This routine integrate an equation over a particular domain. More...
 
double integ (const ComMod &com_mod, const CmMod &cm_mod, const faceType &lFa, const Vector< double > &s, bool pFlag)
 This routine integrate s over the surface faId. More...
 
double integ (const ComMod &com_mod, const CmMod &cm_mod, const faceType &lFa, const Array< double > &s)
 This routine integrate s over the surface faId. More...
 
double integ (const ComMod &com_mod, const CmMod &cm_mod, const faceType &lFa, const Array< double > &s, const int l, std::optional< int > uo, bool THflag)
 This routine integrate s(l:u,:) over the surface faId. More...
 
bool is_domain (const ComMod &com_mod, const eqType &eq, const int node, const consts::EquationType phys)
 
double jacobian (ComMod &com_mod, const int nDim, const int eNoN, const Array< double > &x, const Array< double > &Nxi)
 Computes the JACOBIAN of an element. More...
 
Vector< int > local (const ComMod &com_mod, const CmMod &cm_mod, const cmType &cm, Vector< int > &U)
 
Array< double > local (const ComMod &com_mod, const CmMod &cm_mod, const cmType &cm, Array< double > &U)
 
Vector< double > mkc (const ComMod &com_mod, Vector< double > &U)
 
Array< double > mkc (const ComMod &com_mod, Array< double > &U)
 
void mkci (const ComMod &com_mod, Vector< double > &U)
 
void mkci (const ComMod &com_mod, Array< double > &U)
 
void set_dmn_id (mshType &mesh, const int iDmn, const int ifirst, const int ilast)
 Set domain ID to a given number for the entire or a range of elements in a mesh. More...
 
double skewness (ComMod &com_mod, const int nDim, const int eNoN, const Array< double > &x)
 Computes the Skewness of an element. More...
 
void split_jobs (int tid, int m, int n, Array< double > &A, Vector< double > &b)
 Spliting "m" jobs between "n" workers. "b" contains amount of jobs and "A" will store the distribution of jobs. More...
 

Detailed Description

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.

Function Documentation

◆ domain()

int all_fun::domain ( const ComMod com_mod,
const mshType lM,
const int  iEq,
const int  e 
)

This function returns the domain that an element of a mesh belongs to.

Reproduces 'FUNCTION DOMAIN(lM, iEq, e)' defined in ALLFUN.f.

◆ find_face()

void all_fun::find_face ( const std::vector< mshType > &  mesh_list,
const std::string &  faceName,
int &  iM,
int &  iFa 
)

Find the face ID and mesh ID based on the face name.

◆ find_msh()

void all_fun::find_msh ( const std::vector< mshType > &  mesh_list,
const std::string &  mesh_name,
int &  iM 
)

Find the mesh ID based on the mesh name.

◆ global()

Array< double > all_fun::global ( const ComMod com_mod,
const CmMod cm_mod,
const mshType lM,
const Array< double > &  U 
)

Reproduces 'FUNCTION GLOBALRV(lM, U)' defined in ALLFUN.f.

◆ integ() [1/4]

double all_fun::integ ( const ComMod com_mod,
const CmMod cm_mod,
const faceType lFa,
const Array< double > &  s 
)

This routine integrate s over the surface faId.

Reproduces 'FUNCTION IntegV(lFa, s)'

◆ integ() [2/4]

double all_fun::integ ( const ComMod com_mod,
const CmMod cm_mod,
const faceType lFa,
const Array< double > &  s,
const int  l,
std::optional< int >  uo,
bool  THflag 
)

This routine integrate s(l:u,:) over the surface faId.

Note that 'l' and 'u' should be 0-based and are used to index into 's'.

Reproduces 'FUNCTION IntegG(lFa, s, l, uo, THflag)'.

◆ integ() [3/4]

double all_fun::integ ( const ComMod com_mod,
const CmMod cm_mod,
const faceType lFa,
const Vector< double > &  s,
bool  pFlag 
)

This routine integrate s over the surface faId.

Reproduces 'FUNCTION IntegS(lFa, s, pflag)'.

◆ integ() [4/4]

double all_fun::integ ( const ComMod com_mod,
const CmMod cm_mod,
int  dId,
const Array< double > &  s,
int  l,
int  u,
bool  pFlag 
)

This routine integrate an equation over a particular domain.

Note that 'l' and 'u' should be 0-based and are used to index into 's'. Replicates 'FUNCTION vInteg(dId, s, l, u, pFlag)' defined in ALLFUN.f.

◆ jacobian()

double all_fun::jacobian ( ComMod com_mod,
const int  nDim,
const int  eNoN,
const Array< double > &  x,
const Array< double > &  Nxi 
)

Computes the JACOBIAN of an element.

◆ set_dmn_id()

void all_fun::set_dmn_id ( mshType mesh,
const int  iDmn,
const int  ifirst,
const int  ilast 
)

Set domain ID to a given number for the entire or a range of elements in a mesh.

◆ skewness()

double all_fun::skewness ( ComMod com_mod,
const int  nDim,
const int  eNoN,
const Array< double > &  x 
)

Computes the Skewness of an element.

◆ split_jobs()

void all_fun::split_jobs ( int  tid,
int  m,
int  n,
Array< double > &  A,
Vector< double > &  b 
)

Spliting "m" jobs between "n" workers. "b" contains amount of jobs and "A" will store the distribution of jobs.

A(nMsh, num_proc)

b(nMsh)

n = nMsh

m = num_proc

Replicates 'RECURSIVE SUBROUTINE SPLITJOBS(m, n, A, b)' in ALLFUN.f.