flow360.ActuatorDisk#

pydantic model ActuatorDisk[source]#

ActuatorDisk class for setting up an Actuator Disk

Parameters:
  • center (Coordinate) – axis_thrust : Vector thickness : PositiveFloat force_per_area : ForcePerArea

  • center – Coordinate of center of ActuatorDisk, eg (0, 0, 0)

  • axis_thrust (Axis) – direction of thrust, it is a unit vector

  • thickness (PositiveFloat) – Thickness of Actuator Disk in mesh units

  • force_per_area (ForcePerArea) – Force per Area data for actuator disk. See ActuatorDisk.ForcePerArea for details

Returns:

An instance of the component class ActuatorDisk.

Return type:

ActuatorDisk

Example

>>> ad = ActuatorDisk(center=(0, 0, 0), axis_thrust=(0, 0, 1), thickness=20,
... force_per_area=ForcePerArea(...))
Fields:
  • axis_thrust (flow360.component.types.Vector)

  • center (Tuple[float, float, float])

  • force_per_area (flow360.component.flow360_params.flow360_params.ForcePerArea)

  • thickness (pydantic.types.PositiveFloat)

field center [Required]#
field axis_thrust [Required] (alias 'axisThrust')#
Constraints:
  • type = array

  • minItems = 3

  • maxItems = 3

  • items = [{‘type’: ‘number’}, {‘type’: ‘number’}, {‘type’: ‘number’}]

field thickness [Required]#
Constraints:
  • exclusiveMinimum = 0

field force_per_area [Required] (alias 'forcePerArea')#
Constraints:
  • title = ForcePerArea

  • description = ForcePerArea class for setting up force per area for Actuator Disk Parameters ———- radius : List[float] thrust : List[float] circumferential : List[float] Parameters ———- radius : Coordinate Radius of the sampled locations in grid unit thrust : Axis Force per area in the axial direction, positive means the axial force follows the same direction as axisThrust. It is non-dimensional: trustPerArea[SI=N/m2]/rho_inf/C_inf^2 circumferential : PositiveFloat Force per area in the circumferential direction, positive means the circumferential force follows the same direction as axisThrust with the right hand rule. It is non-dimensional: circumferentialForcePerArea[SI=N/m2]/rho_inf/C_inf^2 Returns ——- ForcePerArea An instance of the component class ForcePerArea. Example ——- >>> fpa = ForcePerArea(radius=[0, 1], thrust=[1, 1], circumferential=[1, 1]) # doctest: +SKIP

  • type = object

  • properties = {‘radius’: {‘title’: ‘Radius’, ‘type’: ‘array’, ‘items’: {‘type’: ‘number’}}, ‘thrust’: {‘title’: ‘Thrust’, ‘type’: ‘array’, ‘items’: {‘type’: ‘number’}}, ‘circumferential’: {‘title’: ‘Circumferential’, ‘type’: ‘array’, ‘items’: {‘type’: ‘number’}}, ‘_type’: {‘title’: ‘ Type’, ‘default’: ‘ForcePerArea’, ‘enum’: [‘ForcePerArea’], ‘type’: ‘string’}}

  • required = [‘radius’, ‘thrust’, ‘circumferential’]

  • additionalProperties = False

classmethod add_type_field()#

Automatically place “type” field with model name in the model field dictionary.

append(params, overwrite=False)#

append parametrs to the model

Parameters:
  • params (Flow360BaseModel) – Flow360BaseModel parameters to be appended

  • overwrite (bool, optional) – Whether to overwrite if key exists, by default False

classmethod construct(_fields_set=None, **values)#

Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values

copy(update=None, **kwargs)#

Copy a Flow360BaseModel. With deep=True as default.

dict(*args, exclude=None, **kwargs)#

Returns dict representation of the model.

Parameters:
  • *args – Arguments passed to pydantic’s dict method.

  • **kwargs – Keyword arguments passed to pydantic’s dict method.

Returns:

A formatted dict.

Return type:

dict

Example

>>> params.dict() 
classmethod dict_from_file(filename)#

Loads a dictionary containing the model from a .json or .yaml file.

Parameters:

