Skip to content
Snippets Groups Projects
Commit b1eb151e authored by Udo Eisenbarth's avatar Udo Eisenbarth :speech_balloon:
Browse files

Merge branch 'main' into ports

parents f5a91e38 ea72589a
No related branches found
No related tags found
No related merge requests found
......@@ -4,3 +4,7 @@ language = "en"
multilingual = false
src = "src"
title = "OPOSSUM Handbook"
[preprocessor.katex]
after = ["links"]
......@@ -4,10 +4,11 @@
- [Goals](./goals.md)
- [Project plan](./plan.md)
- [Existing Software](./existing_software.md)
- [Modelling optical systems](./optical_model.md)
- [Modeling optical systems](./optical_model.md)
- [Nodes](./nodes.md)
- [Edges](./edges.md)
- [Materials](./materials.md)
- [Physical processes, Subsystems and Components](./optical_components_effects.md)
- [Model analysis](./model_analysis.md)
- [Analyzers](./analyzers.md)
- [Interfacing with external code](./interfacing.md)
......
# Subsystems and Components
Modern laser systems are composed of a large number of optical subsystems and individual optical components. For a holistic description of such a system, all these optical components and the structures that are built from these must be modeled. Furthermore, a numerous amount of physical effects/processes must be included to create a realistic view of the full system.
In the following, a, probably not complete, list of relevant effects/processes, subsystems and components for high-intensity lasers will be compiled.
## Physical Effects/Processes
### Second-order nonlinear effects
Second-order nonlinear effects include all processes that result from the response of the second-order susceptibility $\chi^{(2)}$:
* Second-Harmonic Generation (SHG)
* Sum-Frequency Generation (SFG)
* Difference-Frequency Generation (DFG)
* Optical Rectification (OR)
* Optical Parametric Amplification (OPA)
......@@ -18,7 +18,7 @@ impl OpticNode {
/// use opossum::optic_node::OpticNode;
/// use opossum::nodes::NodeDummy;
///
/// let node=OpticNode::new("My node", Box::new(NodeDummy));
/// let node=OpticNode::new("My node", NodeDummy);
/// ```
pub fn new<T: Optical+ 'static>(name: &str, node_type: T) -> Self {
let ports=node_type.ports();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment