@@ -23,7 +23,8 @@ In the computational micromechanics, we need to evaluate the stress tensor $`\ma
In general, the strain averaging theorem and the Hill-Mandel condition are sastified a priori using a microscopic boundary condition (micro-BC). Four caterogies can be found: (i) Periodic BC (PBC), (ii) Displacement BC (DBC), (iii) Minimal Kinematic BC (MKBC), and (iv) Mixed BC (MBC). The solution of this mBVP is carried out using nonLinearMechSolver, in wihch the relation between $`\mathbf{P}_M(t)`$ and $`\mathbf{F}_M(t)`$ can be obtained by different ways.
We distinguish two cases:
- The strain path $`\mathbf{F}_M(t)`$ is known, the stress $`\mathbf{P}_M(t)`$ can be found using a specific micro-BC (described in Section II). The homogenzied properties ($`\mathbf{P}_M(t)`$ and also the tangent operator $`\partial \mathbf{P}_M(t)/\partial \mathbf{F}_M(t)`$) can be stored in the **csv** files if corresponding computation flags are activated.
- The strain path $`\mathbf{F}_M(t)`$ (and other kinematic variables) is fully known, the stress $`\mathbf{P}_M(t)`$ (and other associated fluxes) can be found using a specific micro-BC (described in Section II). The homogenzied properties ($`\mathbf{P}_M(t)`$ and also the tangent operator $`\partial \mathbf{P}_M(t)/\partial \mathbf{F}_M(t)`$) are computed (if activated) and stored in the **csv** files located in the same folder.
- In some cases, not all components of $`\mathbf{F}_M(t)`$ are known but some of them (e.g. make a uniaxial tension test, etc.). A system of constraints are first built based on the micro-BCs, in which some *control nodes* are defined. Then other nodes of the boundary of the RVE relate to these control-nodes by suitable contraints. Finally, the loadings are applied to control-nodes to drive the RVE following the prescribed testing mode. This possibility is detailed in Section III.
In nonLinearMechSolver, the treatments of the usual BC (force BC, displacement BC, ...) and microscopic BC (periodic, displacement, minimal kinematic, mixed BC) are diffrent and then distinished by the presence of a boolean **nonLinearMechSolver::_microFlag** (False by default). **_microFlag=True** if the micros-BC treatment is considered. The value of **_microFlag** can be modifed by one of following functions: