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

boundary_layer_profile: list[BoundaryLayerProfile] = []
final_target_complexity: LcFloat = 0

Target Complexity on the final refinement iteration.

initial_target_complexity: LcFloat = 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: LcFloat = 1.0

Scale factor between the geometry and the mesh.

class Adjoint

Settings for adjoint sensitivity analysis.

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.

body_frame_id: str = ''

ID of the MotionData frame that defined the body orientation.

class EntityRelationships

Relationships between different entities.

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.

gravity: Gravity

Apply an acceleration due to gravity or other body force. Possible types: GravityOff, GravityOn from the gravity module.

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.

fluid: MaterialFluid | None = None

Configuration for Fluid materials.

material_identifier: EntityIdentifier

Unique identifier for a material entity.

solid: MaterialSolid | None = None

Configuration for Solid materials.

class MonitorPlane

Monitor plane.

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.

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. Possible types: NoTransform, RotationalTransform, TranslationalTransform from the frame_transforms module.

motion_type: MotionType | None = None

Type of the Motion. Possible types: ConstantTranslationMotion, ConstantAngularMotion from the motion_type module.

class MultiPhysicsCouplingOptions

Defines coupling solution strategies between different physics.

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.

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.

id: str = ''
name: str = ''
particle_group_behavior_model_ref: str = ''
particle_group_type: ParticleGroupType

Defines the behavior of the particles. Possible types: ActuatorDisk, ActuatorLine, SourcePoints, ProbePoints from the particle_group_type module.

class Physics

Single physics solver entity.

fluid: Fluid | None = None

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

heat: Heat | None = None

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

physics_identifier: EntityIdentifier

Unique identifier for a physics entity.

class SimulationParam

Simulation configuration that supports multiple physics.

adaptive_mesh_refinement: AdaptiveMeshRefinement

Adaptive Mesh Refinement.

adjoint: Adjoint

Settings for adjoint sensitivity analysis.

basic: General

Basic parameters used by a solution.

body_frame: BodyFrame

Body frame.

entity_relationships: 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: MultiPhysicsCouplingOptions | None

Defines coupling solution strategies between different physics.

output: 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: 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.

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.

surface_name: str = ''
class Time

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

compute_statistics: ComputeStatistics

Compute time-averaged values of flow variables (e.g. Velocity). Possible types: ComputeStatisticsOff, ComputeStatisticsOn from the compute_statistics module.

time_marching: TimeMarching

Scheme for time-accurate integration. Possible types: TimeImplicit, TimeExplicit from the time_marching module.

time_step: LcFloat = 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). Possible types: TimeStepRampOff, TimeStepRampOn from the time_step_ramp module.

class VolumeEntity

Volume entity.

volume_identifier: luminarycloud._proto.client.entity_pb2.EntityIdentifier

Unique identifier for a volume entity.