Skip to content

Commit bf765ab

Browse files
bug fixes and first realistic example
1 parent 73674dd commit bf765ab

File tree

13 files changed

+268
-161
lines changed

13 files changed

+268
-161
lines changed

.vscode/launch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"type": "cppdbg",
77
"request": "launch",
88
"program": "/home/daniele/git/simple-json-validator/build/tests/unit_tests",
9-
"args": [],
9+
"args": ["file_01"],
1010
"stopAtEntry": false,
1111
"cwd": "/home/daniele/git/simple-json-validator/build/",
1212
"environment": [],

data/dummy.msh

Whitespace-only changes.

data/dummy.obj

Whitespace-only changes.

data/dummy.txt

Whitespace-only changes.

data/input-rules.json

Lines changed: 0 additions & 68 deletions
This file was deleted.

data/input.json

Lines changed: 0 additions & 62 deletions
This file was deleted.

data/input_01.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"geometry": [
3+
{
4+
"mesh": "../data/dummy.obj",
5+
"transformation": {
6+
"translation": [
7+
0,
8+
0
9+
],
10+
"rotation": -30,
11+
"scale": [
12+
5,
13+
0.02
14+
]
15+
},
16+
"volume_selection": 1,
17+
"surface_selection": 1,
18+
"n_refs": 0,
19+
"advanced": {
20+
"normalize_mesh": false
21+
}
22+
},
23+
{
24+
"mesh": "../data/dummy.msh",
25+
"transformation": {
26+
"translation": [
27+
0.26,
28+
0.4503
29+
],
30+
"rotation": -30,
31+
"scale": 1.0
32+
},
33+
"volume_selection": "../data/dummy.txt",
34+
"surface_selection": 2,
35+
"n_refs": 0,
36+
"advanced": {
37+
"normalize_mesh": false
38+
}
39+
}
40+
]
41+
}

data/input_02.json

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
"geometry": [
3+
{
4+
"mesh": "../../../meshes/2D/simple/square.obj",
5+
"transformation": {
6+
"translation": [
7+
0,
8+
0
9+
],
10+
"rotation": -30,
11+
"scale": [
12+
5,
13+
0.02
14+
]
15+
},
16+
"volume_selection": 1,
17+
"surface_selection": 1,
18+
"n_refs": 0,
19+
"advanced": {
20+
"normalize_mesh": false
21+
}
22+
},
23+
{
24+
"mesh": "../../../meshes/2D/simple/square1K.msh",
25+
"transformation": {
26+
"translation": [
27+
0.26,
28+
0.4503
29+
],
30+
"rotation": -30,
31+
"scale": 1.0
32+
},
33+
"volume_selection": 2,
34+
"surface_selection": 2,
35+
"n_refs": 0,
36+
"advanced": {
37+
"normalize_mesh": false
38+
}
39+
}
40+
],
41+
"space": {
42+
"discr_order": 1
43+
},
44+
"contact": {
45+
"enabled": true,
46+
"dhat": 0.001,
47+
"friction_coefficient": 0.6
48+
},
49+
"solver": {
50+
"linear": {
51+
"solver": "Eigen::PardisoLDLT"
52+
},
53+
"nonlinear": {
54+
"line_search": {
55+
"method": "backtracking"
56+
},
57+
"f_delta": 1e-15,
58+
"grad_norm": 1e-05,
59+
"max_iterations": 300,
60+
"use_grad_norm": true
61+
},
62+
"contact": {
63+
"friction_iterations": 10,
64+
"friction_convergence_tol": 0.01,
65+
"barrier_stiffness": 1000000000.0,
66+
"lagged_damping_weight": 10
67+
}
68+
},
69+
"boundary_conditions": {
70+
"rhs": [
71+
0,
72+
9.81
73+
],
74+
"dirichlet_boundary": [
75+
{
76+
"id": 1,
77+
"value": [
78+
0,
79+
0
80+
]
81+
}
82+
]
83+
},
84+
"materials": [
85+
{
86+
"id": 1,
87+
"E": 70000000.0,
88+
"nu": 0.48,
89+
"rho": 1240,
90+
"type": "NeoHookean"
91+
},
92+
{
93+
"id": 2,
94+
"E": 70000000.0,
95+
"nu": 0.48,
96+
"rho": 1240,
97+
"type": "NeoHookean"
98+
}
99+
],
100+
"output": {
101+
"paraview": {
102+
"file_name": "sol.vtu",
103+
"options": {
104+
"material": true
105+
}
106+
},
107+
"advanced": {
108+
"save_solve_sequence_debug": true,
109+
"save_time_sequence": false,
110+
"save_nl_solve_sequence": false
111+
}
112+
}
113+
}

data/rules_01.json

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
[
2+
{
3+
"pointer": "/",
4+
"type": "object",
5+
"required": ["geometry"],
6+
"doc": "Root of the configuration file."
7+
},
8+
{
9+
"pointer": "/geometry/",
10+
"type": "object",
11+
"required": ["mesh"],
12+
"doc": "Each geometry object stores a mesh, a set of transformations applied to it after loading, and a set of selections, which can be used to specify boundary conditions and materials."
13+
},
14+
{
15+
"pointer": "/geometry/mesh/",
16+
"type": "file",
17+
"extensions": [".obj",".msh"],
18+
"doc": "Path of the mesh file to load."
19+
},
20+
{
21+
"pointer": "/geometry/transformation/",
22+
"type": "object",
23+
"doc": "Geometric transformations applied to the geometry after loading it."
24+
},
25+
{
26+
"pointer": "/geometry/transformation/translation/",
27+
"type": "float",
28+
"doc": "Translation vector (2 entries for 2D problems, 3 entries for 3D problems)."
29+
},
30+
{
31+
"pointer": "/geometry/transformation/rotation/",
32+
"type": "float"
33+
},
34+
{
35+
"pointer": "/geometry/transformation/scale/",
36+
"type": "float"
37+
},
38+
{
39+
"pointer": "/geometry/volume_selection/",
40+
"type": "int"
41+
},
42+
{
43+
"pointer": "/geometry/volume_selection/",
44+
"type": "file",
45+
"extensions": [".txt"]
46+
},
47+
{
48+
"pointer": "/geometry/surface_selection/",
49+
"type": "int"
50+
},
51+
{
52+
"pointer": "/geometry/surface_selection/",
53+
"type": "file",
54+
"extensions": [".txt"]
55+
},
56+
{
57+
"pointer": "/geometry/n_refs/",
58+
"type": "int"
59+
},
60+
{
61+
"pointer": "/geometry/advanced/",
62+
"type": "object"
63+
},
64+
{
65+
"pointer": "/geometry/advanced/normalize_mesh/",
66+
"type": "bool"
67+
}
68+
69+
]

0 commit comments

Comments
 (0)