Using “Toggle view” at the bottom of the 3D view, the user can visualize and edit the analysis definition JSON file. The following keywords explain the functionality of each attribute.
version #
The version keyword specifies the file version of the analysis definition file.
- compulsory
- type: string
- value: “0.1”
Example:
{ "version": "0.1" }
type #
Type of analysis.
- compulsory
- type: string
- possible values:
- linear_elastic
- thermal
Example:
{
...
"type": "linear_elastic",
...
}
domain #
Specifies the domain of computation, i.e. the geometric model of the problem.
- compulsory
- type: object
- values are explained in the following section
Example:
{ "domain":{ ... } }
domain.geometry_path #
Specifies the name of the stl file of the goemetric model of the problem.
- compulsory
- type: string
- value: name of stl file
Example:
{ "domain":{ "geometry_path": "quadcopter.stl" ... } }
domain.material #
Specifies the material properties of the domain of the problem.
- compulsory
- type: object
- value: see below
domain.material.type #
Specifies the type of material
- compulsory
- type: string
- possible values: “linear_elastic”, “heat_conduction”
domain.material.definition #
Contains the numerical values of the material of the domain.
- compulsory
- type: object
- possible values
- if domain.material.type is set to “linear_elastic”:
- E – number, Young’s modulus
- nu – number, Poisson ration
- rho – number, specific gravity
- if domain.material.type is set to “heat_conduction”:
- rho – number, coefficient of heat conduction
- kappa – number – specific heat of material
- if domain.material.type is set to “linear_elastic”:
Example:
"material": { "type":"linear_elastic", "definition": { "E": 210E9, "nu": 0.3, "rho": 27000 } }
discretization #
This attribute contains the parameters of the problem’s discretization.
- compulsory
- type: object
- possible values: see below
discretization.n_elements #
The number of elements in the background mesh:
- compulsory
- type: vector of 3 integers
- value: the number of elements in x y and z directions, respectively
discretization.p #
The polynomial order of the background elements:
- compulsory
- type: integer
- value: the polynomial order of the elements
Example
"discretization": { "n_elements": [1,2,3] "p": 2 },
boundary_conditions #
The list of boundary conditions to be applied to the problem.
- compulsory
- type: list of objects
boundary_conditions[n].component #
The space component along which the boundary condition is to be applied:
- compulsory
- type:integer
- possible values:
- 0: boundary condition in x direction
- 1: boundary condition in y direction
- 2: boundary condition in z direction
boundary_conditions[n].stl #
The name of the stl file representing the surface where the boundary condition is to be applied
- compulsory:
- type: string
- value: the name of stl file
boundary_conditions[n].type #
The type of boundary condition:
- compulsory
- type: string
- possible values: “dirichlet”, “neumann”, “elastic_support”
boundary_conditions[n].value #
The value of the boundary condition
- compusory
- type: string
- value:
- if type is “dirichlet”, the prescribed value of displacement or temperature
- if type is “neumann”, the prescribed pressure or heat flux acting along the component described in “component”
- if type is “elastic_support”, the displacement at which the elastic support is at rest
boundary_conditions[n].stiffness #
This attribute is only relevant if the boundary condition type is “elastic_support”
- type:string
- value: the stiffness of the string per unit area representing the elastic support
Example boundary conditions:
Dirichlet condition:
"boundary_conditions": [ { "component": 0, "stl": "quadcopter_dirichlet_all.stl", "type": "dirichlet", "value": 0.0 } ... ]
Elastic support conditions:
"stl": "elastic_support.stl", "component": 0, "type": "elastic_support", "value": 0.0, "stiffness": 9810
postprocessing_entities #
The list of surfaces on which postprocessing is to be performed after solving.
- compulsory
- type: list of objects
- value: as explained in the following points
postprocessing_entities[n].geometry_path #
The surface on which postprocessing is to be performed.
- compulsory
- type: string
- value: name of stl file where postprocessing needs to be done
postprocessing_entities[n].fields #
List of quantities that need to be postprocessed on the geometry given in geometry_path
- compulsory
- type: list of strings
- possible values: temperature, heat_flux, displacement, stress, von_mises
Example:
"postprocessing_entities": [ { "geometry_path": "quadcopter.stl", "fields": [ "displacement", "stress" ] } ]
gravity #
Gravity vector:
- optional
- type: vector of 3 integers
- value: the components of the gravity vector in x y and z directions
Example:
{ ... "gravity": [0,0,-1] }