doc:user:integration:scheme:dynexpl
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
doc:user:integration:scheme:dynexpl [2013/07/12 15:23] – created joris | doc:user:integration:scheme:dynexpl [2022/12/21 11:35] (current) – [New Metafor Version > 2422] boman | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Explicit dynamic integration schemes ====== | ||
+ | ===== Description ===== | ||
+ | |||
+ | The equilibrium equation between internal forces $F^{int}$, inertial forces $Ma$ (where $M$ is the diagonalized mass matrix and $a$ the acceleration) and external forces $F^{ext}$ : | ||
+ | |||
+ | $$Ma+F^{int}=F^{ext}$$ | ||
+ | |||
+ | |||
+ | ==== Central difference method ==== | ||
+ | |||
+ | Relations between displacements $x$, velocities $v$ and accelerations $a$ are: | ||
+ | |||
+ | $$v(t^{n+1/ | ||
+ | $$x(t^{n+1}) = x(t^n) + (t^{n+1}-t^n) v(t^{n+1/ | ||
+ | |||
+ | The equilibrium equation becomes : | ||
+ | |||
+ | $$a(t^{n+1}) = (F^{ext}(t^{n+1}) - F^{int}(t^{n+1}))/ | ||
+ | |||
+ | This scheme is conditionally stable (time step limited) and non dissipative. | ||
+ | |||
+ | ==== Alpha-generalized scheme ==== | ||
+ | |||
+ | Same relations as in the implicit [[dynimpl|alpha-generalized]] scheme, but with the parameter used to weight internal and external forces equal to 1, leading to : | ||
+ | |||
+ | $$(1-\alpha_M) a(t^{n+1}) + \alpha_M a(t^n) = \frac{F^{ext}(t^n) - F^{int}(t^n)}{M}$$ | ||
+ | |||
+ | Relations between displacements $x$, velocities $v$ and accelerations $a$ are: | ||
+ | |||
+ | $$x(t^{n+1}) = x(t^n) + (t^{n+1}-t^n) v(t^n) + (t^{n+1}-t^n)^2 \left( (0.5-\beta)a(t^n) + \beta a(t^{n+1})\right) $$ | ||
+ | $$v(t^{n+1}) = v(t^n) + (t^{n+1}-t^n) {(1-\gamma)a(t^n) + \gamma a(t^{n+1})} $$ | ||
+ | |||
+ | Specific values leading to an optimal numerical dissipation are given as function of the spectral radius $\rho_\beta$ ('' | ||
+ | |||
+ | $$\alpha_M = (2\rho_\beta-1)/ | ||
+ | $$\gamma = 3/2 - \alpha_M $$\\ | ||
+ | $$\beta = \frac{5-3\rho_\beta}{(1+\rho_\beta)^2 (2-\rho_\beta)}$$ | ||
+ | |||
+ | Conditionally stable. | ||
+ | |||
+ | ==== Tchamwa Scheme ==== | ||
+ | |||
+ | |||
+ | |||
+ | Explicit algorithm where numerical dissipation is monitored by the parameter $\phi$. | ||
+ | |||
+ | Equilibrium computed with | ||
+ | |||
+ | $$a(t^{n+1}) = \frac{F^{ext}(t^{n+1}) - F^{int}(t^{n+1})}{M}$$ | ||
+ | |||
+ | Relations between displacements $x$, velocities $v$ and accelerations $a$ are: | ||
+ | |||
+ | $$x(t^{n+1}) = x(t^n) + (t^{n+1}-t^n) v(t^n) + \phi (t^{n+1}-t^n)^2 a(t^n) $$\\ | ||
+ | $$v(t^{n+1}) = v(t^n) + (t^{n+1}-t^n) a(t^n) $$ | ||
+ | |||
+ | Stability guaranteed for $\phi \geq 1 $ and high frequencies killed over a single time step for \phi = 2$. the scheme is of : | ||
+ | * second order for $\phi = 1$ (no numerical dissipation) | ||
+ | * first order for $\phi > 1$ (numerical dissipation) | ||
+ | |||
+ | Relation between $\phi$ and spectral radius for the bifurcation $\rho_\beta$ (user parameter '' | ||
+ | * $$\phi = \frac{2(1- \rho_\beta^{1/ | ||
+ | * $$\phi = 1 \mbox{ if } \rho_\beta = 1 $$ | ||
+ | |||
+ | ===== Input file ===== | ||
+ | |||
+ | See [[dynimpl|dynamic implicit]] scheme for definition of density and initial velocities. | ||
+ | |||
+ | ==== Old Metafor Version <= 2422 ==== | ||
+ | |||
+ | === Choosing the algorithm === | ||
+ | |||
+ | ^ | ||
+ | | Certered difference | ||
+ | | Chung Hulbert | ||
+ | | Tchamwa | ||
+ | |||
+ | (see [[doc: | ||
+ | |||
+ | ==== New Metafor Version > 2422 ==== | ||
+ | |||
+ | === Centered Difference === | ||
+ | |||
+ | < | ||
+ | ti = CentralDifferenceTimeIntegration(metafor) | ||
+ | metafor.setTimeIntegration(ti) | ||
+ | </ | ||
+ | |||
+ | === Chung Hulbert === | ||
+ | |||
+ | < | ||
+ | ti = ChExplicitTimeIntegration(metafor) | ||
+ | ti.setRhoB(_rhoB) | ||
+ | metafor.setTimeIntegration(ti) | ||
+ | </ | ||
+ | |||
+ | The parameter '' | ||
+ | |||
+ | === Tchamwa === | ||
+ | |||
+ | < | ||
+ | ti = TchamwaExplicitTimeIntegration(metafor) | ||
+ | ti.setRhoB(_rhoB) | ||
+ | metafor.setTimeIntegration(ti) | ||
+ | </ | ||
+ | |||
+ | The parameter '' | ||
+ | |||
+ | Other parameters : see [[quasistatique]] |