LifeV
|
A class which implements the application of the FSI Jacobian matrix to a given vector when nonconforming meshes are used. This class inherits from LifeV::LinearOperator. More...
#include <FSIApplyOperatorNonConforming.hpp>
Public Member Functions | |
virtual | ~FSIApplyOperatorNonConforming () |
void | showMe () |
Show information about the class. More... | |
Public Member Functions inherited from LinearOperatorAlgebra | |
virtual | ~LinearOperatorAlgebra () |
Destructor. More... | |
int | apply (const VectorEpetra &X, VectorEpetra &Y) const |
Returns the result of a LinearOperator applied to a VectorEpetra X in Y. More... | |
int | applyInverse (const VectorEpetra &X, VectorEpetra &Y) |
Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. More... | |
Private Member Functions | |
void | setMaps () |
Create the domain and the range maps. More... | |
Private Attributes | |
std::shared_ptr< BlockEpetra_Map > | M_operatorDomainMap |
std::shared_ptr< BlockEpetra_Map > | M_operatorRangeMap |
Range Map. More... | |
commPtr_Type | M_comm |
Communicator. More... | |
bool | M_useTranspose |
mapEpetraPtr_Type | M_monolithicMap |
GetPot | M_datafile |
datafile More... | |
const std::string | M_label |
Label. More... | |
std::shared_ptr< VectorEpetra_Type > | M_X_velocity |
Vectors needed for the Apply - input vectors associated to each part of the residual. More... | |
std::shared_ptr< VectorEpetra_Type > | M_X_pressure |
std::shared_ptr< VectorEpetra_Type > | M_X_displacement |
std::shared_ptr< VectorEpetra_Type > | M_X_lambda |
std::shared_ptr< VectorEpetra_Type > | M_X_geometry |
std::shared_ptr< VectorEpetra_Type > | M_Y_velocity |
Vectors needed for the Apply - output vectors associated to the application of the. More... | |
std::shared_ptr< VectorEpetra_Type > | M_Y_pressure |
std::shared_ptr< VectorEpetra_Type > | M_Y_displacement |
std::shared_ptr< VectorEpetra_Type > | M_Y_lambda |
std::shared_ptr< VectorEpetra_Type > | M_Y_geometry |
bool | M_useStabilization |
If using the stabilization for the fluid. More... | |
bool | M_useShapeDerivatives |
If using the shape derivatives for the Jacobian. More... | |
Real | M_timeStep |
Real | M_gamma |
Real | M_beta |
Real | M_coefficientBDF |
bool | M_useMasses |
bool | M_useBDFStructure |
Constructors | |
FSIApplyOperatorNonConforming () | |
Empty constructor. More... | |
Set Methods | |
void | setComm (const commPtr_Type &comm) |
set the communicator More... | |
int | SetUseTranspose (bool UseTranspose) |
void | setDomainMap (const std::shared_ptr< BlockEpetra_Map > &domainMap) |
set the domain map More... | |
void | setRangeMap (const std::shared_ptr< BlockEpetra_Map > &rangeMap) |
set the range map More... | |
int | Apply (const vector_Type &X, vector_Type &Y) const |
Returns the Application of the Jacobian applied to X . More... | |
int | ApplyInverse (const vector_Type &, vector_Type &) const |
double | NormInf () const |
const char * | Label () const |
Return a character string describing the operator. More... | |
bool | UseTranspose () const |
Return the current UseTranspose setting. More... | |
bool | HasNormInf () const |
Return false. More... | |
const comm_Type & | Comm () const |
return a reference to the Epetra_Comm communicator associated with this operator More... | |
const map_Type & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this operator. More... | |
const map_Type & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this operator. More... | |
void | setMonolithicMap (const mapEpetraPtr_Type &monolithicMap) |
Set the monolithic map. More... | |
void | setMaps (const mapEpetraPtr_Type &fluid_velocity_map, const mapEpetraPtr_Type &fluid_pressure_map, const mapEpetraPtr_Type &structure_displacement_map, const mapEpetraPtr_Type &lagrange_multipliers_map, const mapEpetraPtr_Type &ALE_map) |
Set the map of each component of the residual. More... | |
void | setUseShapeDerivatives (bool use) |
Set the shape derivatives. More... | |
void | setShapeDerivativesBlocks (const matrixEpetraPtr_Type &ShapeVelocity, const matrixEpetraPtr_Type &ShapePressure) |
Set the shape derivatives. More... | |
void | setInterpolants (interpolationPtr_Type fluidToStructure, interpolationPtr_Type structureToFluid, bool useMasses) |
Copy the pointer of the interpolation objects. More... | |
void | setFluidBlocks (const matrixEpetraPtr_Type &block00, const matrixEpetraPtr_Type &block01, const matrixEpetraPtr_Type &block10, const matrixEpetraPtr_Type &block11) |
Set the blocks of the fluid Jacobian when stabilization is used. More... | |
void | setFluidBlocks (const matrixEpetraPtr_Type &block00, const matrixEpetraPtr_Type &block01, const matrixEpetraPtr_Type &block10) |
Set the blocks of the fluid Jacobian when stabilization is not used. More... | |
void | setStructureBlock (const matrixEpetraPtr_Type &structure) |
Set the block of the Jacobian of the structure. More... | |
void | setALEBlock (const matrixEpetraPtr_Type &ale) |
Set the block of the Jacobian of the ALE. More... | |
void | setDatafile (const GetPot &dataFile) |
Set the datafile needed by the solver of the interface mass. More... | |
void | setTimeStep (Real timeStep) |
Set the timestep. More... | |
void | setInterfaceMassMatrices (const matrixEpetraPtr_Type &fluid_interface_mass, const matrixEpetraPtr_Type &structure_interface_mass) |
Set the blocks of the fluid Jacobian when stabilization is used. More... | |
void | setGamma (Real gamma) |
void | setBeta (Real beta) |
void | setBDFcoeff (Real bdf_coef) |
void | applyInverseInterfaceFluidMass (const VectorEpetraPtr_Type &X, VectorEpetraPtr_Type &Y) const |
Apply the inverse of the fluid interface mass to a vector. More... | |
mapEpetraPtr_Type | M_u_map |
mapEpetraPtr_Type | M_p_map |
mapEpetraPtr_Type | M_ds_map |
mapEpetraPtr_Type | M_lambda_map |
mapEpetraPtr_Type | M_ale_map |
mapEpetraPtr_Type | M_structure_interface_map |
UInt | M_fluidVelocity |
UInt | M_fluid |
UInt | M_structure |
UInt | M_lambda |
matrixEpetraPtr_Type | M_F_00 |
Fluid blocks. More... | |
matrixEpetraPtr_Type | M_F_01 |
matrixEpetraPtr_Type | M_F_10 |
matrixEpetraPtr_Type | M_F_11 |
matrixEpetraPtr_Type | M_fluid_interface_mass |
Interface masses. More... | |
matrixEpetraPtr_Type | M_structure_interface_mass |
matrixEpetraPtr_Type | M_shapeVelocity |
Shape derivatives. More... | |
matrixEpetraPtr_Type | M_shapePressure |
matrixEpetraPtr_Type | M_S |
Structure block. More... | |
matrixEpetraPtr_Type | M_G |
ALE block. More... | |
interpolationPtr_Type | M_FluidToStructureInterpolant |
Interpolants. More... | |
interpolationPtr_Type | M_StructureToFluidInterpolant |
Additional Inherited Members | |
Public Types inherited from LinearOperatorAlgebra | |
typedef Epetra_Comm | comm_Type |
typedef std::shared_ptr< comm_Type > | commPtr_Type |
typedef Epetra_Map | map_Type |
typedef std::shared_ptr< map_Type > | mapPtr_Type |
typedef std::shared_ptr< const map_Type > | constMapPtr_Type |
typedef Epetra_Operator | operator_Type |
typedef std::shared_ptr< operator_Type > | operatorPtr_Type |
typedef Epetra_MultiVector | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
A class which implements the application of the FSI Jacobian matrix to a given vector when nonconforming meshes are used. This class inherits from LifeV::LinearOperator.
The Transpose is not supported yet.
Definition at line 77 of file FSIApplyOperatorNonConforming.hpp.
typedef LinearOperatorAlgebra super |
Definition at line 83 of file FSIApplyOperatorNonConforming.hpp.
typedef Epetra_CrsMatrix matrix_Type |
Definition at line 84 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 85 of file FSIApplyOperatorNonConforming.hpp.
typedef MatrixEpetra<Real> matrixEpetra_Type |
Definition at line 86 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<matrixEpetra_Type> matrixEpetraPtr_Type |
Definition at line 87 of file FSIApplyOperatorNonConforming.hpp.
typedef Epetra_Vector lumpedMatrix_Type |
Definition at line 88 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<lumpedMatrix_Type> lumpedMatrixPtr_Type |
Definition at line 89 of file FSIApplyOperatorNonConforming.hpp.
typedef super::comm_Type comm_Type |
Definition at line 90 of file FSIApplyOperatorNonConforming.hpp.
typedef super::commPtr_Type commPtr_Type |
Definition at line 91 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<Teuchos::ParameterList> parameterListPtr_Type |
Definition at line 92 of file FSIApplyOperatorNonConforming.hpp.
typedef MapEpetra mapEpetra_Type |
Definition at line 93 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<mapEpetra_Type> mapEpetraPtr_Type |
Definition at line 94 of file FSIApplyOperatorNonConforming.hpp.
typedef VectorEpetra VectorEpetra_Type |
Definition at line 95 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<VectorEpetra_Type> VectorEpetraPtr_Type |
Definition at line 96 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<Interpolation> interpolationPtr_Type |
Definition at line 97 of file FSIApplyOperatorNonConforming.hpp.
typedef LifeV::Preconditioner basePrec_Type |
Definition at line 99 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<basePrec_Type> basePrecPtr_Type |
Definition at line 100 of file FSIApplyOperatorNonConforming.hpp.
typedef LifeV::PreconditionerIfpack prec_Type |
Definition at line 101 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<prec_Type> precPtr_Type |
Definition at line 102 of file FSIApplyOperatorNonConforming.hpp.
typedef Teuchos::RCP< Teuchos::ParameterList > parameterListRCP_Type |
Definition at line 103 of file FSIApplyOperatorNonConforming.hpp.
typedef std::shared_ptr<GetPot> datafilePtr_Type |
Definition at line 105 of file FSIApplyOperatorNonConforming.hpp.
Empty constructor.
Definition at line 15 of file FSIApplyOperatorNonConforming.cpp.
|
virtual |
Definition at line 23 of file FSIApplyOperatorNonConforming.cpp.
|
inline |
set the communicator
Definition at line 126 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Implements LinearOperatorAlgebra.
Definition at line 128 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
set the domain map
Definition at line 130 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
set the range map
Definition at line 132 of file FSIApplyOperatorNonConforming.hpp.
|
virtual |
Returns the Application of the Jacobian applied to X
.
Extract each component of the input vector
Copy the single contributions into the optput vector
Implements LinearOperatorAlgebra.
Definition at line 153 of file FSIApplyOperatorNonConforming.cpp.
|
inlinevirtual |
Apply
defined for this operator. It return an error code. Implements LinearOperatorAlgebra.
Definition at line 141 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Implements LinearOperatorAlgebra.
Definition at line 143 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Return a character string describing the operator.
Implements LinearOperatorAlgebra.
Definition at line 149 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Return the current UseTranspose setting.
Implements LinearOperatorAlgebra.
Definition at line 151 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Return false.
Implements LinearOperatorAlgebra.
Definition at line 153 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
return a reference to the Epetra_Comm communicator associated with this operator
Implements LinearOperatorAlgebra.
Definition at line 155 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Returns the Epetra_Map object associated with the domain of this operator.
Implements LinearOperatorAlgebra.
Definition at line 157 of file FSIApplyOperatorNonConforming.hpp.
|
inlinevirtual |
Returns the Epetra_Map object associated with the range of this operator.
Implements LinearOperatorAlgebra.
Definition at line 159 of file FSIApplyOperatorNonConforming.hpp.
void setMonolithicMap | ( | const mapEpetraPtr_Type & | monolithicMap | ) |
Set the monolithic map.
Definition at line 35 of file FSIApplyOperatorNonConforming.cpp.
void setMaps | ( | const mapEpetraPtr_Type & | fluid_velocity_map, |
const mapEpetraPtr_Type & | fluid_pressure_map, | ||
const mapEpetraPtr_Type & | structure_displacement_map, | ||
const mapEpetraPtr_Type & | lagrange_multipliers_map, | ||
const mapEpetraPtr_Type & | ALE_map | ||
) |
Set the map of each component of the residual.
Definition at line 41 of file FSIApplyOperatorNonConforming.cpp.
|
inline |
Set the shape derivatives.
Definition at line 176 of file FSIApplyOperatorNonConforming.hpp.
void setShapeDerivativesBlocks | ( | const matrixEpetraPtr_Type & | ShapeVelocity, |
const matrixEpetraPtr_Type & | ShapePressure | ||
) |
Set the shape derivatives.
Definition at line 75 of file FSIApplyOperatorNonConforming.cpp.
void setInterpolants | ( | interpolationPtr_Type | fluidToStructure, |
interpolationPtr_Type | structureToFluid, | ||
bool | useMasses | ||
) |
Copy the pointer of the interpolation objects.
Definition at line 107 of file FSIApplyOperatorNonConforming.cpp.
void setFluidBlocks | ( | const matrixEpetraPtr_Type & | block00, |
const matrixEpetraPtr_Type & | block01, | ||
const matrixEpetraPtr_Type & | block10, | ||
const matrixEpetraPtr_Type & | block11 | ||
) |
Set the blocks of the fluid Jacobian when stabilization is used.
Definition at line 94 of file FSIApplyOperatorNonConforming.cpp.
void setFluidBlocks | ( | const matrixEpetraPtr_Type & | block00, |
const matrixEpetraPtr_Type & | block01, | ||
const matrixEpetraPtr_Type & | block10 | ||
) |
Set the blocks of the fluid Jacobian when stabilization is not used.
Definition at line 83 of file FSIApplyOperatorNonConforming.cpp.
|
inline |
Set the block of the Jacobian of the structure.
Definition at line 199 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
Set the block of the Jacobian of the ALE.
Definition at line 202 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
Set the datafile needed by the solver of the interface mass.
Definition at line 205 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
Set the timestep.
Definition at line 208 of file FSIApplyOperatorNonConforming.hpp.
void setInterfaceMassMatrices | ( | const matrixEpetraPtr_Type & | fluid_interface_mass, |
const matrixEpetraPtr_Type & | structure_interface_mass | ||
) |
Set the blocks of the fluid Jacobian when stabilization is used.
Definition at line 145 of file FSIApplyOperatorNonConforming.cpp.
|
inline |
Definition at line 214 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
Definition at line 216 of file FSIApplyOperatorNonConforming.hpp.
|
inline |
Definition at line 218 of file FSIApplyOperatorNonConforming.hpp.
void applyInverseInterfaceFluidMass | ( | const VectorEpetraPtr_Type & | X, |
VectorEpetraPtr_Type & | Y | ||
) | const |
Apply the inverse of the fluid interface mass to a vector.
Definition at line 117 of file FSIApplyOperatorNonConforming.cpp.
void showMe | ( | ) |
Show information about the class.
Definition at line 29 of file FSIApplyOperatorNonConforming.cpp.
|
private |
Create the domain and the range maps.
|
private |
Definition at line 250 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Range Map.
Definition at line 252 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Communicator.
Definition at line 255 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 257 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 262 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 263 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 264 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 265 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 266 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 267 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 274 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 275 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 276 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 277 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Fluid blocks.
Definition at line 286 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 287 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 288 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 289 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Interface masses.
Definition at line 293 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 294 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Shape derivatives.
Definition at line 298 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 299 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Structure block.
Definition at line 303 of file FSIApplyOperatorNonConforming.hpp.
|
private |
ALE block.
Definition at line 307 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Interpolants.
Definition at line 311 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 312 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 316 of file FSIApplyOperatorNonConforming.hpp.
|
private |
datafile
Definition at line 319 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Label.
Definition at line 322 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Vectors needed for the Apply - input vectors associated to each part of the residual.
Definition at line 325 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 326 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 327 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 328 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 329 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Vectors needed for the Apply - output vectors associated to the application of the.
Definition at line 333 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 334 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 335 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 336 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 337 of file FSIApplyOperatorNonConforming.hpp.
|
private |
If using the stabilization for the fluid.
Definition at line 340 of file FSIApplyOperatorNonConforming.hpp.
|
private |
If using the shape derivatives for the Jacobian.
Definition at line 343 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 345 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 347 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 348 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 350 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 352 of file FSIApplyOperatorNonConforming.hpp.
|
private |
Definition at line 353 of file FSIApplyOperatorNonConforming.hpp.