filename (str) – Full path to the .yaml or .json file to load the Flow360BaseModel from.

Returns:

A dictionary containing the model.

Return type:

dict

Example

>>> params = Flow360Params.from_file(filename='folder/flow360.json') 
classmethod flow360_schema()#

Generate a schema json string for the flow360 model

classmethod flow360_ui_schema()#

Generate a UI schema json string for the flow360 model

classmethod from_file(filename)#

Loads a Flow360BaseModel from .json, or .yaml file.

Parameters:

filename (str) – Full path to the .yaml or .json file to load the Flow360BaseModel from.

Returns:

An instance of the component class calling load.

Return type:

Flow360BaseModel

Example

>>> simulation = Simulation.from_file(filename='folder/sim.json') 
classmethod from_json(filename, **parse_obj_kwargs)#

Load a Flow360BaseModel from .json file.

Parameters:

filename (str) – Full path to the .json file to load the Flow360BaseModel from.

Returns:

  • Flow360BaseModel – An instance of the component class calling load.

  • **parse_obj_kwargs – Keyword arguments passed to pydantic’s parse_obj method.

Example

>>> params = Flow360Params.from_json(filename='folder/flow360.json') 
classmethod from_orm(obj)#
classmethod from_yaml(filename, **parse_obj_kwargs)#

Loads Flow360BaseModel from .yaml file.

Parameters:
  • filename (str) – Full path to the .yaml file to load the Flow360BaseModel from.

  • **parse_obj_kwargs – Keyword arguments passed to pydantic’s parse_obj method.

Returns:

An instance of the component class calling from_yaml.

Return type:

Flow360BaseModel

Example

>>> params = Flow360Params.from_yaml(filename='folder/flow360.yaml') 
classmethod generate_docstring()#

Generates a docstring for a Flow360 model and saves it to the __doc__ of the class.

help(methods=False)#

Prints message describing the fields and methods of a Flow360BaseModel.

Parameters:

methods (bool = False) – Whether to also print out information about object’s methods.

Example

>>> solver_params.help(methods=True) 
json(*args, exclude=None, **kwargs)#

Returns json representation of the model.

Parameters:
  • *args – Arguments passed to pydantic’s json method.

  • **kwargs – Keyword arguments passed to pydantic’s json method.

Returns:

A formatted json. Sets default vaules by_alias=True, exclude_none=True

Return type:

json

Example

>>> params.json() 
classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)#
classmethod parse_obj(obj)#
classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)#
classmethod schema(by_alias=True, ref_template='#/definitions/{model}')#
classmethod schema_json(*, by_alias=True, ref_template='#/definitions/{model}', **dumps_kwargs)#
set_will_export_to_flow360(flag)#

Recursivly sets flag will_export_to_flow360

Parameters:

flag (bool) – set to true before exporting to flow360 json

to_file(filename)#

Exports Flow360BaseModel instance to .json or .yaml file

Parameters:

filename (str) – Full path to the .json or .yaml or file to save the Flow360BaseModel to.

Example

>>> params.to_file(filename='folder/flow360.json') 
to_json(filename)#

Exports Flow360BaseModel instance to .json file

Parameters:

filename (str) – Full path to the .json file to save the Flow360BaseModel to.

Example

>>> params.to_json(filename='folder/flow360.json') 
to_solver(params, exclude=None, required_by=None)#

Loops through all fields, for Flow360BaseModel runs .to_solver() recusrively. For dimensioned value performs

unit conversion to flow360_base system.

Parameters:
  • params (Flow360Params) – Full config definition as Flow360Params.

  • exclude (List[str] (optional)) – List of fields to ignore on returned model.

  • required_by (List[str] (optional)) – Path to property which requires conversion.

Returns:

returns caller class with units all in flow360 base unit system

Return type:

caller class

to_yaml(filename)#

Exports Flow360BaseModel instance to .yaml file.

Parameters:

filename (str) – Full path to the .yaml file to save the Flow360BaseModel to.

Example

>>> params.to_yaml(filename='folder/flow360.yaml') 
classmethod update_forward_refs(**localns)#

Try to update ForwardRefs on fields based on this Model, globalns and localns.

classmethod validate(value)#