|
419 | 419 | "relative_gradient",
|
420 | 420 | "line_search"
|
421 | 421 | ],
|
422 |
| - "doc": "//TODO" |
| 422 | + "doc": "Settings for nonlinear solver" |
423 | 423 | },
|
424 | 424 | {
|
425 | 425 | "pointers": "/solver/nonlinear/solver",
|
426 | 426 | "default": "newton",
|
427 | 427 | "type": "string",
|
428 |
| - "doc": "//TODO" |
| 428 | + "doc": "Nonlinear solver type" |
429 | 429 | },
|
430 | 430 | {
|
431 | 431 | "pointers": "/solver/nonlinear/f_delta",
|
|
437 | 437 | "pointers": "/solver/nonlinear/grad_norm",
|
438 | 438 | "default": 1e-08,
|
439 | 439 | "type": "float",
|
440 |
| - "doc": "//TODO" |
| 440 | + "doc": "Grad norm tolerance for the nonlinear solver" |
441 | 441 | },
|
442 | 442 | {
|
443 | 443 | "pointers": "/solver/nonlinear/max_iterations",
|
444 | 444 | "default": 1000,
|
445 | 445 | "type": "int",
|
446 |
| - "doc": "//TODO" |
| 446 | + "doc": "Maximum iterations of new steps for one timestep" |
447 | 447 | },
|
448 | 448 | {
|
449 | 449 | "pointers": "/solver/nonlinear/use_grad_norm",
|
|
465 | 465 | "method",
|
466 | 466 | "use_grad_norm_tol"
|
467 | 467 | ],
|
468 |
| - "doc": "//TODO" |
| 468 | + "doc": "Settings for line searcher" |
469 | 469 | },
|
470 | 470 | {
|
471 | 471 | "pointers": "/solver/nonlinear/line_search/method",
|
472 | 472 | "default": "backtracking",
|
473 | 473 | "type": "string",
|
474 |
| - "doc": "//TODO" |
| 474 | + "doc": "line search type" |
475 | 475 | },
|
476 | 476 | {
|
477 | 477 | "pointers": "/solver/nonlinear/line_search/use_grad_norm_tol",
|
|
519 | 519 | "barrier_stiffness",
|
520 | 520 | "lagged_damping_weight"
|
521 | 521 | ],
|
522 |
| - "doc": "//TODO" |
| 522 | + "doc": "Settings for solver to handle contacts" |
523 | 523 | },
|
524 | 524 | {
|
525 | 525 | "pointers": "/solver/contact/CCD",
|
|
548 | 548 | "pointers": "/solver/contact/CCD/max_iterations",
|
549 | 549 | "default": 1000000.0,
|
550 | 550 | "type": "float",
|
551 |
| - "doc": "//TODO" |
| 551 | + "doc": "Maximum iterations for continuous collision detection" |
552 | 552 | },
|
553 | 553 | {
|
554 | 554 | "pointers": "/solver/contact/friction_iterations",
|
555 | 555 | "default": 1,
|
556 | 556 | "type": "int",
|
557 |
| - "doc": "//TODO" |
| 557 | + "doc": "Maximum iterations to solve frictions" |
558 | 558 | },
|
559 | 559 | {
|
560 | 560 | "pointers": "/solver/contact/friction_convergence_tol",
|
561 | 561 | "default": 0.01,
|
562 | 562 | "type": "float",
|
563 |
| - "doc": "//TODO" |
| 563 | + "doc": "Tolerence for friction convergence" |
564 | 564 | },
|
565 | 565 | {
|
566 | 566 | "pointers": "/solver/contact/barrier_stiffness",
|
567 | 567 | "default": "adaptive",
|
568 | 568 | "type": "string",
|
569 |
| - "doc": "//TODO" |
| 569 | + "doc": "The coefficient of clamped log-barrier function" |
570 | 570 | },
|
571 | 571 | {
|
572 | 572 | "pointers": "/solver/contact/lagged_damping_weight",
|
|
588 | 588 | "cache_size",
|
589 | 589 | "lump_mass_matrix"
|
590 | 590 | ],
|
591 |
| - "doc": "//TODO" |
| 591 | + "doc": "Advanced settings for the solver" |
592 | 592 | },
|
593 | 593 | {
|
594 | 594 | "pointers": "/solver/advanced/cache_size",
|
|
604 | 604 | },
|
605 | 605 | {
|
606 | 606 | "pointers": "/materials",
|
607 |
| - "default": null, |
| 607 | + "type": "list", |
| 608 | + "doc": "Material Parameters lists including id, Young's modulus(E), Poisson ratio(nu), Density(rho), type()" |
| 609 | + }, |
| 610 | + { |
| 611 | + "pointer": "/materials/*", |
608 | 612 | "type": "object",
|
609 |
| - "doc": "//TODO" |
| 613 | + "required":["type"], |
| 614 | + "optional": ["id", "E", "nu", "rho", "mu", "lambda"], |
| 615 | + "doc": "Material Parameters including id, Young's modulus(E), Poisson ratio(nu), Density(rho), type()" |
| 616 | + }, |
| 617 | + { |
| 618 | + "pointer": "/materials/*/id", |
| 619 | + "type":"int", |
| 620 | + "default": "all", |
| 621 | + "doc":"id" |
| 622 | + }, |
| 623 | + { |
| 624 | + "pointer": "/materials/*/E", |
| 625 | + "type":"float", |
| 626 | + "default":"//TODO", |
| 627 | + "doc":"Young's modulus" |
| 628 | + }, |
| 629 | + { |
| 630 | + "pointer": "/materials/*/nu", |
| 631 | + "type":"float", |
| 632 | + "default":"//TODO", |
| 633 | + "doc":"Poisson ratio" |
| 634 | + }, |
| 635 | + { |
| 636 | + "pointer": "/materials/*/rho", |
| 637 | + "type":"float", |
| 638 | + "default":"//TODO", |
| 639 | + "doc":"Density" |
| 640 | + }, |
| 641 | + { |
| 642 | + "pointer": "/materials/*/type", |
| 643 | + "type":"string", |
| 644 | + "doc":"Type of material" |
| 645 | + }, |
| 646 | + { |
| 647 | + "pointer": "/materials/*/mu", |
| 648 | + "type":"float", |
| 649 | + "default":"//TODO", |
| 650 | + "doc":"//TODO" |
| 651 | + }, |
| 652 | + { |
| 653 | + "pointer": "/materials/*/lambda", |
| 654 | + "type":"float", |
| 655 | + "default":"//TODO", |
| 656 | + "doc":"//TODO" |
610 | 657 | },
|
611 | 658 | {
|
612 | 659 | "pointers": "/boundary_conditions",
|
|
619 | 666 | "pressure_boundary",
|
620 | 667 | "obstacle_displacements"
|
621 | 668 | ],
|
622 |
| - "doc": "//TODO" |
| 669 | + "doc": "The settings for boundary conditions" |
623 | 670 | },
|
624 | 671 | {
|
625 | 672 | "pointers": "/boundary_conditions/rhs",
|
626 |
| - "default": null, |
627 |
| - "type": "object", |
628 |
| - "doc": "//TODO" |
| 673 | + "default": "//TODO", |
| 674 | + "type": "float", |
| 675 | + "doc": "Right hand side of the system being solved" |
| 676 | + }, |
| 677 | + { |
| 678 | + "pointers": "/boundary_conditions/rhs", |
| 679 | + "default": "//TODO", |
| 680 | + "type": "string", |
| 681 | + "doc": "Right hand side of the system being solved" |
| 682 | + }, |
| 683 | + { |
| 684 | + "pointers": "/boundary_conditions/rhs", |
| 685 | + "default": "[]", |
| 686 | + "type": "list", |
| 687 | + "doc": "Right hand side of the system being solved" |
| 688 | + }, |
| 689 | + { |
| 690 | + "pointers": "/boundary_conditions/rhs/*", |
| 691 | + "default": 0, |
| 692 | + "type": "float", |
| 693 | + "doc": "Right hand side of the system being solved" |
| 694 | + }, |
| 695 | + { |
| 696 | + "pointers": "/boundary_conditions/rhs/*", |
| 697 | + "type": "string", |
| 698 | + "doc": "Right hand side of the system being solved" |
629 | 699 | },
|
630 | 700 | {
|
631 | 701 | "pointers": "/boundary_conditions/dirichlet_boundary",
|
632 | 702 | "default": [],
|
633 | 703 | "type": "list",
|
634 |
| - "doc": "//TODO" |
| 704 | + "doc": "The list of dirichlet boundary condition describing the displacement" |
| 705 | + }, |
| 706 | + { |
| 707 | + "pointer":"/boundary_conditions/dirichlet_boundary/*", |
| 708 | + "type":"object", |
| 709 | + "default": null, |
| 710 | + "required":[ |
| 711 | + "id", |
| 712 | + "value" |
| 713 | + ], |
| 714 | + "optional":[ |
| 715 | + "dimension" |
| 716 | + ], |
| 717 | + "doc": "Dirichlet boundary condition" |
| 718 | + }, |
| 719 | + { |
| 720 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/id", |
| 721 | + "type":"int", |
| 722 | + "doc": "id of Dirichlet boundary condition" |
| 723 | + }, |
| 724 | + { |
| 725 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/value", |
| 726 | + "type":"list", |
| 727 | + "doc": "values of Dirichlet boundary condition for each dimension" |
| 728 | + }, |
| 729 | + { |
| 730 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/value/*", |
| 731 | + "type":"string", |
| 732 | + "doc": "values of Dirichlet boundary condition for each dimension" |
| 733 | + }, |
| 734 | + { |
| 735 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/value/*", |
| 736 | + "type":"float", |
| 737 | + "doc": "values of Dirichlet boundary condition for each dimension" |
| 738 | + }, |
| 739 | + { |
| 740 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/dimension", |
| 741 | + "type":"list", |
| 742 | + "default": [true, true, true], |
| 743 | + "doc": "If the dimension is under dirichlet boundary condition" |
| 744 | + }, |
| 745 | + { |
| 746 | + "pointer":"/boundary_conditions/dirichlet_boundary/*/dimension/*", |
| 747 | + "type":"bool", |
| 748 | + "default": true, |
| 749 | + "doc": "If the dimension is under dirichlet boundary condition" |
635 | 750 | },
|
636 | 751 | {
|
637 | 752 | "pointers": "/boundary_conditions/neumann_boundary",
|
638 | 753 | "default": [],
|
639 | 754 | "type": "list",
|
640 |
| - "doc": "//TODO" |
| 755 | + "doc": "The list of neumann boundary condition describing the forces" |
| 756 | + }, |
| 757 | + { |
| 758 | + "pointer":"/boundary_conditions/neumann_boundary/*", |
| 759 | + "type":"object", |
| 760 | + "default":"//TODO", |
| 761 | + "optional":[ |
| 762 | + "id", |
| 763 | + "value", |
| 764 | + "dimension" |
| 765 | + ], |
| 766 | + "doc": "Neumann boundary condition" |
| 767 | + }, |
| 768 | + { |
| 769 | + "pointer":"/boundary_conditions/neumann_boundary/*/id", |
| 770 | + "type":"int", |
| 771 | + "default":"//TODO", |
| 772 | + "doc": "id of Neumann boundary condition" |
| 773 | + }, |
| 774 | + { |
| 775 | + "pointer":"/boundary_conditions/neumann_boundary/*/value", |
| 776 | + "type":"list", |
| 777 | + "default":"//TODO", |
| 778 | + "doc": "values of neumann boundary condition for each dimension" |
| 779 | + }, |
| 780 | + { |
| 781 | + "pointer":"/boundary_conditions/neumann_boundary/*/value/*", |
| 782 | + "type":"string", |
| 783 | + "default":"//TODO", |
| 784 | + "doc": "values of Neumann boundary condition for each dimension" |
| 785 | + }, |
| 786 | + { |
| 787 | + "pointer":"/boundary_conditions/neumann_boundary/*/value/*", |
| 788 | + "type":"float", |
| 789 | + "default":"//TODO", |
| 790 | + "doc": "values of Neumann boundary condition for each dimension" |
| 791 | + }, |
| 792 | + { |
| 793 | + "pointer":"/boundary_conditions/neumann_boundary/*/value/*", |
| 794 | + "type":"float", |
| 795 | + "default":"//TODO", |
| 796 | + "doc": "values of Neumann boundary condition for each dimension" |
| 797 | + }, |
| 798 | + { |
| 799 | + "pointer":"/boundary_conditions/neumann_boundary/*/dimension", |
| 800 | + "type":"list", |
| 801 | + "default":[true, true, true], |
| 802 | + "doc": "If the dimension is under neumann boundary condition" |
| 803 | + }, |
| 804 | + { |
| 805 | + "pointer":"/boundary_conditions/neumann_boundary/*/dimension/*", |
| 806 | + "type":"bool", |
| 807 | + "default":true, |
| 808 | + "doc": "If the dimension is under neumann boundary condition" |
641 | 809 | },
|
642 | 810 | {
|
643 | 811 | "pointers": "/boundary_conditions/pressure_boundary",
|
|
649 | 817 | "pointers": "/boundary_conditions/obstacle_displacements",
|
650 | 818 | "default": [],
|
651 | 819 | "type": "list",
|
652 |
| - "doc": "//TODO" |
| 820 | + "The list of obstacle displacements" |
| 821 | + }, |
| 822 | + { |
| 823 | + "pointer":"/boundary_conditions/obstacle_displacements/*", |
| 824 | + "type":"object", |
| 825 | + "default": null, |
| 826 | + "required":[ |
| 827 | + "id", |
| 828 | + "value" |
| 829 | + ], |
| 830 | + "doc": "Obstacle displacements" |
| 831 | + }, |
| 832 | + { |
| 833 | + "pointer":"/boundary_conditions/obstacle_displacements/*/id", |
| 834 | + "type":"int", |
| 835 | + "doc": "id of Obstacle displacements" |
| 836 | + }, |
| 837 | + { |
| 838 | + "pointer":"/boundary_conditions/obstacle_displacements/*/value", |
| 839 | + "type":"list", |
| 840 | + "doc": "values of Obstacle displacements for each dimension" |
| 841 | + }, |
| 842 | + { |
| 843 | + "pointer":"/boundary_conditions/obstacle_displacements/*/value/*", |
| 844 | + "type":"string", |
| 845 | + "doc": "values of Obstacle displacements for each dimension" |
| 846 | + }, |
| 847 | + { |
| 848 | + "pointer":"/boundary_conditions/obstacle_displacements/*/value/*", |
| 849 | + "type":"float", |
| 850 | + "doc": "values of Obstacle displacements for each dimension" |
653 | 851 | },
|
| 852 | + |
| 853 | + |
654 | 854 | {
|
655 | 855 | "pointers": "/initial_conditions",
|
656 | 856 | "default": null,
|
|
0 commit comments