luminarycloud.params.simulation

Submodules

Classes

AdaptiveMeshRefinement

Adaptive Mesh Refinement

Adjoint

Settings for adjoint sensitivity analysis.

BodyFrame

Body frame.

EntityRelationships

Relationships between different entities.

General

Basic parameters used by a solution.

MaterialEntity

Material entity.

MonitorPlane

Monitor plane.

MotionData

Motion data.

MultiPhysicsCouplingOptions

Defines coupling solution strategies between different physics.

Output

Solution output settings.

ParticleGroup

Particle groups.

Physics

Single physics solver entity.

SimulationParam

Simulation configuration that supports multiple physics.

SlidingInterfaces

Defines the two sides that form a sliding interface. The two sides are abutting, possibly in combination with a periodic transformation, and should have the same normal grid velocity. The tangential grid velocity can, and usually will, be different. Each side of the sliding interface can be composed out of an arbitrary number of surfaces.

SurfaceName

Surface name map.

Time

Time parameters used by a transient solution (required if flow_behavior = transient).

VolumeEntity

Volume entity.

Package Contents

class AdaptiveMeshRefinement

Adaptive Mesh Refinement

to_code() str
boundary_layer_profile: list[BoundaryLayerProfile] = []
final_target_complexity: float = 0

Target Complexity on the final refinement iteration.

initial_target_complexity: float = 0

Target Complexity on the first refinement iteration.

max_refinement_interval: int = 0

Maximum number of solver iterations to perform before waiting for refinement to complete.

meshing_method: luminarycloud.params.enum.MeshingMethod

The method to generate the computational mesh.

refinement_dispatch_interval: int = 0

Number of solver iterations to perform before dispatching refinement.

refinement_iterations: int = 0

Number of refinement iterations to perform.

target_cv_millions: int = 10

User-requested mesh size in millions of control volumes.

user_scaling: float = 1.0

Scale factor between the geometry and the mesh.

class Adjoint

Settings for adjoint sensitivity analysis.

to_code() str
deformed_coords_id: str = ''

Upload ID of the file containing deformed coordinates for design surfaces. Setting this to ‘template’ instructs the solver to output a file with the current surface coordinates.

output: Any | None = None

Function to differentiate.

primal_simulation_id: str = ''

ID of the primal simulation to differentiate.

surfaces: list[str] = []
class BodyFrame

Body frame.

to_code() str
body_frame_id: str = ''

ID of the MotionData frame that defined the body orientation.

class EntityRelationships

Relationships between different entities.

to_code() str
volume_material_relationship: list[VolumeMaterialRelationship] = []

Tracks volume entity(1) -> material entity(1) relationship.

volume_physics_relationship: list[VolumePhysicsRelationship] = []

Tracks volume entity(1) -> physics entity(1) relationship.

class General

Basic parameters used by a solution.

to_code() str
gravity: Gravity

Apply an acceleration due to gravity or other body force.

simulation_type: luminarycloud.params.enum.FloatType

Type of equations solved for the physics.

time: luminarycloud.params.enum.FlowBehavior

Importance of physical time for the current simulation.

class MaterialEntity

Material entity.

to_code() str
fluid: Optional[MaterialFluid] = None

Configuration for Fluid materials

material_identifier: Optional[EntityIdentifier] = None

Unique identifier for a material entity

solid: Optional[MaterialSolid] = None

Configuration for Solid materials

class MonitorPlane

Monitor plane.

to_code() str
box_center: luminarycloud.types.Vector3

Center of the box used to clip the monitor plane.

box_rotation_angles: luminarycloud.types.Vector3

Rotation vector of Euler angles (XYZ order) that transforms the box used to clip the monitor plane.

box_side_lengths: luminarycloud.types.Vector3

Side lengths of the box used to clip the monitor plane.

enable_box_clip: bool = False

Turn on or off the ability to clip a monitor plane using a box.

enable_volume_clip: bool = False

Turn on or off the ability to constrain a monitor plane to specific volumes of the geometry.

id: str = ''
name: str = ''
normal: luminarycloud.types.Vector3

A vector normal to the plane

point: luminarycloud.types.Vector3

A point on the plane

volumes: list[luminarycloud._proto.client.entity_pb2.EntityIdentifier] = []

List of volumes used to clip the monitor plane.

class MotionData

Motion data.

to_code() str
attached_boundaries: list[str] = []

Surfaces that are attached to this frame.

