CArl
Code Arlequin / C++ implementation
|
Before solving the coupled system we have to assemble the coupling matrices - and before doing this, we have to find the intersections between the meshes test_brick_A_1k.msh
and test_brick_B_1k.msh
, inside the coupling region defined by test_brick_C.msh
. This can be done by either submiting the file scripts/PBS_FETI_test_inter_traction_test_1k.pbs
, if using a PBS scheduler, or by launching the scripts/LOCAL_FETI_test_inter_traction_test_1k.sh
script, if running locally.
In either case, the CArl_build_intersections
will be executed using 4 processors, and using the file examples/coupled_traction_test/intersection/inter_traction_test_1k.txt
for the input parameters.
mpirun -np 4 ./CArl_build_intersections -i examples/coupled_traction_test/intersection/inter_traction_test_1k.txt
This program also creates the restricted meshes of the two models. These meshes contain only the elements of the model meshes that intersect the coupling region, and are a by-product of the intersection search. They are used for two reasons: they can be used to better distribute the work during the assembly of the coupling matrices, and, in general, the restriction of the Macro
/ A
model mesh is used as the mediator space between the models.
File: examples/coupled_traction_test/intersection/inter_traction_test_1k.txt
:
### Required parameters # - Mesh files MeshA examples/coupled_traction_test/meshes/test_brick_A_1k.msh MeshB examples/coupled_traction_test/meshes/test_brick_B_1k.msh MeshC examples/coupled_traction_test/meshes/test_brick_C.msh ### Optional parameters # - Output filename base OutputBase examples/coupled_traction_test/intersection/output/inter_1k/inter # - Meshing algorithm choice MeshingMethod CGAL # - Boolean flags, uncomment to activate # > Stitch together the intersection meshes? # (done in a single processor, can be numerically expensive) #StitchInterMeshes # > Verbose output? # (prints coupling mesh partitioning before and after rebalancing) #VerboseOutput
Input file parameters:
MeshA
, MeshB
and MeshC
: paths to the two model meshes and to the coupling region mesh.OutputBase
: common output filename. All the intersection output files will be named [OutputBase]_***
. The folders of the path must be created beforehand.MeshingMethod
: type of intersection meshing method, either based on CGAL
or TETGEN
. The usage of CGAL
is highly recommended.StitchInterMeshes
: if this flag is set, the intersection meshes will be stitched together. This is only really useful for visualization of the intersection mesh. Since it's done in a single processor, this is potentially numerically expensive.VerboseOutput
: if this flag is set, some extra information (such as the coupling mesh repartitioning) will be printed.After building the intersections, the following files will be created at the examples/coupled_traction_test/intersection/output/inter_1k
folder:
inter_A_restriction.msh inter_B_restriction.msh
inter_A_restriction_restrict.dat inter_B_restriction_restrict.dat
inter_r_0_n_4.e inter_r_1_n_4.e inter_r_2_n_4.e inter_r_3_n_4.e
inter_r_0_n_4_inter_table.dat inter_r_1_n_4_inter_table.dat inter_r_2_n_4_inter_table.dat inter_r_3_n_4_inter_table.dat
inter_global_inter_pairs.dat