svFSIplus
|
Functions | |
void | calc_der_cpl_bc (ComMod &com_mod, const CmMod &cm_mod) |
void | cplBC_Integ_X (ComMod &com_mod, const CmMod &cm_mod, const bool RCRflag) |
Interface to call 0D code (cplBC) More... | |
void | genBC_Integ_X (ComMod &com_mod, const CmMod &cm_mod, const std::string &genFlag) |
Interface to call 0D code (genBC/gcode) More... | |
void | RCR_Integ_X (ComMod &com_mod, const CmMod &cm_mod, int istat) |
void | rcr_init (ComMod &com_mod, const CmMod &cm_mod) |
Initialize RCR variables (Xo) from flow field or using user- provided input. This subroutine is called only when the simulation is not restarted. More... | |
void | set_bc_cmm (ComMod &com_mod, const CmMod &cm_mod, const Array< double > &Ag, const Array< double > &Dg) |
Below defines the SET_BC methods for the Coupled Momentum Method (CMM) More... | |
void | set_bc_cmm_l (ComMod &com_mod, const CmMod &cm_mod, const faceType &lFa, const Array< double > &Ag, const Array< double > &Dg) |
void | set_bc_cpl (ComMod &com_mod, CmMod &cm_mod) |
Reproduces the Fortran 'SETBCCPL()' subrotutine. More... | |
void | set_bc_dir (ComMod &com_mod, Array< double > &lA, Array< double > &lY, Array< double > &lD) |
Apply Dirichlet BCs strongly. More... | |
void | set_bc_dir_l (ComMod &com_mod, const bcType &lBc, const faceType &lFa, Array< double > &lA, Array< double > &lY, int lDof) |
void | set_bc_dir_w (ComMod &com_mod, const Array< double > &Yg, const Array< double > &Dg) |
Weak treatment of Dirichlet boundary conditions. More... | |
void | set_bc_dir_wl (ComMod &com_mod, const bcType &lBc, const mshType &lM, const faceType &lFa, const Array< double > &Yg, const Array< double > &Dg) |
Reproduces Fortran 'SETBCDIRWL'. More... | |
void | set_bc_neu (ComMod &com_mod, const CmMod &cm_mod, const Array< double > &Yg, const Array< double > &Dg) |
Set outlet BCs. More... | |
void | set_bc_neu_l (ComMod &com_mod, const CmMod &cm_mod, const bcType &lBc, const faceType &lFa, const Array< double > &Yg, const Array< double > &Dg) |
Set Neumann BC. More... | |
void | set_bc_rbnl (ComMod &com_mod, const faceType &lFa, const double ks, const double cs, const bool isN, const Array< double > &Yg, const Array< double > &Dg) |
Set Robin BC. More... | |
void | set_bc_trac_l (ComMod &com_mod, const CmMod &cm_mod, const bcType &lBc, const faceType &lFa) |
Set Traction BC. More... | |
void | set_bc_undef_neu (ComMod &com_mod) |
Treat Neumann boundaries that are not deforming. More... | |
void | set_bc_undef_neu_l (ComMod &com_mod, const bcType &lBc, const faceType &lFa) |
Modifies: com_mod.R, com_mod.Val. 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.
Interface to call 0D code (cplBC)
Interface to call 0D code (genBC/gcode)
Initialize RCR variables (Xo) from flow field or using user- provided input. This subroutine is called only when the simulation is not restarted.
Replaces 'SUBROUTINE RCRINIT()'
void set_bc::set_bc_cmm | ( | ComMod & | com_mod, |
const CmMod & | cm_mod, | ||
const Array< double > & | Ag, | ||
const Array< double > & | Dg | ||
) |
Below defines the SET_BC methods for the Coupled Momentum Method (CMM)
Reproduces the Fortran 'SETBCCPL()' subrotutine.
void set_bc::set_bc_dir | ( | ComMod & | com_mod, |
Array< double > & | lA, | ||
Array< double > & | lY, | ||
Array< double > & | lD | ||
) |
Apply Dirichlet BCs strongly.
Parameters lA - New time derivative of variables (An) lY - New variables (Yn) lD - New integrated variables (Dn)
Modfies: lA(tDof, tnNo) lY(tDof, tnNo) lD(tDof, tnNo) com_mod.Ad - Time derivative of displacement
Reproduces 'SUBROUTINE SETBCDIR(lA, lY, lD)'
void set_bc::set_bc_dir_l | ( | ComMod & | com_mod, |
const bcType & | lBc, | ||
const faceType & | lFa, | ||
Array< double > & | lA, | ||
Array< double > & | lY, | ||
int | lDof | ||
) |
Modifies: lA(lDof,lFa.nNo) lY(lDof,lFa.nNo)
Reproduces 'SUBROUTINE SETBCDIRL(lBc, lFa, lA, lY, lDof)'
void set_bc::set_bc_dir_w | ( | ComMod & | com_mod, |
const Array< double > & | Yg, | ||
const Array< double > & | Dg | ||
) |
Weak treatment of Dirichlet boundary conditions.
void set_bc::set_bc_dir_wl | ( | ComMod & | com_mod, |
const bcType & | lBc, | ||
const mshType & | lM, | ||
const faceType & | lFa, | ||
const Array< double > & | Yg, | ||
const Array< double > & | Dg | ||
) |
Reproduces Fortran 'SETBCDIRWL'.
void set_bc::set_bc_neu | ( | ComMod & | com_mod, |
const CmMod & | cm_mod, | ||
const Array< double > & | Yg, | ||
const Array< double > & | Dg | ||
) |
Set outlet BCs.
void set_bc::set_bc_neu_l | ( | ComMod & | com_mod, |
const CmMod & | cm_mod, | ||
const bcType & | lBc, | ||
const faceType & | lFa, | ||
const Array< double > & | Yg, | ||
const Array< double > & | Dg | ||
) |
Set Neumann BC.
void set_bc::set_bc_rbnl | ( | ComMod & | com_mod, |
const faceType & | lFa, | ||
const double | ks, | ||
const double | cs, | ||
const bool | isN, | ||
const Array< double > & | Yg, | ||
const Array< double > & | Dg | ||
) |
Set Robin BC.
void set_bc::set_bc_trac_l | ( | ComMod & | com_mod, |
const CmMod & | cm_mod, | ||
const bcType & | lBc, | ||
const faceType & | lFa | ||
) |
Set Traction BC.
void set_bc::set_bc_undef_neu | ( | ComMod & | com_mod | ) |
Treat Neumann boundaries that are not deforming.
Leave the row corresponding to the master node of the owner process in the LHS matrix and the residual vector untouched. For all the other nodes of the face, set the residual to be 0 for velocity dofs. Zero out all the elements of corresponding rows of the LHS matrix. Make the diagonal elements of the LHS matrix equal to 1 and the column entry corresponding to the master node, -1