143 struct GISMO_EXPORT gsBoundaryInterface
145 gsBoundaryInterface() {}
148 std::vector<patchSide> sidesA;
149 std::vector<patchSide> sidesB;
151 std::vector<std::pair<index_t,index_t> > patches;
157 sidesA.push_back(patchSide(patchA,sideA));
158 sidesB.push_back(patchSide(patchB,sideB));
162 { patches.push_back(std::pair<index_t,index_t>(patchA,patchB)); }
180 GISMO_ENSURE(progress >= 0. && progress <= 1.,
"Invalid progress value! Must be between 0 and 1.");
183 for(
index_t i = 0; i < m_width; i++)
186 else if(i == threshold)
190 gsInfo <<
"] " << (
abs(progress - 1.) < 1e-12 ? 100 : (
index_t)(progress*100)) <<
" %\r";
193 if (
abs(progress - 1.) < 1e-12)
200 GISMO_ENSURE(progress >= 0 && progress <= total && total >= 0,
"Invalid progress value!");
203 for(
index_t i = 0; i < m_width; i++)
206 else if(i == threshold)
210 gsInfo <<
"] " << progress <<
"/" << total <<
" \r";
213 if (progress == total)
222 std::string secToHMS(T sec)
230 residual -= 3600*hours;
232 residual -= 60*minutes;
gsProgressBar(index_t width=25)
Constructor. Width is a number of symbols the progress bar spans.
Definition: gsBaseUtils.h:175
Specifies the verbosity of the iterative solver.
Definition: gsBaseUtils.h:78
method
Definition: gsBaseUtils.h:28
method was interrupted because the current solution is invalid
Definition: gsBaseUtils.h:109
Specifies the material law to use.
Definition: gsBaseUtils.h:126
Specifies method used for mesh deformation in fluid-structure interaction.
Definition: gsBaseUtils.h:26
implicit scheme with linear problem (theta-scheme)
Definition: gsBaseUtils.h:60
Provides structs and classes related to interfaces and boundaries.
type
Definition: gsBaseUtils.h:91
std::string to_string(const C &value)
Converts value to string, assuming "operator<<" defined on C.
Definition: gsUtils.h:56
S = lambda*ln(J)*C^-1 + mu*(I-C^-1)
Definition: gsBaseUtils.h:134
Specifies linear solver to use if it is hidden within some other class (like Newton's method or time ...
Definition: gsBaseUtils.h:65
side
Identifiers for topological sides.
Definition: gsBoundary.h:58
type
Definition: gsBaseUtils.h:44
solver_status
Specifies the status of the iterative solver.
Definition: gsBaseUtils.h:99
#define index_t
Definition: gsConfig.h:32
#define GISMO_ENSURE(cond, message)
Definition: gsDebug.h:102
verbosity
Definition: gsBaseUtils.h:80
This file contains the debugging and messaging system of G+Smo.
sigma = 2*mu*eps + p*I
Definition: gsBaseUtils.h:131
return von Mises stress as a scala
Definition: gsBaseUtils.h:114
each iteration yields an update
Definition: gsBaseUtils.h:94
sigma = 2*mu*eps + lambda*tr(eps)*I
Definition: gsBaseUtils.h:132
Provides preprocessor directives configuration of G+Smo.
Specifies iteration type for an iterative solver
Definition: gsBaseUtils.h:89
tangential incremental nonlinear elasticity (with the St.Venant-Kirchhoff law)
Definition: gsBaseUtils.h:36
Conjugate gradient solver with diagonal (a.k.a. Jacobi) preconditioning: iterative(!), simmetric, Eigen only.
Definition: gsBaseUtils.h:72
void display(index_t progress, index_t total)
display the progress from 0 to 1
Definition: gsBaseUtils.h:198
no output
Definition: gsBaseUtils.h:83
harmonic extension
Definition: gsBaseUtils.h:31
only essential output
Definition: gsBaseUtils.h:84
S = p*C^-1 + mu*(I-C^-1)
Definition: gsBaseUtils.h:136
#define gsInfo
Definition: gsDebug.h:43
method successfully converged
Definition: gsBaseUtils.h:100
S = lambda/2*(J^2-1)C^-1 + mu*(I-C^-1)
Definition: gsBaseUtils.h:135
incremental linear elasticity
Definition: gsBaseUtils.h:34
void display(double progress)
display the progress from 0 to 1
Definition: gsBaseUtils.h:178
law
Definition: gsBaseUtils.h:128
tangential incremental nonlinear elasticity (with the neo-Hookean law)
Definition: gsBaseUtils.h:35
explicit scheme
Definition: gsBaseUtils.h:58
incremental harmonic extension
Definition: gsBaseUtils.h:32
scheme
Definition: gsBaseUtils.h:55
explicit scheme with lumped mass matrix
Definition: gsBaseUtils.h:59
bi-harmonic extension
Definition: gsBaseUtils.h:37
Simple progress bar class.
Definition: gsBaseUtils.h:171
Several utility functions for miscellaneous tasks.
return all components of the 2D stress tensor as a 2x2 matrix
Definition: gsBaseUtils.h:117
EIGEN_STRONG_INLINE abs_expr< E > abs(const E &u)
Absolute value.
Definition: gsExpressions.h:4486
LU decomposition: direct, no matrix requirements, robust but a bit slow, Eigen and Pardiso available...
Definition: gsBaseUtils.h:70
Definition: gsBaseUtils.h:119
Specifies the time integration scheme, see Wriggers, Nonlinear FEM, p. 205.
Definition: gsBaseUtils.h:53
S = 2*mu*E + lambda*tr(E)*I.
Definition: gsBaseUtils.h:133
linear elasticity
Definition: gsBaseUtils.h:33
Cholesky decomposition pivoting: direct, simmetric positive or negative semidefinite, rather fast, Eigen and Pardiso available.
Definition: gsBaseUtils.h:71
solver working
Definition: gsBaseUtils.h:102
Definition: gsBaseUtils.h:116
Specifies the iteration type used to solve nonlinear systems.
Definition: gsBaseUtils.h:42
components
Definition: gsBaseUtils.h:111
solver was interrupted after exceeding the limit of iterations
Definition: gsBaseUtils.h:101
stationary point iteration, 1st order, yields a new solution at each iteration
Definition: gsBaseUtils.h:47
solver
Definition: gsBaseUtils.h:67
newton's method, 2nd order, yields updates to the solution
Definition: gsBaseUtils.h:48
Definition: gsBaseUtils.h:121