Heterogeneous Materials
Localisation boundary conditions
The following figures illustrate a simple 2D test case of a stiff elastic cylindrical filler in a soft elastic matrix, treated with the three available methods in Homtools: KUBC (Kinematic Uniform Boundary Conditions), PBC (Periodic Boundary Conditions), SUBC (Static Uniform Boundary Conditions).These methods require specific boundary conditions.
This method consists in applying on the boundary the displacement field that would occur if the strain were uniform inside the RVE.
In small strains, the boundary conditions are :
in which : is the displacement field,

In finite strains, the boundary conditions are :
in which : is the deformation gradient,

In small strains, the boundary conditions are :
in which : is the cauchy stress tensor,

In finite strains, the boundary conditions are :
in which : is the Piolla Kirchoff II stress tensor,

In small strains, the boundary conditions are :
periodic and antiperiodic. A quantity is said to be "periodic" (resp. "antiperiodic") when it takes the same value (resp. opposite value) at two opposite points on the boundary (one of them being the image of the other by translation of a periodicity vector). 
In finite strains, the boundary conditions are : periodic and antiperiodic. A quantity is in this case said to be "periodic" (resp. "antiperiodic") when it takes the same value (resp. opposite value) at two opposite points on the boundary (one of them being the image of the other by translation of a periodicity vector in the initial configuration). 
There is no restriction concerning the use of this method (periodic holes and rigid parts intersecting the boundary are permitted but a specific treatment is required for the rigid parts).
In Homtools, we use Reference Points to prescribe the average loading and these constraints.
Reference Points to apply the average loading and the specific boundary conditions
The average strains are introduced as degrees of freedom of Reference Points and Homtools automatically generates the linear constraints (*equation) between these additionnal degrees of freedom and the displacements on the boundary of the RVE. Thanks to duality properties, the reaction forces at the Reference Points are the average stresses multiplied by the volume of the RVE. With this method, prescribing average strains or stresses becomes as easy as prescribing displacements or concentrated forces at a node. Furthermore, obtaining the relationship between the average strain and the average stress does not require any specific posttreatment.
For fiinte strain problems, the degrees of freedom of the Reference Points are the components of the average deformation gradient tensor and the reaction forces are the components of the avrage PiolaKirchoff II stress tensor.
How to use Homtools
The main steps are :
mesh the RVE
in the "Interaction" module, create the Reference Points (2 for 2D problems in plane stress or strain or 3D problems in small strains, 3 for 3D problems in finite strains)
in the "Interaction" module, choose "Homtools" in the drop off menu "Plugin" and answer the questions.
in the "Load" module, prescribe the average strains components or/and the stresses components by prescribing the degrees of freedom (dsplacements) or the nodal forces at the reference points.
after solving the problem, in the "Vizualisation" module, you can obtain the effective response of the RVE by the postreatment of the displacements and yhe nodal forces at the Reference Points.
Check the following video to see the steps required to define a complete homogenization problem (in french).
Remarks
for the method SUBC, no hole should intersect the boundary of the RVE (inconsistency of the method in this case). Furthermore, the displacement field is not unique for this method (rigid translations and rotations are not fixed)
the method PBC is theoretically only relevant for periodic materials. The linear constraints couple the displacements at nodes on opposite faces of the boundary. The mesh of opposite faces must be identical: at each node of a face must correspond a node on the opposite face defined by translation of a periodicity vector. In Homtools, you must define the couple of faces together with a periodicity vectors : the mesh of the second set must result from the translation of the mesh of the first set according to the periodicity vector. You must repeat the operation as many times as necessary for all the couple of faces. Fot this method, the displacement field is not unique: the rigid translation is not fixed by the periodicity conditions and you can make the solution unique by fixing the dispalcements at a node in the RVE.