13 #if !defined( KRATOS_RESIDUALBASED_INCREMENTAL_AITKEN_STATIC_SCHEME_H_INCLUDED )
14 #define KRATOS_RESIDUALBASED_INCREMENTAL_AITKEN_STATIC_SCHEME_H_INCLUDED
53 template<
class TSparseSpace,
class TDenseSpace >
102 mDefaultOmega(DefaultOmega),
103 mOldOmega(DefaultOmega)
125 return Kratos::make_shared<ClassType>(ThisParameters);
144 TSparseSpace::SetToZero(mPreviousDx);
145 mIterationCounter = 0;
167 if (mIterationCounter > 1)
172 for (
unsigned int i = 0;
i < Dx.size();
i++)
174 double Diff = Dx[
i] - mPreviousDx[
i];
175 Num += mPreviousDx[
i] * Diff;
179 Omega = - mOldOmega * Num / Den;
184 if (mOldOmega < mDefaultOmega)
187 Omega = mDefaultOmega;
197 i_dof->GetSolutionStepValue() += Omega * Dx[i_dof->EquationId()];
210 "name" : "ResidualBasedIncrementalAitkenStaticScheme",
211 "default_omega" : 0.1
214 return default_parameters;
222 return StaticGetDefaultParameters();
239 std::string
Info()
const override
241 return "ResidualBasedIncrementalAitkenStaticScheme";
310 unsigned int mIterationCounter;
316 const double mDefaultOmega;
322 TSystemVectorType mPreviousDx;
352 ResidualBasedIncrementalAitkenStaticScheme(ResidualBasedIncrementalAitkenStaticScheme
const& rOther) {}
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
boost::indirect_iterator< typename TContainerType::iterator > iterator
Definition: pointer_vector_set.h:95
iterator begin()
Returns an iterator pointing to the beginning of the container.
Definition: pointer_vector_set.h:278
iterator end()
Returns an iterator pointing to the end of the container.
Definition: pointer_vector_set.h:314
A scheme for the solution of a problem using Aitken iterations.
Definition: residualbased_incremental_aitken_static_scheme.h:55
ResidualBasedIncrementalAitkenStaticScheme(Parameters ThisParameters)
Default constructor. (with parameters)
Definition: residualbased_incremental_aitken_static_scheme.h:92
ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace > BaseType
Definition: residualbased_incremental_aitken_static_scheme.h:65
Scheme< TSparseSpace, TDenseSpace > BaseSchemeType
Definition: residualbased_incremental_aitken_static_scheme.h:63
static Parameters StaticGetDefaultParameters()
Definition: residualbased_incremental_aitken_static_scheme.h:206
void InitializeSolutionStep(ModelPart &r_model_part, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
Initialize the iteration counter at the beginning of each solution step.
Definition: residualbased_incremental_aitken_static_scheme.h:135
ResidualBasedIncrementalAitkenStaticScheme()
Default constructor.
Definition: residualbased_incremental_aitken_static_scheme.h:84
BaseSchemeType::Pointer Create(Parameters ThisParameters) const override
Create method.
Definition: residualbased_incremental_aitken_static_scheme.h:123
BaseType::TSystemVectorType TSystemVectorType
Definition: residualbased_incremental_aitken_static_scheme.h:75
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: residualbased_incremental_aitken_static_scheme.h:251
BaseType::DofsArrayType DofsArrayType
Definition: residualbased_incremental_aitken_static_scheme.h:71
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: residualbased_incremental_aitken_static_scheme.h:245
Parameters GetDefaultParameters() const override
This method provides the defaults parameters to avoid conflicts between the different constructors.
Definition: residualbased_incremental_aitken_static_scheme.h:220
BaseType::TDataType TDataType
Definition: residualbased_incremental_aitken_static_scheme.h:69
ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace > ClassType
Definition: residualbased_incremental_aitken_static_scheme.h:67
KRATOS_CLASS_POINTER_DEFINITION(ResidualBasedIncrementalAitkenStaticScheme)
Pointer definition of ResidualBasedIncrementalAitkenStaticScheme.
BaseType::TSystemMatrixType TSystemMatrixType
Definition: residualbased_incremental_aitken_static_scheme.h:73
std::string Info() const override
Turn back information as a string.
Definition: residualbased_incremental_aitken_static_scheme.h:239
ResidualBasedIncrementalAitkenStaticScheme(double DefaultOmega)
Default constructor.
Definition: residualbased_incremental_aitken_static_scheme.h:101
void Update(ModelPart &r_model_part, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
Update the degrees of freedom of the problem using Aitken's accelerator.
Definition: residualbased_incremental_aitken_static_scheme.h:156
~ResidualBasedIncrementalAitkenStaticScheme() override
Destructor.
Definition: residualbased_incremental_aitken_static_scheme.h:107
This class provides the implementation of a static scheme.
Definition: residualbased_incrementalupdate_static_scheme.h:57
BaseType::TDataType TDataType
Data type definition.
Definition: residualbased_incrementalupdate_static_scheme.h:76
BaseType::TSystemMatrixType TSystemMatrixType
Matrix type definition.
Definition: residualbased_incrementalupdate_static_scheme.h:78
BaseType::TSystemVectorType TSystemVectorType
Vector type definition.
Definition: residualbased_incrementalupdate_static_scheme.h:80
This class provides the implementation of the basic tasks that are needed by the solution strategy.
Definition: scheme.h:56
void InitializeSolutionStep(ConstructionUtility &rThisUtil, std::string ThermalSubModelPartName, std::string MechanicalSubModelPartName, std::string HeatFluxSubModelPartName, std::string HydraulicPressureSubModelPartName, bool thermal_conditions, bool mechanical_conditions, int phase)
Definition: add_custom_utilities_to_python.cpp:45
TSpaceType::IndexType Size(TSpaceType &dummy, typename TSpaceType::VectorType const &rV)
Definition: add_strategies_to_python.cpp:111
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
T & noalias(T &TheMatrix)
Definition: amatrix_interface.h:484
TABLE_NUMBER_ANGULAR_VELOCITY TABLE_NUMBER_MOMENT I33 BEAM_INERTIA_ROT_UNIT_LENGHT_Y KRATOS_DEFINE_APPLICATION_VARIABLE(DEM_APPLICATION, double, BEAM_INERTIA_ROT_UNIT_LENGHT_Z) typedef std double
Definition: DEM_application_variables.h:182
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31
A
Definition: sensitivityMatrix.py:70
x
Definition: sensitivityMatrix.py:49
def ValidateAndAssignDefaults(defaults, settings, recursive=False)
Definition: sdof_solver.py:252
integer i
Definition: TensorModule.f:17