attached_domains: list[str] = []

Domains that are attached to this frame.

frame_id: str = ''

ID of the Coordinate Frame.

frame_name: str = ''

Name of the Coordinate Frame.

frame_parent: str = ''

ID of the parent frame.

frame_transforms: list[FrameTransforms] = []

Type of the Transformation.

motion_type: Optional[MotionType] = None

Type of the Motion.

class MultiPhysicsCouplingOptions

Defines coupling solution strategies between different physics.

to_code() str
mp_coupling_lin_sol_coupling: luminarycloud.params.enum.MpCouplingLinSolCoupling

Turns on the use of enhanced coupling between the physics, which provides greater robustness at the cost of simulation speed.

class Output

Solution output settings.

to_code() str
include_residuals: bool = False

Include the residuals for each equation in the volume solution.

iters_per_output: int = 1000

Number of (pseudo) timesteps between successive full solution output. If ≤0, only the final solution is written.

class ParticleGroup

Particle groups.

to_code() str
id: str = ''
name: str = ''
particle_group_behavior_model_ref: str = ''
particle_group_type: ParticleGroupType

Defines the behavior of the particles.

class Physics

Single physics solver entity.

to_code() str
fluid: Optional[Fluid] = None

Configuration for a fluid flow physics solver - simulates the flow of liquids and gases.

heat: Optional[Heat] = None

Configuration for a heat transfer physics solver - simulates heat transfer in solid media.

physics_identifier: Optional[EntityIdentifier] = None

Unique identifier for a physics entity

class SimulationParam

Simulation configuration that supports multiple physics.

to_code() str
adaptive_mesh_refinement: Optional[AdaptiveMeshRefinement]

Adaptive Mesh Refinement

adjoint: Optional[Adjoint]

Settings for adjoint sensitivity analysis.

basic: Optional[General]

Basic parameters used by a solution.

body_frame: Optional[BodyFrame]

Body frame.

entity_relationships: Optional[EntityRelationships]

Relationships between different entities.

interfaces: list[SlidingInterfaces] = []

Defines the two sides that form a sliding interface. The two sides are abutting, possibly in combination with a periodic transformation, and should have the same normal grid velocity. The tangential grid velocity can, and usually will, be different. Each side of the sliding interface can be composed out of an arbitrary number of surfaces.

materials: list[MaterialEntity] = []

Material entity.

monitor_plane: list[MonitorPlane] = []

Monitor plane.

motion_data: list[MotionData] = []

Motion data.

mp_coupling_options: Optional[MultiPhysicsCouplingOptions]

Defines coupling solution strategies between different physics.

output: Optional[Output]

Solution output settings.

particle_group: list[ParticleGroup] = []

Particle groups.

physics: list[Physics] = []

Single physics solver entity.

surface_name: dict[str, SurfaceName]

Surface name map.

time: Optional[Time]

Time parameters used by a transient solution (required if flow_behavior = transient).

volume_entity: list[VolumeEntity] = []

Volume entity.

class SlidingInterfaces

Defines the two sides that form a sliding interface. The two sides are abutting, possibly in combination with a periodic transformation, and should have the same normal grid velocity. The tangential grid velocity can, and usually will, be different. Each side of the sliding interface can be composed out of an arbitrary number of surfaces.

to_code() str
id: str = ''

ID of the sliding interface

interface_type: luminarycloud.params.enum.InterfaceType

Type of interface treatment

name: str = ''

Name of the sliding interface

surfaces_side_a: list[str] = []

Names of the surfaces of side A of the sliding interface

surfaces_side_b: list[str] = []

Names of the surfaces of side B of the sliding interface

class SurfaceName

Surface name map.

to_code() str
surface_name: str = ''
class Time

Time parameters used by a transient solution (required if flow_behavior = transient).

to_code() str
compute_statistics: ComputeStatistics

Compute time-averaged values of flow variables (e.g. Velocity).

time_marching: TimeMarching

Scheme for time-accurate integration.

time_step: float = 0.0001

The fixed physical time step.

time_step_ramp: TimeStepRamp

Use a larger time step value during the initial transients of a simulation and then ramp linearly towards the target value, to accelerate statistical convergence. Only applicable to transient problems with time implicit integration (dual time stepping).

class VolumeEntity

Volume entity.

to_code() str
volume_identifier: luminarycloud._proto.client.entity_pb2.EntityIdentifier | None = None

Unique identifier for a volume entity