Lines Matching full:y
71 PetscErrorCode RHSFunction_Hull1972A1(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972A1() argument
74 const PetscScalar *y; in RHSFunction_Hull1972A1() local
77 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972A1()
79 f[0] = -y[0]; in RHSFunction_Hull1972A1()
80 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972A1()
85 PetscErrorCode RHSJacobian_Hull1972A1(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Hull1972A1() argument
87 const PetscScalar *y; in RHSJacobian_Hull1972A1() local
92 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Hull1972A1()
96 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Hull1972A1()
100 PetscErrorCode IFunction_Hull1972A1(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972A1() argument
102 const PetscScalar *y; in IFunction_Hull1972A1() local
106 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972A1()
108 f[0] = -y[0]; in IFunction_Hull1972A1()
109 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972A1()
111 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972A1()
116 PetscErrorCode IJacobian_Hull1972A1(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972A1() argument
118 const PetscScalar *y; in IJacobian_Hull1972A1() local
123 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972A1()
127 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972A1()
133 PetscErrorCode RHSFunction_Hull1972A2(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972A2() argument
135 const PetscScalar *y; in RHSFunction_Hull1972A2() local
139 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972A2()
141 f[0] = -0.5 * y[0] * y[0] * y[0]; in RHSFunction_Hull1972A2()
142 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972A2()
147 PetscErrorCode RHSJacobian_Hull1972A2(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Hull1972A2() argument
149 const PetscScalar *y; in RHSJacobian_Hull1972A2() local
154 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Hull1972A2()
155 value = -0.5 * 3.0 * y[0] * y[0]; in RHSJacobian_Hull1972A2()
159 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Hull1972A2()
163 PetscErrorCode IFunction_Hull1972A2(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972A2() argument
166 const PetscScalar *y; in IFunction_Hull1972A2() local
169 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972A2()
171 f[0] = -0.5 * y[0] * y[0] * y[0]; in IFunction_Hull1972A2()
172 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972A2()
174 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972A2()
179 PetscErrorCode IJacobian_Hull1972A2(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972A2() argument
181 const PetscScalar *y; in IJacobian_Hull1972A2() local
186 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972A2()
187 value = a + 0.5 * 3.0 * y[0] * y[0]; in IJacobian_Hull1972A2()
191 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972A2()
197 PetscErrorCode RHSFunction_Hull1972A3(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972A3() argument
199 const PetscScalar *y; in RHSFunction_Hull1972A3() local
203 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972A3()
205 f[0] = y[0] * PetscCosReal(t); in RHSFunction_Hull1972A3()
206 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972A3()
211 PetscErrorCode RHSJacobian_Hull1972A3(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Hull1972A3() argument
213 const PetscScalar *y; in RHSJacobian_Hull1972A3() local
218 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Hull1972A3()
222 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Hull1972A3()
226 PetscErrorCode IFunction_Hull1972A3(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972A3() argument
229 const PetscScalar *y; in IFunction_Hull1972A3() local
232 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972A3()
234 f[0] = y[0] * PetscCosReal(t); in IFunction_Hull1972A3()
235 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972A3()
237 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972A3()
242 PetscErrorCode IJacobian_Hull1972A3(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972A3() argument
244 const PetscScalar *y; in IJacobian_Hull1972A3() local
249 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972A3()
253 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972A3()
259 PetscErrorCode RHSFunction_Hull1972A4(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972A4() argument
262 const PetscScalar *y; in RHSFunction_Hull1972A4() local
265 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972A4()
267 f[0] = (0.25 * y[0]) * (1.0 - 0.05 * y[0]); in RHSFunction_Hull1972A4()
268 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972A4()
273 PetscErrorCode RHSJacobian_Hull1972A4(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Hull1972A4() argument
275 const PetscScalar *y; in RHSJacobian_Hull1972A4() local
280 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Hull1972A4()
281 value = 0.25 * (1.0 - 0.05 * y[0]) - (0.25 * y[0]) * 0.05; in RHSJacobian_Hull1972A4()
285 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Hull1972A4()
289 PetscErrorCode IFunction_Hull1972A4(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972A4() argument
292 const PetscScalar *y; in IFunction_Hull1972A4() local
295 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972A4()
297 f[0] = (0.25 * y[0]) * (1.0 - 0.05 * y[0]); in IFunction_Hull1972A4()
298 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972A4()
300 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972A4()
305 PetscErrorCode IJacobian_Hull1972A4(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972A4() argument
307 const PetscScalar *y; in IJacobian_Hull1972A4() local
312 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972A4()
313 value = a - 0.25 * (1.0 - 0.05 * y[0]) + (0.25 * y[0]) * 0.05; in IJacobian_Hull1972A4()
317 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972A4()
323 PetscErrorCode RHSFunction_Hull1972A5(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972A5() argument
326 const PetscScalar *y; in RHSFunction_Hull1972A5() local
329 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972A5()
331 f[0] = (y[0] - t) / (y[0] + t); in RHSFunction_Hull1972A5()
332 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972A5()
337 PetscErrorCode RHSJacobian_Hull1972A5(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Hull1972A5() argument
339 const PetscScalar *y; in RHSJacobian_Hull1972A5() local
344 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Hull1972A5()
345 value = 2 * t / ((t + y[0]) * (t + y[0])); in RHSJacobian_Hull1972A5()
349 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Hull1972A5()
353 PetscErrorCode IFunction_Hull1972A5(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972A5() argument
356 const PetscScalar *y; in IFunction_Hull1972A5() local
359 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972A5()
361 f[0] = (y[0] - t) / (y[0] + t); in IFunction_Hull1972A5()
362 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972A5()
364 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972A5()
369 PetscErrorCode IJacobian_Hull1972A5(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972A5() argument
371 const PetscScalar *y; in IJacobian_Hull1972A5() local
376 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972A5()
377 value = a - 2 * t / ((t + y[0]) * (t + y[0])); in IJacobian_Hull1972A5()
381 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972A5()
387 PetscErrorCode RHSFunction_Hull1972B1(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972B1() argument
390 const PetscScalar *y; in RHSFunction_Hull1972B1() local
393 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972B1()
395 f[0] = 2.0 * (y[0] - y[0] * y[1]); in RHSFunction_Hull1972B1()
396 f[1] = -(y[1] - y[0] * y[1]); in RHSFunction_Hull1972B1()
397 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972B1()
402 PetscErrorCode IFunction_Hull1972B1(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972B1() argument
405 const PetscScalar *y; in IFunction_Hull1972B1() local
408 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972B1()
410 f[0] = 2.0 * (y[0] - y[0] * y[1]); in IFunction_Hull1972B1()
411 f[1] = -(y[1] - y[0] * y[1]); in IFunction_Hull1972B1()
412 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972B1()
414 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972B1()
419 PetscErrorCode IJacobian_Hull1972B1(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972B1() argument
421 const PetscScalar *y; in IJacobian_Hull1972B1() local
426 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972B1()
427 value[0][0] = a - 2.0 * (1.0 - y[1]); in IJacobian_Hull1972B1()
428 value[0][1] = 2.0 * y[0]; in IJacobian_Hull1972B1()
429 value[1][0] = -y[1]; in IJacobian_Hull1972B1()
430 value[1][1] = a + 1.0 - y[0]; in IJacobian_Hull1972B1()
434 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972B1()
440 PetscErrorCode RHSFunction_Hull1972B2(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972B2() argument
443 const PetscScalar *y; in RHSFunction_Hull1972B2() local
446 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972B2()
448 f[0] = -y[0] + y[1]; in RHSFunction_Hull1972B2()
449 f[1] = y[0] - 2.0 * y[1] + y[2]; in RHSFunction_Hull1972B2()
450 f[2] = y[1] - y[2]; in RHSFunction_Hull1972B2()
451 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972B2()
456 PetscErrorCode IFunction_Hull1972B2(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972B2() argument
459 const PetscScalar *y; in IFunction_Hull1972B2() local
462 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972B2()
464 f[0] = -y[0] + y[1]; in IFunction_Hull1972B2()
465 f[1] = y[0] - 2.0 * y[1] + y[2]; in IFunction_Hull1972B2()
466 f[2] = y[1] - y[2]; in IFunction_Hull1972B2()
467 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972B2()
469 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972B2()
474 PetscErrorCode IJacobian_Hull1972B2(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972B2() argument
476 const PetscScalar *y; in IJacobian_Hull1972B2() local
481 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972B2()
494 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972B2()
500 PetscErrorCode RHSFunction_Hull1972B3(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972B3() argument
503 const PetscScalar *y; in RHSFunction_Hull1972B3() local
506 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972B3()
508 f[0] = -y[0]; in RHSFunction_Hull1972B3()
509 f[1] = y[0] - y[1] * y[1]; in RHSFunction_Hull1972B3()
510 f[2] = y[1] * y[1]; in RHSFunction_Hull1972B3()
511 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972B3()
516 PetscErrorCode IFunction_Hull1972B3(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972B3() argument
519 const PetscScalar *y; in IFunction_Hull1972B3() local
522 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972B3()
524 f[0] = -y[0]; in IFunction_Hull1972B3()
525 f[1] = y[0] - y[1] * y[1]; in IFunction_Hull1972B3()
526 f[2] = y[1] * y[1]; in IFunction_Hull1972B3()
527 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972B3()
529 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972B3()
534 PetscErrorCode IJacobian_Hull1972B3(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972B3() argument
536 const PetscScalar *y; in IJacobian_Hull1972B3() local
541 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972B3()
546 value[1][1] = a + 2.0 * y[1]; in IJacobian_Hull1972B3()
549 value[2][1] = -2.0 * y[1]; in IJacobian_Hull1972B3()
554 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972B3()
560 PetscErrorCode RHSFunction_Hull1972B4(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972B4() argument
563 const PetscScalar *y; in RHSFunction_Hull1972B4() local
566 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972B4()
568 f[0] = -y[1] - y[0] * y[2] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in RHSFunction_Hull1972B4()
569 f[1] = y[0] - y[1] * y[2] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in RHSFunction_Hull1972B4()
570 f[2] = y[0] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in RHSFunction_Hull1972B4()
571 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972B4()
576 PetscErrorCode IFunction_Hull1972B4(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972B4() argument
579 const PetscScalar *y; in IFunction_Hull1972B4() local
582 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972B4()
584 f[0] = -y[1] - y[0] * y[2] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in IFunction_Hull1972B4()
585 f[1] = y[0] - y[1] * y[2] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in IFunction_Hull1972B4()
586 f[2] = y[0] / PetscSqrtScalar(y[0] * y[0] + y[1] * y[1]); in IFunction_Hull1972B4()
587 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972B4()
589 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972B4()
594 PetscErrorCode IJacobian_Hull1972B4(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972B4() argument
596 const PetscScalar *y; in IJacobian_Hull1972B4() local
601 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972B4()
602 fac = PetscPowScalar(y[0] * y[0] + y[1] * y[1], -1.5); in IJacobian_Hull1972B4()
603 fac2 = PetscPowScalar(y[0] * y[0] + y[1] * y[1], -0.5); in IJacobian_Hull1972B4()
604 value[0][0] = a + (y[1] * y[1] * y[2]) * fac; in IJacobian_Hull1972B4()
605 value[0][1] = 1.0 - (y[0] * y[1] * y[2]) * fac; in IJacobian_Hull1972B4()
606 value[0][2] = y[0] * fac2; in IJacobian_Hull1972B4()
607 value[1][0] = -1.0 - y[0] * y[1] * y[2] * fac; in IJacobian_Hull1972B4()
608 value[1][1] = a + y[0] * y[0] * y[2] * fac; in IJacobian_Hull1972B4()
609 value[1][2] = y[1] * fac2; in IJacobian_Hull1972B4()
610 value[2][0] = -y[1] * y[1] * fac; in IJacobian_Hull1972B4()
611 value[2][1] = y[0] * y[1] * fac; in IJacobian_Hull1972B4()
616 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972B4()
622 PetscErrorCode RHSFunction_Hull1972B5(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972B5() argument
625 const PetscScalar *y; in RHSFunction_Hull1972B5() local
628 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972B5()
630 f[0] = y[1] * y[2]; in RHSFunction_Hull1972B5()
631 f[1] = -y[0] * y[2]; in RHSFunction_Hull1972B5()
632 f[2] = -0.51 * y[0] * y[1]; in RHSFunction_Hull1972B5()
633 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972B5()
638 PetscErrorCode IFunction_Hull1972B5(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972B5() argument
641 const PetscScalar *y; in IFunction_Hull1972B5() local
644 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972B5()
646 f[0] = y[1] * y[2]; in IFunction_Hull1972B5()
647 f[1] = -y[0] * y[2]; in IFunction_Hull1972B5()
648 f[2] = -0.51 * y[0] * y[1]; in IFunction_Hull1972B5()
649 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972B5()
651 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972B5()
656 PetscErrorCode IJacobian_Hull1972B5(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972B5() argument
658 const PetscScalar *y; in IJacobian_Hull1972B5() local
663 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972B5()
665 value[0][1] = -y[2]; in IJacobian_Hull1972B5()
666 value[0][2] = -y[1]; in IJacobian_Hull1972B5()
667 value[1][0] = y[2]; in IJacobian_Hull1972B5()
669 value[1][2] = y[0]; in IJacobian_Hull1972B5()
670 value[2][0] = 0.51 * y[1]; in IJacobian_Hull1972B5()
671 value[2][1] = 0.51 * y[0]; in IJacobian_Hull1972B5()
676 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972B5()
682 PetscErrorCode RHSFunction_Kulikov2013I(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Kulikov2013I() argument
685 const PetscScalar *y; in RHSFunction_Kulikov2013I() local
688 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Kulikov2013I()
690 f[0] = 2. * t * PetscPowScalar(y[1], 1. / 5.) * y[3]; in RHSFunction_Kulikov2013I()
691 f[1] = 10. * t * y[3] * PetscExpScalar(5.0 * (y[2] - 1.)); in RHSFunction_Kulikov2013I()
692 f[2] = 2. * t * y[3]; in RHSFunction_Kulikov2013I()
693 f[3] = -2. * t * PetscLogScalar(y[0]); in RHSFunction_Kulikov2013I()
694 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Kulikov2013I()
699 PetscErrorCode RHSJacobian_Kulikov2013I(TS ts, PetscReal t, Vec Y, Mat A, Mat B, void *s) in RHSJacobian_Kulikov2013I() argument
701 const PetscScalar *y; in RHSJacobian_Kulikov2013I() local
707 PetscCall(VecGetArrayRead(Y, &y)); in RHSJacobian_Kulikov2013I()
708 m1 = (2. * t * y[3]) / (5. * PetscPowScalar(y[1], 4. / 5.)); in RHSJacobian_Kulikov2013I()
709 m2 = 2. * t * PetscPowScalar(y[1], 1. / 5.); in RHSJacobian_Kulikov2013I()
714 m1 = 50. * t * y[3] * PetscExpScalar(5.0 * (y[2] - 1.)); in RHSJacobian_Kulikov2013I()
715 m2 = 10. * t * PetscExpScalar(5.0 * (y[2] - 1.)); in RHSJacobian_Kulikov2013I()
724 value[3][0] = -2. * t / y[0]; in RHSJacobian_Kulikov2013I()
731 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSJacobian_Kulikov2013I()
735 PetscErrorCode IFunction_Kulikov2013I(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Kulikov2013I() argument
738 const PetscScalar *y; in IFunction_Kulikov2013I() local
741 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Kulikov2013I()
743 f[0] = 2. * t * PetscPowScalar(y[1], 1. / 5.) * y[3]; in IFunction_Kulikov2013I()
744 f[1] = 10. * t * y[3] * PetscExpScalar(5.0 * (y[2] - 1.)); in IFunction_Kulikov2013I()
745 f[2] = 2. * t * y[3]; in IFunction_Kulikov2013I()
746 f[3] = -2. * t * PetscLogScalar(y[0]); in IFunction_Kulikov2013I()
747 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Kulikov2013I()
749 /* Left hand side = ydot - f(y) */ in IFunction_Kulikov2013I()
754 PetscErrorCode IJacobian_Kulikov2013I(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat … in IJacobian_Kulikov2013I() argument
756 const PetscScalar *y; in IJacobian_Kulikov2013I() local
762 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Kulikov2013I()
763 m1 = (2. * t * y[3]) / (5. * PetscPowScalar(y[1], 4. / 5.)); in IJacobian_Kulikov2013I()
764 m2 = 2. * t * PetscPowScalar(y[1], 1. / 5.); in IJacobian_Kulikov2013I()
769 m1 = 50. * t * y[3] * PetscExpScalar(5.0 * (y[2] - 1.)); in IJacobian_Kulikov2013I()
770 m2 = 10. * t * PetscExpScalar(5.0 * (y[2] - 1.)); in IJacobian_Kulikov2013I()
779 value[3][0] = -2. * t / y[0]; in IJacobian_Kulikov2013I()
786 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Kulikov2013I()
792 PetscErrorCode RHSFunction_Hull1972C1(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972C1() argument
795 const PetscScalar *y; in RHSFunction_Hull1972C1() local
799 PetscCall(VecGetSize(Y, &N)); in RHSFunction_Hull1972C1()
800 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972C1()
802 f[0] = -y[0]; in RHSFunction_Hull1972C1()
803 for (i = 1; i < N - 1; i++) f[i] = y[i - 1] - y[i]; in RHSFunction_Hull1972C1()
804 f[N - 1] = y[N - 2]; in RHSFunction_Hull1972C1()
805 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972C1()
810 PetscErrorCode IFunction_Hull1972C1(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972C1() argument
813 const PetscScalar *y; in IFunction_Hull1972C1() local
817 PetscCall(VecGetSize(Y, &N)); in IFunction_Hull1972C1()
818 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972C1()
820 f[0] = -y[0]; in IFunction_Hull1972C1()
821 for (i = 1; i < N - 1; i++) f[i] = y[i - 1] - y[i]; in IFunction_Hull1972C1()
822 f[N - 1] = y[N - 2]; in IFunction_Hull1972C1()
823 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972C1()
825 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972C1()
830 PetscErrorCode IJacobian_Hull1972C1(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972C1() argument
832 const PetscScalar *y; in IJacobian_Hull1972C1() local
837 PetscCall(VecGetSize(Y, &N)); in IJacobian_Hull1972C1()
838 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972C1()
860 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972C1()
866 PetscErrorCode RHSFunction_Hull1972C2(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972C2() argument
868 const PetscScalar *y; in RHSFunction_Hull1972C2() local
873 PetscCall(VecGetSize(Y, &N)); in RHSFunction_Hull1972C2()
874 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972C2()
876 f[0] = -y[0]; in RHSFunction_Hull1972C2()
877 for (i = 1; i < N - 1; i++) f[i] = (PetscReal)i * y[i - 1] - (PetscReal)(i + 1) * y[i]; in RHSFunction_Hull1972C2()
878 f[N - 1] = (PetscReal)(N - 1) * y[N - 2]; in RHSFunction_Hull1972C2()
879 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972C2()
884 PetscErrorCode IFunction_Hull1972C2(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972C2() argument
887 const PetscScalar *y; in IFunction_Hull1972C2() local
891 PetscCall(VecGetSize(Y, &N)); in IFunction_Hull1972C2()
892 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972C2()
894 f[0] = -y[0]; in IFunction_Hull1972C2()
895 for (i = 1; i < N - 1; i++) f[i] = (PetscReal)i * y[i - 1] - (PetscReal)(i + 1) * y[i]; in IFunction_Hull1972C2()
896 f[N - 1] = (PetscReal)(N - 1) * y[N - 2]; in IFunction_Hull1972C2()
897 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972C2()
899 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972C2()
904 PetscErrorCode IJacobian_Hull1972C2(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B,… in IJacobian_Hull1972C2() argument
906 const PetscScalar *y; in IJacobian_Hull1972C2() local
911 PetscCall(VecGetSize(Y, &N)); in IJacobian_Hull1972C2()
912 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972C2()
934 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972C2()
940 PetscErrorCode RHSFunction_Hull1972C34(TS ts, PetscReal t, Vec Y, Vec F, void *s) in RHSFunction_Hull1972C34() argument
943 const PetscScalar *y; in RHSFunction_Hull1972C34() local
947 PetscCall(VecGetSize(Y, &N)); in RHSFunction_Hull1972C34()
948 PetscCall(VecGetArrayRead(Y, &y)); in RHSFunction_Hull1972C34()
950 f[0] = -2.0 * y[0] + y[1]; in RHSFunction_Hull1972C34()
951 for (i = 1; i < N - 1; i++) f[i] = y[i - 1] - 2.0 * y[i] + y[i + 1]; in RHSFunction_Hull1972C34()
952 f[N - 1] = y[N - 2] - 2.0 * y[N - 1]; in RHSFunction_Hull1972C34()
953 PetscCall(VecRestoreArrayRead(Y, &y)); in RHSFunction_Hull1972C34()
958 PetscErrorCode IFunction_Hull1972C34(TS ts, PetscReal t, Vec Y, Vec Ydot, Vec F, void *s) in IFunction_Hull1972C34() argument
961 const PetscScalar *y; in IFunction_Hull1972C34() local
965 PetscCall(VecGetSize(Y, &N)); in IFunction_Hull1972C34()
966 PetscCall(VecGetArrayRead(Y, &y)); in IFunction_Hull1972C34()
968 f[0] = -2.0 * y[0] + y[1]; in IFunction_Hull1972C34()
969 for (i = 1; i < N - 1; i++) f[i] = y[i - 1] - 2.0 * y[i] + y[i + 1]; in IFunction_Hull1972C34()
970 f[N - 1] = y[N - 2] - 2.0 * y[N - 1]; in IFunction_Hull1972C34()
971 PetscCall(VecRestoreArrayRead(Y, &y)); in IFunction_Hull1972C34()
973 /* Left hand side = ydot - f(y) */ in IFunction_Hull1972C34()
978 PetscErrorCode IJacobian_Hull1972C34(TS ts, PetscReal t, Vec Y, Vec Ydot, PetscReal a, Mat A, Mat B… in IJacobian_Hull1972C34() argument
980 const PetscScalar *y; in IJacobian_Hull1972C34() local
985 PetscCall(VecGetSize(Y, &N)); in IJacobian_Hull1972C34()
986 PetscCall(VecGetArrayRead(Y, &y)); in IJacobian_Hull1972C34()
1014 PetscCall(VecRestoreArrayRead(Y, &y)); in IJacobian_Hull1972C34()
1021 PetscErrorCode Initialize(Vec Y, void *s) in Initialize() argument
1024 PetscScalar *y; in Initialize() local
1031 PetscCall(VecZeroEntries(Y)); in Initialize()
1032 PetscCall(VecGetArray(Y, &y)); in Initialize()
1034 y[0] = 1.0; in Initialize()
1040 y[0] = 1.0; in Initialize()
1046 y[0] = 1.0; in Initialize()
1052 y[0] = 1.0; in Initialize()
1058 y[0] = 4.0; in Initialize()
1064 y[0] = 1.0; in Initialize()
1065 y[1] = 3.0; in Initialize()
1070 y[0] = 2.0; in Initialize()
1071 y[1] = 0.0; in Initialize()
1072 y[2] = 1.0; in Initialize()
1077 y[0] = 1.0; in Initialize()
1078 y[1] = 0.0; in Initialize()
1079 y[2] = 0.0; in Initialize()
1084 y[0] = 3.0; in Initialize()
1085 y[1] = 0.0; in Initialize()
1086 y[2] = 0.0; in Initialize()
1091 y[0] = 0.0; in Initialize()
1092 y[1] = 1.0; in Initialize()
1093 y[2] = 1.0; in Initialize()
1099 y[0] = PetscExpReal(PetscSinReal(t0 * t0)); in Initialize()
1100 y[1] = PetscExpReal(5. * PetscSinReal(t0 * t0)); in Initialize()
1101 y[2] = PetscSinReal(t0 * t0) + 1.0; in Initialize()
1102 y[3] = PetscCosReal(t0 * t0); in Initialize()
1108 y[0] = 1.0; in Initialize()
1113 y[0] = 1.0; in Initialize()
1118 y[0] = 1.0; in Initialize()
1123 PetscCall(PetscOptionsGetScalarArray(NULL, NULL, "-yinit", y, &N, &flg)); in Initialize()
1124 PetscCall(VecRestoreArray(Y, &y)); in Initialize()
1129 PetscErrorCode ExactSolution(Vec Y, void *s, PetscReal t, PetscBool *flag) in ExactSolution() argument
1132 PetscScalar *y; in ExactSolution() local
1136 PetscCall(VecGetArray(Y, &y)); in ExactSolution()
1137 y[0] = PetscExpReal(-t); in ExactSolution()
1139 PetscCall(VecRestoreArray(Y, &y)); in ExactSolution()
1141 PetscCall(VecGetArray(Y, &y)); in ExactSolution()
1142 y[0] = 1.0 / PetscSqrtReal(t + 1); in ExactSolution()
1144 PetscCall(VecRestoreArray(Y, &y)); in ExactSolution()
1146 PetscCall(VecGetArray(Y, &y)); in ExactSolution()
1147 y[0] = PetscExpReal(PetscSinReal(t)); in ExactSolution()
1149 PetscCall(VecRestoreArray(Y, &y)); in ExactSolution()
1151 PetscCall(VecGetArray(Y, &y)); in ExactSolution()
1152 y[0] = 20.0 / (1 + 19.0 * PetscExpReal(-t / 4.0)); in ExactSolution()
1154 PetscCall(VecRestoreArray(Y, &y)); in ExactSolution()
1156 PetscCall(VecGetArray(Y, &y)); in ExactSolution()
1157 y[0] = PetscExpReal(PetscSinReal(t * t)); in ExactSolution()
1158 y[1] = PetscExpReal(5. * PetscSinReal(t * t)); in ExactSolution()
1159 y[2] = PetscSinReal(t * t) + 1.0; in ExactSolution()
1160 y[3] = PetscCosReal(t * t); in ExactSolution()
1162 PetscCall(VecRestoreArray(Y, &y)); in ExactSolution()
1164 PetscCall(VecSet(Y, 0)); in ExactSolution()
1174 Vec Y; /* Solution vector */ in SolveODE() local
1186 PetscCall(VecCreate(PETSC_COMM_WORLD, &Y)); in SolveODE()
1187 PetscCall(VecSetSizes(Y, N, PETSC_DECIDE)); in SolveODE()
1188 PetscCall(VecSetUp(Y)); in SolveODE()
1189 PetscCall(VecSet(Y, 0)); in SolveODE()
1192 PetscCall(Initialize(Y, &ptype[0])); in SolveODE()
1205 PetscCall(TSSetSolution(ts, Y)); in SolveODE()
1210 /* Explicit time-integration -> specify right-hand side function ydot = f(y) */ in SolveODE()
1218 /* Implicit time-integration -> specify left-hand side function ydot-f(y) = 0 */ in SolveODE()
1229 PetscCall(TSSolve(ts, Y)); in SolveODE()
1233 PetscCall(VecDuplicate(Y, &Yerr)); in SolveODE()
1241 PetscCall(VecDuplicate(Y, &Yex)); in SolveODE()
1246 PetscCall(VecAYPX(Yex, -1.0, Y)); in SolveODE()
1254 PetscCall(VecDestroy(&Y)); in SolveODE()