PROBLEM mechanical MESH veeder.msh b = 1 # cylinder radius h = 0.5 # cylinder height E = 1 # young modulus (does not matter for the displacement, only for stresses) nu = 1/3 # poisson ratio alpha = 1e-5 # temperature expansion coefficient # temperature distribution as in the original paper T1 = 1 # maximum temperature T0 = 0 # reference temperature (where expansion is zero) T(x,y,z) = T0 + T1*(1-(x^2+y^2)/(b^2)) # boundary conditions (note that the cylinder can still expand on the x-y plane) BC inf tangential radial # write vtu output WRITE_RESULTS # non-dimensional numerical displacement profiles v_num(z') = v(0, b, z'*h)/(alpha*T1*b) w_num(r') = w(0, r'*b, h)/(alpha*T1*b) ######## # reference solution # coefficients of displacement functions for h/b = 0.5 a00 = 0.66056 a01 = -0.44037 a10 = 0.23356 a02 = -0.06945 a11 = -0.10417 a20 = 0.00288 b00 = -0.01773 b01 = -0.46713 b10 = -0.04618 b02 = +0.10417 b11 = -0.01152 b20 = -0.00086 # coefficients of displacement functions for h/b = 1.0 # a00 = 0.73197 # a01 = -0.48798 # a10 = 0.45680 # a02 = -0.01140 # a11 = -0.06841 # a20 = 0.13611 # # b00 = 0.26941 # b01 = -0.45680 # b10 = -0.25670 # b02 = 0.03420 # b11 = -0.27222 # b20 = -0.08167 R(r') = r'^2 - 1 Z(z') = z'^2 - 1 v_ref(r',z') = r' * (a00 + a01*R(r') + a10*Z(z') + a02* R(r')^2 + a11 * R(r')*Z(z') + a20 * Z(z')^2) w_ref(r',z') = z' * (b00 + b01*R(r') + b10*Z(z') + b02* R(r')^2 + b11 * R(r')*Z(z') + b20 * Z(z')^2) PRINT_FUNCTION FILE veeder_v.dat v_num v_ref(1,z') MIN 0 MAX 1 NSTEPS 50 HEADER PRINT_FUNCTION FILE veeder_w.dat w_num w_ref(r',1) MIN 0 MAX 1 NSTEPS 50 HEADER