50#define _IFT_CBS_Name "cbs"
51#define _IFT_CBS_deltat "deltat"
52#define _IFT_CBS_mindeltat "mindeltat"
53#define _IFT_CBS_cmflag "cmflag"
54#define _IFT_CBS_theta1 "theta1"
55#define _IFT_CBS_theta2 "theta2"
56#define _IFT_CBS_scaleflag "scaleflag"
57#define _IFT_CBS_lscale "lscale"
58#define _IFT_CBS_uscale "uscale"
59#define _IFT_CBS_dscale "dscale"
60#define _IFT_CBS_miflag "miflag"
131 if (
id == V_u ||
id == V_v ||
id == V_w ) {
175 std :: unique_ptr< SparseLinearSystemNM >
nMethod;
180 std :: unique_ptr< SparseMtrx >
lhs;
192 std :: unique_ptr< SparseMtrx >
mss;
void restoreContext(DataStream &stream, ContextMode mode) override
const char * giveInputRecordName() const
fMode giveFormulation() override
void updateYourself(TimeStep *tStep) override
double giveTractionPressure(Dof *dof)
CBS(int i, EngngModel *_master=NULL)
FloatArray nodalPrescribedTractionPressureConnectivity
double giveReynoldsNumber() override
PressureEquationNumbering pnum
LinSystSolverType solverType
void updateDomainLinks() override
double dscale
Density scale.
NumericalMethod * giveNumericalMethod(MetaStep *mStep) override
Returns reference to receiver's numerical method.
std ::unique_ptr< MaterialInterface > materialInterface
VelocityEquationNumbering vnumPrescribed
TimeStep * giveSolutionStepWhenIcApply(bool force=false) override
int consistentMassFlag
Consistent mass flag.
int giveNumberOfDomainEquations(int, const UnknownNumberingScheme &num) override
void applyIC(TimeStep *tStep)
const char * giveClassName() const override
Returns class name of the receiver.
std ::unique_ptr< SparseMtrx > mss
Sparse consistent mass.
int giveUnknownDictHashIndx(ValueModeType mode, TimeStep *tStep) override
void printDofOutputAt(FILE *stream, Dof *iDof, TimeStep *tStep) override
FloatArray prescribedTractionPressure
double lscale
Length scale.
std ::unique_ptr< SparseLinearSystemNM > nMethod
Numerical method used to solve the problem.
void solveYourselfAt(TimeStep *tStep) override
int giveNewPrescribedEquationNumber(int domain, DofIDItem) override
DofDistributedPrimaryField pressureField
Pressure field.
bool giveEquationScalingFlag() override
Returns the Equation scaling flag, which is used to indicate that governing equation(s) are scaled,...
SparseMtrxType sparseMtrxType
bool newDofHandling() override
double Re
Reynolds number.
void saveContext(DataStream &stream, ContextMode mode) override
double giveUnknownComponent(ValueModeType type, TimeStep *tStep, Domain *d, Dof *dof) override
double deltaT
Time step and its minimal value.
VelocityEquationNumbering vnum
FloatArray deltaAuxVelocity
FloatArray mm
Lumped mass matrix.
DofDistributedPrimaryField velocityField
Velocity field.
double uscale
Velocity scale.
int giveNewEquationNumber(int domain, DofIDItem) override
TimeStep * giveNextStep() override
Returns next time step (next to current step) of receiver.
void initializeFrom(InputRecord &ir) override
int checkConsistency() override
double giveVariableScale(VarScaleType varId) override
Returns the scale factor for given variable type.
double theta1
Integration constants.
PressureEquationNumbering pnumPrescribed
void updateInternalState(TimeStep *tStep)
std ::unique_ptr< SparseMtrx > lhs
Implementation for assembling external forces vectors in standard monolithic FE-problems.
void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const override
Implementation for assembling external forces vectors in standard monolithic FE-problems.
void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const override
Implementation for assembling external forces vectors in standard monolithic FE-problems.
void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const override
DofIDItem giveDofID() const
virtual int __giveEquationNumber() const =0
virtual int __givePrescribedEquationNumber()=0
FluidModel(int i, EngngModel *master)
Implementation for assembling external forces vectors in standard monolithic FE-problems.
void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const override
Implementation for assembling external forces vectors in standard monolithic FE-problems.
void vectorFromElement(FloatArray &vec, Element &element, TimeStep *tStep, ValueModeType mode) const override
PressureEquationNumbering(bool prescribed)
int askNewEquationNumber()
int giveRequiredNumberOfDomainEquation() const override
int giveDofEquationNumber(Dof *dof) const override
bool isDefault() const override
Callback class for assembling CBS pressure matrices.
void locationFromElement(IntArray &loc, Element &element, const UnknownNumberingScheme &s, IntArray *dofIds=nullptr) const override
void matrixFromElement(FloatMatrix &mat, Element &element, TimeStep *tStep) const override
UnknownNumberingScheme(void)
int giveDofEquationNumber(Dof *dof) const override
int giveRequiredNumberOfDomainEquation() const override
bool isDefault() const override
int askNewEquationNumber()
VelocityEquationNumbering(bool prescribed)
VarScaleType
Type determining the scale corresponding to particular variable.