Skip to content

Commit 7b3cd32

Browse files
some new rules
1 parent b250f13 commit 7b3cd32

File tree

1 file changed

+221
-21
lines changed

1 file changed

+221
-21
lines changed

data/default_rules.json

Lines changed: 221 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -419,13 +419,13 @@
419419
"relative_gradient",
420420
"line_search"
421421
],
422-
"doc": "//TODO"
422+
"doc": "Settings for nonlinear solver"
423423
},
424424
{
425425
"pointers": "/solver/nonlinear/solver",
426426
"default": "newton",
427427
"type": "string",
428-
"doc": "//TODO"
428+
"doc": "Nonlinear solver type"
429429
},
430430
{
431431
"pointers": "/solver/nonlinear/f_delta",
@@ -437,13 +437,13 @@
437437
"pointers": "/solver/nonlinear/grad_norm",
438438
"default": 1e-08,
439439
"type": "float",
440-
"doc": "//TODO"
440+
"doc": "Grad norm tolerance for the nonlinear solver"
441441
},
442442
{
443443
"pointers": "/solver/nonlinear/max_iterations",
444444
"default": 1000,
445445
"type": "int",
446-
"doc": "//TODO"
446+
"doc": "Maximum iterations of new steps for one timestep"
447447
},
448448
{
449449
"pointers": "/solver/nonlinear/use_grad_norm",
@@ -465,13 +465,13 @@
465465
"method",
466466
"use_grad_norm_tol"
467467
],
468-
"doc": "//TODO"
468+
"doc": "Settings for line searcher"
469469
},
470470
{
471471
"pointers": "/solver/nonlinear/line_search/method",
472472
"default": "backtracking",
473473
"type": "string",
474-
"doc": "//TODO"
474+
"doc": "line search type"
475475
},
476476
{
477477
"pointers": "/solver/nonlinear/line_search/use_grad_norm_tol",
@@ -519,7 +519,7 @@
519519
"barrier_stiffness",
520520
"lagged_damping_weight"
521521
],
522-
"doc": "//TODO"
522+
"doc": "Settings for solver to handle contacts"
523523
},
524524
{
525525
"pointers": "/solver/contact/CCD",
@@ -548,25 +548,25 @@
548548
"pointers": "/solver/contact/CCD/max_iterations",
549549
"default": 1000000.0,
550550
"type": "float",
551-
"doc": "//TODO"
551+
"doc": "Maximum iterations for continuous collision detection"
552552
},
553553
{
554554
"pointers": "/solver/contact/friction_iterations",
555555
"default": 1,
556556
"type": "int",
557-
"doc": "//TODO"
557+
"doc": "Maximum iterations to solve frictions"
558558
},
559559
{
560560
"pointers": "/solver/contact/friction_convergence_tol",
561561
"default": 0.01,
562562
"type": "float",
563-
"doc": "//TODO"
563+
"doc": "Tolerence for friction convergence"
564564
},
565565
{
566566
"pointers": "/solver/contact/barrier_stiffness",
567567
"default": "adaptive",
568568
"type": "string",
569-
"doc": "//TODO"
569+
"doc": "The coefficient of clamped log-barrier function"
570570
},
571571
{
572572
"pointers": "/solver/contact/lagged_damping_weight",
@@ -588,7 +588,7 @@
588588
"cache_size",
589589
"lump_mass_matrix"
590590
],
591-
"doc": "//TODO"
591+
"doc": "Advanced settings for the solver"
592592
},
593593
{
594594
"pointers": "/solver/advanced/cache_size",
@@ -604,9 +604,56 @@
604604
},
605605
{
606606
"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/*",
608612
"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"
610657
},
611658
{
612659
"pointers": "/boundary_conditions",
@@ -619,25 +666,146 @@
619666
"pressure_boundary",
620667
"obstacle_displacements"
621668
],
622-
"doc": "//TODO"
669+
"doc": "The settings for boundary conditions"
623670
},
624671
{
625672
"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"
629699
},
630700
{
631701
"pointers": "/boundary_conditions/dirichlet_boundary",
632702
"default": [],
633703
"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"
635750
},
636751
{
637752
"pointers": "/boundary_conditions/neumann_boundary",
638753
"default": [],
639754
"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"
641809
},
642810
{
643811
"pointers": "/boundary_conditions/pressure_boundary",
@@ -649,8 +817,40 @@
649817
"pointers": "/boundary_conditions/obstacle_displacements",
650818
"default": [],
651819
"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"
653851
},
852+
853+
654854
{
655855
"pointers": "/initial_conditions",
656856
"default": null,

0 commit comments

Comments
 (0)