20 function models.beam.DynLinTimoshenkoModel.split_KR() {
27 if (size(this.KR_raw,1) == 0)
34 if this.KR_factor_global > 1
36 this.KR_raw(:,5) = this.KR_factor_global;
38 KR_raw_new = zeros(this.KR_factor_global * size(this.KR_raw,1),5);
40 p_new = zeros(size(p,1) + size(this.KR_raw,1)*(this.KR_factor_global-1),3);
42 KR_raw_new(:,5) = this.KR_factor_global;
47 if this.KR_factor_global <= 1
52 for j=1:size(this.KR_raw,1)
53 if this.KR_raw(j,5) >= 1
54 KR_count_add = KR_count_add + this.KR_raw(j,5) - 1;
58 KR_raw_new = zeros(size(this.KR_raw,1)+KR_count_add,5);
60 p_new = zeros(size(p,1) +KR_count_add,3);
63 p_new(1:size(p,1),:) = p;
66 for i = 1:size(this.KR_raw,1)
68 KR_factor = this.KR_raw(i,5);
69 KR_mat_act = this.KR_raw(i,1);
75 KR_raw_new(KR_count,2) = this.KR_raw(i,2);
76 KR_raw_new(KR_count,3) = this.KR_raw(i,3);
77 KR_raw_new(KR_count,4) = this.KR_raw(i,4);
78 KR_raw_new(KR_count,5) = 1;
80 KR_raw_new(KR_count,1) = this.KR_raw(i,1);
81 KR_count = KR_count+1;
89 P_start = [this.KR_raw(i,2) this.KR_raw(i,3)];
90 P_end = this.KR_raw(i, 4);
92 KR_factor_act = this.KR_raw(i,5);
93 s = ( 0 : (pi/2)/KR_factor_act : pi/2 );
95 e_x = ( p_new(P_start(1),:) - p_new(P_end,:) )^
t;
97 e_x = e_x / norm(e_x);
98 e_y = (p(P_start(2),:) - p(P_end,:))^t /norm(e_x);
99 e_y = e_y - (e_x^t*e_y) * e_x;
100 e_y = e_y / norm(e_y);
101 e_z = [e_x(2)*e_y(3) - e_x(3)*e_y(2);
102 e_x(3)*e_y(1) - e_x(1)*e_y(3);
103 e_x(1)*e_y(2) - e_x(2)*e_y(1)];
104 e_z = e_z / norm(e_z);
111 COR2 = [( p_new(P_end, 1) + COR(1,:))" ( p_new(P_end, 2) + COR(2,:)) " ( p_new(P_end, 3) + COR(3,:))^t];
113 for j = 1:KR_factor-1
115 p_new(size(p,1)+point_count,1) = COR2(j+1,1);
116 p_new(size(p,1)+point_count,2) = COR2(j+1,2);
117 p_new(size(p,1)+point_count,3) = COR2(j+1,3);
119 P_act = size(p,1)+point_count;
121 point_count = point_count+1;
125 KR_raw_new(KR_count,2) = P_start(1);
126 KR_raw_new(KR_count,3) = P_act;
128 KR_raw_new(KR_count,4) = P_end;
130 KR_raw_new(KR_count,5) = KR_factor_act;
132 KR_raw_new(KR_count,1) = KR_mat_act;
133 KR_count = KR_count+1;
140 KR_raw_new(KR_count,2) = P_old;
141 KR_raw_new(KR_count,3) = P_act;
143 KR_raw_new(KR_count,4) = P_end;
145 KR_raw_new(KR_count,5) = KR_factor_act;
147 KR_raw_new(KR_count,1) = KR_mat_act;
148 KR_count = KR_count+1;
154 KR_raw_new(KR_count,2) = P_act;
155 KR_raw_new(KR_count,3) = P_start(2);
157 KR_raw_new(KR_count,4) = P_end;
159 KR_raw_new(KR_count,5) = KR_factor_act;
161 KR_raw_new(KR_count,1) = KR_mat_act;
162 KR_count = KR_count+1;
169 fprintf(" \nNeue Größen\n ");
170 fprintf(" Size KR_new: %d\n ",size(KR_raw_new,1));
171 fprintf(" Size P_new: %d\n ",size(p_new,1));
174 fprintf(" \nAlte Größen\n ");
175 fprintf(" Size KR: %d\n ",size(this.KR_raw,1));
176 fprintf(" Size P: %d\n ",size(p,1));
179 this.KR_raw= KR_raw_new;