3 Info<< "Reading field U\n" << endl;
17 Info<< "Reading material properties\n" << endl;
19 IOdictionary mechanicalProperties
23 "mechanicalProperties",
33 mechanicalProperties.lookup("rho")
36 dimensionedScalar rhoE
38 mechanicalProperties.lookup("E")
43 mechanicalProperties.lookup("nu")
46 Info<< "Normalising E : E/rho\n" << endl;
47 dimensionedScalar E = rhoE/rho;
49 Info<< "Reading boundary conditions\n" << endl;
51 IOdictionary boundaryConditions
63 Info<< "Reading patchPressure\n" << endl;
64 scalarField rhoPatchPressure
66 boundaryConditions.lookup("patchPressure")
69 Info<< "Normalising patchPressure : patchPressure/rho\n" << endl;
70 scalarField patchPressure = rhoPatchPressure/rho.value();
72 Info<< "Reading patchTraction\n" << endl;
73 vectorField rhoPatchTraction
75 boundaryConditions.lookup("patchTraction")
78 Info<< "Normalising patchTraction : patchTraction/rho\n" << endl;
79 vectorField patchTraction = rhoPatchTraction/rho.value();
81 Info<< "Calculating Lame's coefficients\n" << endl;
83 dimensionedScalar mu = E/(2.0*(1.0 + nu));
84 dimensionedScalar lambda = nu*E/((1.0 + nu)*(1.0 - 2.0*nu));
85 dimensionedScalar threeK = E/(1.0 - 2.0*nu);
89 mechanicalProperties.lookup("planeStress")
94 Info<< "Plane Stress\n" << endl;
96 //- change lambda and threeK for plane stress
97 lambda = nu*E/((1.0 + nu)*(1.0 - nu));
101 Info<< "Plane Strain\n" << endl;
104 Info<< "mu = " << mu.value() << " Pa/rho\n";
105 Info<< "lambda = " << lambda.value() << " Pa/rho\n";
107 # include "calculatePatchTraction.H"
109 Info<< "Reading contact patch IDs etc.\n" << endl;
110 const dictionary& contactPatchDict
112 mesh.solutionDict().subDict("contactPatch")
114 label gradPatch(readLabel(contactPatchDict.lookup("gradPatchID")));
115 label dirPatch(readLabel(contactPatchDict.lookup("dirPatchID")));
116 scalar urf(readScalar(contactPatchDict.lookup("contactUnderrelaxation")));
117 scalar touchTolerance
119 readScalar(contactPatchDict.lookup("touchTolerance"))
122 Info << "Creating contact pairs" << endl;
123 contactPatchPair contactPair(mesh, gradPatch, dirPatch, touchTolerance);
125 contactPatchPair reversePair(mesh, dirPatch, gradPatch, touchTolerance);
127 volScalarField contactArea